From 5a5512aa0ff1b985ea2ea9cb338cdab3e9262c77 Mon Sep 17 00:00:00 2001 From: tophf Date: Fri, 23 Oct 2020 08:27:29 +0300 Subject: [PATCH 001/291] use own implementation of UUIDv4 --- background/style-manager.js | 15 ++++++++++++++- manifest.json | 1 - package-lock.json | 5 ----- package.json | 1 - tools/build-vendor.js | 3 --- vendor/uuid/LICENSE | 21 --------------------- vendor/uuid/README.md | 5 ----- vendor/uuid/uuid.min.js | 1 - 8 files changed, 14 insertions(+), 38 deletions(-) delete mode 100644 vendor/uuid/LICENSE delete mode 100644 vendor/uuid/README.md delete mode 100644 vendor/uuid/uuid.min.js diff --git a/background/style-manager.js b/background/style-manager.js index d772c59b..1af60bef 100644 --- a/background/style-manager.js +++ b/background/style-manager.js @@ -1,6 +1,6 @@ /* eslint no-eq-null: 0, eqeqeq: [2, "smart"] */ /* global createCache db calcStyleDigest db tryRegExp styleCodeEmpty styleSectionGlobal - getStyleWithNoCode msg prefs sync uuidv4 URLS */ + getStyleWithNoCode msg prefs sync URLS */ /* exported styleManager */ 'use strict'; @@ -716,4 +716,17 @@ const styleManager = (() => { return DUMMY_URL; } } + + function uuidv4() { + const seeds = crypto.getRandomValues(new Uint16Array(8)); + // 00001111-2222-M333-N444-555566667777 + seeds[3] = seeds[3] & 0x0FFF | 0x4000; // UUID version 4, M = 4 + seeds[4] = seeds[4] & 0x3FFF | 0x8000; // UUID variant 1, N = 8..0xB + return Array.from(seeds, hex4dashed).join(''); + } + + /** uuidv4 helper: converts to a 4-digit hex string and adds "-" at required positions */ + function hex4dashed(num, i) { + return (num + 0x10000).toString(16).slice(-4) + (i >= 1 && i <= 4 ? '-' : ''); + } })(); diff --git a/manifest.json b/manifest.json index 887160ee..faf9d0ca 100644 --- a/manifest.json +++ b/manifest.json @@ -40,7 +40,6 @@ "js/cache.js", "vendor/semver-bundle/semver.js", "vendor/db-to-cloud/db-to-cloud.min.js", - "vendor/uuid/uuid.min.js", "vendor/webext-launch-web-auth-flow/webext-launch-web-auth-flow.min.js", "background/token-manager.js", "background/sync.js", diff --git a/package-lock.json b/package-lock.json index 86c23d51..bb64deca 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7827,11 +7827,6 @@ "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "uuid": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.1.0.tgz", - "integrity": "sha512-CI18flHDznR0lq54xBycOVmphdCYnQLKn8abKn7PXUiKUGdEd+/l9LWNJmugXel4hXq7S+RMNl34ecyC9TntWg==" - }, "v8-compile-cache": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.1.tgz", diff --git a/package.json b/package.json index f1e83fea..5ede7b19 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,6 @@ "stylelint-bundle": "^8.0.0", "stylus-lang-bundle": "^0.54.5", "usercss-meta": "^0.9.0", - "uuid": "^8.1.0", "webext-launch-web-auth-flow": "^0.1.0" }, "devDependencies": { diff --git a/tools/build-vendor.js b/tools/build-vendor.js index 639a74ab..41279fb2 100644 --- a/tools/build-vendor.js +++ b/tools/build-vendor.js @@ -60,9 +60,6 @@ const files = { 'db-to-cloud': [ 'dist/db-to-cloud.min.js → db-to-cloud.min.js' ], - 'uuid': [ - 'dist/umd/uuidv4.min.js → uuid.min.js' - ], 'webext-launch-web-auth-flow': [ 'dist/webext-launch-web-auth-flow.min.js → webext-launch-web-auth-flow.min.js' ] diff --git a/vendor/uuid/LICENSE b/vendor/uuid/LICENSE deleted file mode 100644 index f8969d33..00000000 --- a/vendor/uuid/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2010-2020 Robert Kieffer and other contributors - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/vendor/uuid/README.md b/vendor/uuid/README.md deleted file mode 100644 index 623fe75e..00000000 --- a/vendor/uuid/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## uuid v8.1.0 - -Following files are copied from npm (node_modules): - -* uuid.min.js: dist\umd\uuidv4.min.js diff --git a/vendor/uuid/uuid.min.js b/vendor/uuid/uuid.min.js deleted file mode 100644 index 61da7182..00000000 --- a/vendor/uuid/uuid.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t=t||self).uuidv4=e()}(this,(function(){"use strict";var t="undefined"!=typeof crypto&&crypto.getRandomValues&&crypto.getRandomValues.bind(crypto)||"undefined"!=typeof msCrypto&&"function"==typeof msCrypto.getRandomValues&&msCrypto.getRandomValues.bind(msCrypto),e=new Uint8Array(16);function n(){if(!t)throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");return t(e)}for(var o=[],r=0;r<256;++r)o.push((r+256).toString(16).substr(1));return function(t,e,r){"string"==typeof t&&(e="binary"===t?new Uint8Array(16):null,t=null);var u=(t=t||{}).random||(t.rng||n)();if(u[6]=15&u[6]|64,u[8]=63&u[8]|128,e){for(var i=r||0,d=0;d<16;++d)e[i+d]=u[d];return e}return function(t,e){var n=e||0,r=o;return(r[t[n+0]]+r[t[n+1]]+r[t[n+2]]+r[t[n+3]]+"-"+r[t[n+4]]+r[t[n+5]]+"-"+r[t[n+6]]+r[t[n+7]]+"-"+r[t[n+8]]+r[t[n+9]]+"-"+r[t[n+10]]+r[t[n+11]]+r[t[n+12]]+r[t[n+13]]+r[t[n+14]]+r[t[n+15]]).toLowerCase()}(u)}})); \ No newline at end of file From 595b037ab1691a4d9a84d942b72ff48a77678f5b Mon Sep 17 00:00:00 2001 From: tophf Date: Fri, 23 Oct 2020 13:36:38 +0300 Subject: [PATCH 002/291] remove unused IS_BG and wrong AMO condition * the user may have allowed access to AMO via about:config * the code was wrong anyway, should be `!FIREFOX` --- js/messaging.js | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) diff --git a/js/messaging.js b/js/messaging.js index 632b2116..fb898aef 100644 --- a/js/messaging.js +++ b/js/messaging.js @@ -77,7 +77,7 @@ const URLS = { RegExp.$1, supported: url => ( - url.startsWith('http') && (FIREFOX || !url.startsWith(URLS.browserWebStore)) || + url.startsWith('http') || url.startsWith('ftp') || url.startsWith('file') || url.startsWith(URLS.ownOrigin) || @@ -85,26 +85,13 @@ const URLS = { ), }; -const IS_BG = chrome.extension.getBackgroundPage && chrome.extension.getBackgroundPage() === window; - -if (!IS_BG) { - if (FIREFOX) { - document.documentElement.classList.add('firefox'); - } else if (OPERA) { - document.documentElement.classList.add('opera'); - } else { - if (VIVALDI) document.documentElement.classList.add('vivaldi'); - } -} - -if (IS_BG) { +if (chrome.extension.getBackgroundPage && chrome.extension.getBackgroundPage() === window) { window.API_METHODS = {}; +} else { + const cls = FIREFOX ? 'firefox' : OPERA ? 'opera' : VIVALDI ? 'vivaldi' : ''; + if (cls) document.documentElement.classList.add(cls); } -// FIXME: `localStorage` and `sessionStorage` may be disabled via dom.storage.enabled -// Object.defineProperty(window, 'localStorage', {value: {}}); -// Object.defineProperty(window, 'sessionStorage', {value: {}}); - promisifyChrome({ tabs: ['create', 'get', 'getCurrent', 'move', 'query', 'update'], windows: ['create', 'update'], // Android doesn't have chrome.windows From 8598b71a739dfbed470c135a82f515aa0a616621 Mon Sep 17 00:00:00 2001 From: narcolepticinsomniac Date: Fri, 23 Oct 2020 09:51:46 -0400 Subject: [PATCH 003/291] Options tweaks (#1077) * Options tweaks * account for last-child change --- options.html | 466 ++++++++++++++++++++++---------------------- options/options.css | 44 ++++- options/options.js | 6 +- 3 files changed, 273 insertions(+), 243 deletions(-) diff --git a/options.html b/options.html index 00f8c8b4..c7459a43 100644 --- a/options.html +++ b/options.html @@ -41,243 +41,247 @@
-
-

-
- -
-
+
-
-

-
- - -
-
- -
-

-
- - - -
-
- -
-

-
- - - - - - -
-
- -
-

-
- - - - -
-
- -
-

-
- -
-
- -
-

-
-
- -
- - +
+

+
+
+
-
- - - - +
+ +
+

+
+ + +
+
+ +
+

+
+ + + +
+
+ +
+

+
+ + + + + + +
+
+ +
+

+
+ + + + +
+
+ +
+

+
+ +
+
+ +
+

+
+
+ +
+ + +
+
+
+ + + + +
+
+
+ +
+ +
+ + +
-
-
- -
- - - -
diff --git a/options/options.css b/options/options.css index 9cd7032e..ff199c6a 100644 --- a/options/options.css +++ b/options/options.css @@ -27,9 +27,38 @@ body.scaleout { #options { background: #fff; + display: flex; + flex-direction: column; + overflow: hidden; +} + +.options-wrapper { overflow-y: auto; } +a { + color: #000; + transition: color .5s; +} + +a:hover { + color: #666; +} + +.svg-icon { + fill: #666; + transition: fill .5s; +} + +a:hover .svg-icon, +.svg-icon:hover { + fill: #000; +} + +.svg-inline-wrapper .svg-icon { + pointer-events: none; +} + #options-close-icon .svg-icon { fill: #666; transition: fill .5s; @@ -91,13 +120,9 @@ body.scaleout { position: relative; } -.block:nth-last-child(2) { +.options-wrapper .block:last-child { margin-bottom: 0; -} - -.block:last-child { border-bottom: none; - padding-bottom: 0; } .collapsed, .collapsible h1 { @@ -139,15 +164,16 @@ label, label > :first-child { margin-right: 8px; flex-grow: 1; + transition: text-shadow: .1s; } -label:not([disabled]) > :first-child { - cursor: default; +label:not([disabled]), +label:not([disabled]) :not([type="number"]) { + cursor: pointer; } label:not([disabled]):hover > :first-child { text-shadow: 0 0 0.01px rgba(0, 0, 0, .25); - cursor: pointer; } input[type=number], @@ -201,6 +227,8 @@ input[type="color"] { white-space: nowrap; background-color: rgba(0, 0, 0, .05); margin: 0; + border-top: 1px solid #999; + border-bottom: none; } #actions button { diff --git a/options/options.js b/options/options.js index 2fc0dd81..d3d3ab01 100644 --- a/options/options.js +++ b/options/options.js @@ -245,6 +245,7 @@ function setupRadioButtons() { function splitLongTooltips() { for (const el of $$('[title]')) { + el.dataset.title = el.title; if (el.title.length < 50) { continue; } @@ -253,10 +254,7 @@ function splitLongTooltips() { .map(s => s.replace(/([^.][.。?!]|.{50,60},)\s+/g, '$1\n')) .map(s => s.replace(/(.{50,80}(?=.{40,}))\s+/g, '$1\n')) .join('\n'); - if (newTitle !== el.title) { - el.dataset.title = el.title; - el.title = newTitle; - } + if (newTitle !== el.title) el.title = newTitle; } } From 2af83ee84670938c5dc264d1229d09fb0ead1d22 Mon Sep 17 00:00:00 2001 From: tophf Date: Fri, 23 Oct 2020 19:41:20 +0300 Subject: [PATCH 004/291] remove more -webkit- prefixes --- edit/edit.css | 2 +- install-usercss/install-usercss.css | 8 -------- vendor-overwrites/colorpicker/colorpicker.css | 10 ---------- 3 files changed, 1 insertion(+), 19 deletions(-) diff --git a/edit/edit.css b/edit/edit.css index 9e385382..ffd56f7e 100644 --- a/edit/edit.css +++ b/edit/edit.css @@ -384,7 +384,7 @@ body:not(.find-open) [data-match-highlight-count="1"] .cm-matchhighlight, body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-highlight-scrollbar { animation: none; } -@-webkit-keyframes highlight { +@keyframes highlight { from { background-color: #ff9; } diff --git a/install-usercss/install-usercss.css b/install-usercss/install-usercss.css index e37cd2fb..8e1fd73f 100644 --- a/install-usercss/install-usercss.css +++ b/install-usercss/install-usercss.css @@ -385,14 +385,6 @@ label { transform: rotate(330deg); animation-delay: 0s; } -@-webkit-keyframes load3 { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} @keyframes load3 { 0% { transform: rotate(0deg); diff --git a/vendor-overwrites/colorpicker/colorpicker.css b/vendor-overwrites/colorpicker/colorpicker.css index 6ddfb97f..965c00d9 100644 --- a/vendor-overwrites/colorpicker/colorpicker.css +++ b/vendor-overwrites/colorpicker/colorpicker.css @@ -160,8 +160,6 @@ top: 17px; width: 30px; height: 30px; - -webkit-border-radius: 50%; - -moz-border-radius: 50%; border-radius: 50%; box-sizing: border-box; border: 1px solid var(--input-border-color); @@ -175,8 +173,6 @@ position: relative; padding: 6px 12px; margin: 0 0 0 45px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; box-sizing: border-box; } @@ -193,8 +189,6 @@ position: relative; padding: 3px 12px; margin: 0 0 0 45px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; box-sizing: border-box; } @@ -218,8 +212,6 @@ left: -3px; width: 12px; height: 12px; - -webkit-border-radius: 50px; - -moz-border-radius: 50px; border-radius: 50px; border: 1px solid rgba(0, 0, 0, 0.5); box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.1); @@ -234,8 +226,6 @@ display: none; position: relative; padding: 0 5px; - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; box-sizing: border-box; margin-right: calc(var(--switcher-width) - 10px); } From 3a615e4e06446b83dba1634283a2f7f756c6be51 Mon Sep 17 00:00:00 2001 From: tophf Date: Fri, 23 Oct 2020 22:35:14 +0300 Subject: [PATCH 005/291] CodeMirror 5.58.2 --- package-lock.json | 6 +++--- package.json | 2 +- vendor/codemirror/README.md | 2 +- vendor/codemirror/lib/codemirror.js | 9 +++++---- vendor/codemirror/mode/css/css.js | 7 ++++--- vendor/codemirror/mode/javascript/javascript.js | 4 ++-- vendor/codemirror/mode/stylus/stylus.js | 3 ++- 7 files changed, 18 insertions(+), 15 deletions(-) diff --git a/package-lock.json b/package-lock.json index bb64deca..d871fa70 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1917,9 +1917,9 @@ "dev": true }, "codemirror": { - "version": "5.58.0", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.0.tgz", - "integrity": "sha512-OUK+7EgaYnLyC0F09UWjckLWvviy02IDDGTW5Zmj60a3gdGnFtUM6rVsqrfl5+YSylQVQBNfAGG4KF7tQOb4/Q==" + "version": "5.58.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.58.2.tgz", + "integrity": "sha512-K/hOh24cCwRutd1Mk3uLtjWzNISOkm4fvXiMO7LucCrqbh6aJDdtqUziim3MZUI6wOY0rvY1SlL1Ork01uMy6w==" }, "collection-visit": { "version": "1.0.0", diff --git a/package.json b/package.json index 5ede7b19..d45040db 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "repository": "openstyles/stylus", "author": "Stylus Team", "dependencies": { - "codemirror": "^5.58.0", + "codemirror": "^5.58.2", "db-to-cloud": "^0.4.5", "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", diff --git a/vendor/codemirror/README.md b/vendor/codemirror/README.md index 9b880841..eae60b0e 100644 --- a/vendor/codemirror/README.md +++ b/vendor/codemirror/README.md @@ -1,4 +1,4 @@ -## codemirror v5.58.0 +## codemirror v5.58.2 Following files are copied from npm (node_modules): diff --git a/vendor/codemirror/lib/codemirror.js b/vendor/codemirror/lib/codemirror.js index 30f166a1..5c464cb0 100644 --- a/vendor/codemirror/lib/codemirror.js +++ b/vendor/codemirror/lib/codemirror.js @@ -3479,14 +3479,15 @@ if (newTop != screentop) { result.scrollTop = newTop; } } - var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft; - var screenw = displayWidth(cm) - (cm.options.fixedGutter ? display.gutters.offsetWidth : 0); + var gutterSpace = cm.options.fixedGutter ? 0 : display.gutters.offsetWidth; + var screenleft = cm.curOp && cm.curOp.scrollLeft != null ? cm.curOp.scrollLeft : display.scroller.scrollLeft - gutterSpace; + var screenw = displayWidth(cm) - display.gutters.offsetWidth; var tooWide = rect.right - rect.left > screenw; if (tooWide) { rect.right = rect.left + screenw; } if (rect.left < 10) { result.scrollLeft = 0; } else if (rect.left < screenleft) - { result.scrollLeft = Math.max(0, rect.left - (tooWide ? 0 : 10)); } + { result.scrollLeft = Math.max(0, rect.left + gutterSpace - (tooWide ? 0 : 10)); } else if (rect.right > screenw + screenleft - 3) { result.scrollLeft = rect.right + (tooWide ? 0 : 10) - screenw; } return result @@ -9781,7 +9782,7 @@ addLegacyProps(CodeMirror); - CodeMirror.version = "5.58.0"; + CodeMirror.version = "5.58.2"; return CodeMirror; diff --git a/vendor/codemirror/mode/css/css.js b/vendor/codemirror/mode/css/css.js index 77ca0c10..240c270a 100644 --- a/vendor/codemirror/mode/css/css.js +++ b/vendor/codemirror/mode/css/css.js @@ -29,7 +29,8 @@ CodeMirror.defineMode("css", function(config, parserConfig) { valueKeywords = parserConfig.valueKeywords || {}, allowNested = parserConfig.allowNested, lineComment = parserConfig.lineComment, - supportsAtComponent = parserConfig.supportsAtComponent === true; + supportsAtComponent = parserConfig.supportsAtComponent === true, + highlightNonStandardPropertyKeywords = config.highlightNonStandardPropertyKeywords !== false; var type, override; function ret(style, tp) { type = tp; return style; } @@ -197,7 +198,7 @@ CodeMirror.defineMode("css", function(config, parserConfig) { override = "property"; return "maybeprop"; } else if (nonStandardPropertyKeywords.hasOwnProperty(word)) { - override = "string-2"; + override = highlightNonStandardPropertyKeywords ? "string-2" : "property"; return "maybeprop"; } else if (allowNested) { override = stream.match(/^\s*:(?:\s|$)/, false) ? "property" : "tag"; @@ -291,7 +292,7 @@ CodeMirror.defineMode("css", function(config, parserConfig) { else if (propertyKeywords.hasOwnProperty(word)) override = "property"; else if (nonStandardPropertyKeywords.hasOwnProperty(word)) - override = "string-2"; + override = highlightNonStandardPropertyKeywords ? "string-2" : "property"; else if (valueKeywords.hasOwnProperty(word)) override = "atom"; else if (colorKeywords.hasOwnProperty(word)) diff --git a/vendor/codemirror/mode/javascript/javascript.js b/vendor/codemirror/mode/javascript/javascript.js index 66e5a308..63eaa241 100644 --- a/vendor/codemirror/mode/javascript/javascript.js +++ b/vendor/codemirror/mode/javascript/javascript.js @@ -126,7 +126,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { var kw = keywords[word] return ret(kw.type, kw.style, word) } - if (word == "async" && stream.match(/^(\s|\/\*.*?\*\/)*[\[\(\w]/, false)) + if (word == "async" && stream.match(/^(\s|\/\*([^*]|\*(?!\/))*?\*\/)*[\[\(\w]/, false)) return ret("async", "keyword", word) } return ret("variable", "variable", word) @@ -868,7 +868,7 @@ CodeMirror.defineMode("javascript", function(config, parserConfig) { }, indent: function(state, textAfter) { - if (state.tokenize == tokenComment) return CodeMirror.Pass; + if (state.tokenize == tokenComment || state.tokenize == tokenQuasi) return CodeMirror.Pass; if (state.tokenize != tokenBase) return 0; var firstChar = textAfter && textAfter.charAt(0), lexical = state.lexical, top // Kludge to prevent 'maybelse' from blocking lexical scope pops diff --git a/vendor/codemirror/mode/stylus/stylus.js b/vendor/codemirror/mode/stylus/stylus.js index 653958e8..281118ef 100644 --- a/vendor/codemirror/mode/stylus/stylus.js +++ b/vendor/codemirror/mode/stylus/stylus.js @@ -731,7 +731,8 @@ var tagKeywords_ = ["a","abbr","address","area","article","aside","audio", "b", "base","bdi", "bdo","bgsound","blockquote","body","br","button","canvas","caption","cite", "code","col","colgroup","data","datalist","dd","del","details","dfn","div", "dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1", "h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe", "img","input","ins","kbd","keygen","label","legend","li","link","main","map", "mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes", "noscript","object","ol","optgroup","option","output","p","param","pre", "progress","q","rp","rt","ruby","s","samp","script","section","select", "small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track", "u","ul","var","video"]; // github.com/codemirror/CodeMirror/blob/master/mode/css/css.js - var documentTypes_ = ["domain", "regexp", "url", "url-prefix"]; + // Note, "url-prefix" should precede "url" in order to match correctly in documentTypesRegexp + var documentTypes_ = ["domain", "regexp", "url-prefix", "url"]; var mediaTypes_ = ["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"]; var mediaFeatures_ = ["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid"]; var propertyKeywords_ = ["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"]; From 5ba111dce988fa546db27346391dfdc6e134ef14 Mon Sep 17 00:00:00 2001 From: tophf Date: Sat, 24 Oct 2020 13:18:17 +0300 Subject: [PATCH 006/291] update parserlib * min(), max(), clamp(), also in @media * add/fix some props and units * handle `attr()` * use lowerCmp() * approve functions with USO vars --- vendor-overwrites/csslint/parserlib.js | 927 +++++++++++++------------ 1 file changed, 473 insertions(+), 454 deletions(-) diff --git a/vendor-overwrites/csslint/parserlib.js b/vendor-overwrites/csslint/parserlib.js index 60ffc3a1..b8a631fd 100644 --- a/vendor-overwrites/csslint/parserlib.js +++ b/vendor-overwrites/csslint/parserlib.js @@ -74,6 +74,8 @@ self.parserlib = (() => { dpi: 'resolution', dpcm: 'resolution', + dppx: 'resolution', + x: 'resolution', ar: 'dimension', }; @@ -105,51 +107,55 @@ self.parserlib = (() => { 'animation-play-state': '[ running | paused ]#', 'animation-timing-function': '#', - 'appearance': 'none | auto', - '-moz-appearance': 'none | button | button-arrow-down | button-arrow-next | button-arrow-previous | ' + - 'button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | ' + - 'checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | ' + - 'menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | ' + - 'menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | ' + - 'menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | ' + - 'progresschunk | progresschunk-vertical | radio | radio-container | radio-label | ' + - 'radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | ' + - 'scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | ' + - 'scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | ' + - 'scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | ' + - 'scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | ' + - 'searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | ' + - 'spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | ' + - 'tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | ' + - 'toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | ' + - 'treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | ' + - 'treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | ' + - '-moz-win-browsertabbar-toolbox | -moz-win-communicationstext | ' + - '-moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | ' + - '-moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | ' + - '-moz-window-button-box-maximized | -moz-window-button-close | ' + - '-moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | ' + - '-moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | ' + - '-moz-window-titlebar | -moz-window-titlebar-maximized', - '-ms-appearance': 'none | icon | window | desktop | workspace | document | tooltip | dialog | button | ' + - 'push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | ' + - 'menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | ' + - 'outline-tree | range | field | combo-box | signature | password | normal', - '-webkit-appearance': 'none | button | button-bevel | caps-lock-indicator | caret | checkbox | ' + - 'default-button | listbox | listitem | media-fullscreen-button | media-mute-button | ' + - 'media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | ' + - 'media-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | ' + - 'push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | ' + - 'searchfield-results-button | searchfield-results-decoration | slider-horizontal | ' + - 'slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | ' + - 'textarea | textfield | scrollbarbutton-down | scrollbarbutton-left | ' + - 'scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | ' + - 'scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | ' + - 'scrollbartrack-horizontal | scrollbartrack-vertical', - '-o-appearance': 'none | window | desktop | workspace | document | tooltip | dialog | button | ' + - 'push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | ' + - 'menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | ' + - 'outline-tree | range | field | combo-box | signature | password | normal', + 'appearance': 'none | auto', + '-moz-appearance': + 'none | button | button-arrow-down | button-arrow-next | button-arrow-previous | ' + + 'button-arrow-up | button-bevel | button-focus | caret | checkbox | checkbox-container | ' + + 'checkbox-label | checkmenuitem | dualbutton | groupbox | listbox | listitem | ' + + 'menuarrow | menubar | menucheckbox | menuimage | menuitem | menuitemtext | menulist | ' + + 'menulist-button | menulist-text | menulist-textfield | menupopup | menuradio | ' + + 'menuseparator | meterbar | meterchunk | progressbar | progressbar-vertical | ' + + 'progresschunk | progresschunk-vertical | radio | radio-container | radio-label | ' + + 'radiomenuitem | range | range-thumb | resizer | resizerpanel | scale-horizontal | ' + + 'scalethumbend | scalethumb-horizontal | scalethumbstart | scalethumbtick | ' + + 'scalethumb-vertical | scale-vertical | scrollbarbutton-down | scrollbarbutton-left | ' + + 'scrollbarbutton-right | scrollbarbutton-up | scrollbarthumb-horizontal | ' + + 'scrollbarthumb-vertical | scrollbartrack-horizontal | scrollbartrack-vertical | ' + + 'searchfield | separator | sheet | spinner | spinner-downbutton | spinner-textfield | ' + + 'spinner-upbutton | splitter | statusbar | statusbarpanel | tab | tabpanel | tabpanels | ' + + 'tab-scroll-arrow-back | tab-scroll-arrow-forward | textfield | textfield-multiline | ' + + 'toolbar | toolbarbutton | toolbarbutton-dropdown | toolbargripper | toolbox | tooltip | ' + + 'treeheader | treeheadercell | treeheadersortarrow | treeitem | treeline | treetwisty | ' + + 'treetwistyopen | treeview | -moz-mac-unified-toolbar | -moz-win-borderless-glass | ' + + '-moz-win-browsertabbar-toolbox | -moz-win-communicationstext | ' + + '-moz-win-communications-toolbox | -moz-win-exclude-glass | -moz-win-glass | ' + + '-moz-win-mediatext | -moz-win-media-toolbox | -moz-window-button-box | ' + + '-moz-window-button-box-maximized | -moz-window-button-close | ' + + '-moz-window-button-maximize | -moz-window-button-minimize | -moz-window-button-restore | ' + + '-moz-window-frame-bottom | -moz-window-frame-left | -moz-window-frame-right | ' + + '-moz-window-titlebar | -moz-window-titlebar-maximized', + '-ms-appearance': + 'none | icon | window | desktop | workspace | document | tooltip | dialog | button | ' + + 'push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | ' + + 'menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | ' + + 'outline-tree | range | field | combo-box | signature | password | normal', + '-webkit-appearance': + 'auto | none | button | button-bevel | caps-lock-indicator | caret | checkbox | ' + + 'default-button | listbox | listitem | media-fullscreen-button | media-mute-button | ' + + 'media-play-button | media-seek-back-button | media-seek-forward-button | media-slider | ' + + 'media-sliderthumb | menulist | menulist-button | menulist-text | menulist-textfield | ' + + 'push-button | radio | searchfield | searchfield-cancel-button | searchfield-decoration | ' + + 'searchfield-results-button | searchfield-results-decoration | slider-horizontal | ' + + 'slider-vertical | sliderthumb-horizontal | sliderthumb-vertical | square-button | ' + + 'textarea | textfield | scrollbarbutton-down | scrollbarbutton-left | ' + + 'scrollbarbutton-right | scrollbarbutton-up | scrollbargripper-horizontal | ' + + 'scrollbargripper-vertical | scrollbarthumb-horizontal | scrollbarthumb-vertical | ' + + 'scrollbartrack-horizontal | scrollbartrack-vertical', + '-o-appearance': + 'none | window | desktop | workspace | document | tooltip | dialog | button | ' + + 'push-button | hyperlink | radio | radio-button | checkbox | menu-item | tab | menu | ' + + 'menubar | pull-down-menu | pop-up-menu | list-menu | radio-group | checkbox-group | ' + + 'outline-tree | range | field | combo-box | signature | password | normal', 'azimuth': '', @@ -176,7 +182,7 @@ self.parserlib = (() => { 'bookmark-label': '', 'bookmark-level': 'none | ', 'bookmark-state': 'open | closed', - 'bookmark-target': 'none | | attr()', + 'bookmark-target': 'none | ', 'border-bottom-left-radius': '', 'border-bottom-right-radius': '', @@ -246,10 +252,12 @@ self.parserlib = (() => { 'column-width': ' | auto', 'columns': 1, 'contain': 'none | strict | content | [ size || layout || style || paint ]', + 'contain-intrinsic-size': 'none | {1,2}', 'content': 'normal | none | [ / ]?', 'content-visibility': 'visible | auto | hidden', - 'counter-increment': 1, - 'counter-reset': 1, + 'counter-increment': '', + 'counter-reset': '', + 'counter-set': '', 'crop': 'rect() | inset-rect() | auto', 'cue': 'cue-after | cue-before', 'cue-after': 1, @@ -374,8 +382,8 @@ self.parserlib = (() => { // I 'icon': 1, - 'image-orientation': 'angle | auto', - 'image-rendering': 'auto | optimizeSpeed | optimizeQuality', + 'image-orientation': 'from-image | none | [ || flip ]', + 'image-rendering': 'auto | smooth | high-quality | crisp-edges | pixelated | optimizeSpeed | optimizeQuality', 'image-resolution': 1, 'ime-mode': 'auto | normal | active | inactive | disabled', 'inline-box-align': 'last | ', @@ -410,9 +418,10 @@ self.parserlib = (() => { 'list-style': 1, 'list-style-image': ' | none', 'list-style-position': 'inside | outside', - 'list-style-type': 'disc | circle | square | decimal | decimal-leading-zero | lower-roman | ' + - 'upper-roman | lower-greek | lower-latin | upper-latin | armenian | ' + - 'georgian | lower-alpha | upper-alpha | none', + 'list-style-type': + ' | disc | circle | square | decimal | decimal-leading-zero | lower-roman | ' + + 'upper-roman | lower-greek | lower-latin | upper-latin | armenian | ' + + 'georgian | lower-alpha | upper-alpha | none', // M 'margin': '{1,4}', @@ -461,7 +470,7 @@ self.parserlib = (() => { // O 'object-fit': 'fill | contain | cover | none | scale-down', 'object-position': '', - 'opacity': '', + 'opacity': ' | ', 'order': '', 'orphans': '', 'outline': '[ | invert ] || [ auto | ] || ', @@ -702,19 +711,22 @@ self.parserlib = (() => { //endregion //region ValidationTypes - definitions + const RX_VENDOR_PREFIX = /^-(webkit|moz|ms|o)-(.+)/i; + const RX_CALC = /^(-(ms|moz|o|webkit)-)?(calc|min|max|clamp)\(/i; + const ValidationTypes = { simple: { '': 'xx-small | x-small | small | medium | large | x-large | xx-large', '': 'scroll-position | contents | ', - '': function (part) { + ''(part) { return this[''](part) && !/^(unset|initial|inherit|will-change|auto|scroll-position|contents)$/i.test(part); }, '': part => part.type === 'angle', - '': part => part.units && lower(part.units) === 'ar', + '': part => part.units && lowerCmp(part.units, 'ar'), '': part => !/\battr\(/i.test(part.text), @@ -804,9 +816,12 @@ self.parserlib = (() => { '': part => (part.type === 'identifier' || part.wasIdent) && !/^(span|auto|initial|inherit|unset|default)$/i.test(part.value), - '': function (part) { + ''(part) { return this[''](part) && !this[''](part); }, + ''(part) { + return this[''](part) && !lowerCmp(part.value, 'none'); + }, '': ' | | cross-fade()', @@ -814,12 +829,12 @@ self.parserlib = (() => { '': part => part.type === 'integer', - '': part => - part.type === 'function' && /^(?:-(?:ms|moz|o|webkit)-)?calc/i.test(part) || - part.type === 'length' || - part.type === 'number' || - part.type === 'integer' || - part.text === '0', + '': ({text, type}) => + type === 'function' && RX_CALC.test(text) || + type === 'length' || + type === 'number' || + type === 'integer' || + text === '0', '': ' | ', @@ -827,7 +842,7 @@ self.parserlib = (() => { '': ' | | normal', - '': function (part) { + ''(part) { // eslint-disable-next-line no-use-before-define return part.tokenType === Tokens.LBRACKET && part.text.endsWith(']') && ( @@ -837,33 +852,35 @@ self.parserlib = (() => { ); }, - '': function (part) { + ''(part) { return this[''](part) && part.value >= 1; }, - '': function (part) { - return (this[''](part) || this[''](part)) && - (String(part) === '0' || part.type === 'function' || (part.value) >= 0); + ''(part) { + return `${part}` === '0' || + (part.type === 'function' || part.value >= 0) && + (this[''](part) || this[''](part)); }, - '': function (part) { - return (this[''](part) || this[''](part)) && - (String(part) === '0' || part.type === 'function' || (part.value) >= 0); + ''(part) { + return `${part}` === '0' || + (part.type === 'function' || part.value >= 0) && + (this[''](part) || this[''](part)); }, '': ' | ', - '': function (part) { + ''(part) { return this[''](part) && (part.type === 'function' || part.value > 0); }, //eslint-disable-next-line no-use-before-define - '': part => lower(part.text) in Colors, + '': part => part.text in Colors || lower(part.text) in Colors, - '': function (part) { + ''(part) { return part.type === 'number' || this[''](part); }, - '': function (part) { + ''(part) { return this[''](part) && part.value >= 0 && part.value <= 1; }, @@ -873,7 +890,7 @@ self.parserlib = (() => { '': '', - '': part => part.type === 'percentage' || String(part) === '0', + '': part => part.type === 'percentage' || `${part}` === '0', '': 'smaller | larger', @@ -885,7 +902,7 @@ self.parserlib = (() => { '': 'normal | reverse | alternate | alternate-reverse', '': 'none | forwards | backwards | both', - '': function (part) { + ''(part) { return this[''](part) && /^-?[a-z_][-a-z0-9_]+$/i.test(part) && !/^(none|unset|initial|inherit)$/i.test(part); @@ -910,7 +927,7 @@ self.parserlib = (() => { '': part => /^U\+[0-9a-f?]{1,6}(-[0-9a-f?]{1,6})?\s*$/i.test(part), - '': part => part.text === '%' || lower(part) in UNITS, + '': part => part.text === '%' || part in UNITS || lower(part) in UNITS, '': part => part.type === 'uri', @@ -918,15 +935,11 @@ self.parserlib = (() => { //eslint-disable-next-line no-use-before-define if (part.tokenType === Tokens.USO_VAR) return true; if (part.type !== 'function' || !part.expr) return false; - const subparts = part.expr.parts; - if (!subparts.length) return false; - const name = lower(part.name); - return ( - name === 'var' && subparts[0].type === 'custom-property' || - name === 'env' && subparts[0].type === 'identifier' - ) && ( - subparts.length === 1 || - subparts[1].text === ',' + const sp = part.expr.parts; + return sp.length && ( + (sp.length === 1 || sp[1].text === ',') && + (sp[0].type === 'custom-property' && /^var$/i.test(part.name) || + sp[0].type === 'identifier' && /^env$/i.test(part.name)) ); }, @@ -991,6 +1004,8 @@ self.parserlib = (() => { '[ open-quote | close-quote | no-open-quote | no-close-quote ] | ' + '[ target-counter() | target-counters() | target-text() ] ]+', + '': '[ ? ]+ | none', + // "list of comma and/or white space separated s and // s". There is a non-negative constraint. '': Matcher => @@ -1367,6 +1382,19 @@ self.parserlib = (() => { window: '', windowframe: '', windowtext: '', + + // CSS4 system colors, only additions to the above + // https://drafts.csswg.org/css-color-4/#css-system-colors + activetext: '', + buttonborder: '', + canvas: '', + canvastext: '', + field: '', + fieldtext: '', + linktext: '', + mark: '', + marktext: '', + visitedtext: '', }; //endregion @@ -1525,13 +1553,129 @@ self.parserlib = (() => { Tokens.name = index => (Tokens[index] || {}).name; Tokens.type = text => typeMap.get(text) || -1; + const TT = { + attrMatch: [ + Tokens.PREFIXMATCH, + Tokens.SUFFIXMATCH, + Tokens.SUBSTRINGMATCH, + Tokens.EQUALS, + Tokens.INCLUDES, + Tokens.DASHMATCH, + ], + combinator: [ + Tokens.PLUS, + Tokens.GREATER, + Tokens.TILDE, + Tokens.COLUMN, + ], + cruft: [ + Tokens.S, + Tokens.CDO, + Tokens.CDC, + ], + expression: [ + Tokens.PLUS, + Tokens.MINUS, + Tokens.DIMENSION, + Tokens.NUMBER, + Tokens.STRING, + Tokens.IDENT, + Tokens.LENGTH, + Tokens.FREQ, + Tokens.ANGLE, + Tokens.TIME, + Tokens.RESOLUTION, + Tokens.SLASH, + ], + identString: [ + Tokens.IDENT, + Tokens.STRING, + ], + identCustom: [ + Tokens.IDENT, + Tokens.CUSTOM_PROP, + ], + LParenBracket: [ + Tokens.LPAREN, + Tokens.LBRACKET, + ], + LParenBracketBrace: [ + Tokens.LPAREN, + Tokens.LBRACKET, + Tokens.LBRACE, + ], + margins: [ + Tokens.TOPLEFTCORNER_SYM, + Tokens.TOPLEFT_SYM, + Tokens.TOPCENTER_SYM, + Tokens.TOPRIGHT_SYM, + Tokens.TOPRIGHTCORNER_SYM, + Tokens.BOTTOMLEFTCORNER_SYM, + Tokens.BOTTOMLEFT_SYM, + Tokens.BOTTOMCENTER_SYM, + Tokens.BOTTOMRIGHT_SYM, + Tokens.BOTTOMRIGHTCORNER_SYM, + Tokens.LEFTTOP_SYM, + Tokens.LEFTMIDDLE_SYM, + Tokens.LEFTBOTTOM_SYM, + Tokens.RIGHTTOP_SYM, + Tokens.RIGHTMIDDLE_SYM, + Tokens.RIGHTBOTTOM_SYM, + ], + op: [ + Tokens.SLASH, + Tokens.COMMA, + ], + opInFunc: [ + Tokens.SLASH, + Tokens.COMMA, + Tokens.PLUS, + Tokens.STAR, + Tokens.MINUS, + ], + ns: [ + Tokens.IDENT, + Tokens.STAR, + ], + plusMinus: [ + Tokens.MINUS, + Tokens.PLUS, + ], + stringUri: [ + Tokens.STRING, + Tokens.URI, + ], + term: [ + Tokens.NUMBER, + Tokens.PERCENTAGE, + Tokens.LENGTH, + Tokens.ANGLE, + Tokens.TIME, + Tokens.DIMENSION, + Tokens.FREQ, + Tokens.STRING, + Tokens.IDENT, + Tokens.URI, + Tokens.UNICODE_RANGE, + Tokens.USO_VAR, + ], + usoS: [ + Tokens.USO_VAR, + Tokens.S, + ], + }; + TT.termVar = [ + ...TT.term, + Tokens.CUSTOM_PROP, + ]; + //endregion //region lowerCase helper const lowercaseCache = new Map(); function lower(text) { - if (typeof text !== 'string') text = String(text); + if (typeof text !== 'string') text = `${text}`; let result = lowercaseCache.get(text); if (result) return result; result = text.toLowerCase(); @@ -1539,6 +1683,10 @@ self.parserlib = (() => { return result; } + function lowerCmp(a, b) { + return a.length === b.length && (a === b || lower(a) === lower(b)); + } + //endregion //region StringReader @@ -1681,7 +1829,7 @@ self.parserlib = (() => { /** Simple recursive-descent grammar to build matchers from strings. */ static doParse(str) { const reader = new StringReader(str); - const result = Matcher.grammarParser.parse(reader); + const result = Matcher.parseGrammar(reader); if (!reader.eof()) { throw new Error(`Internal error. Expected end of string ${reader._line}:${reader._col}.`); } @@ -1744,16 +1892,12 @@ self.parserlib = (() => { static oror(...args) { return Matcher.many(false, ...args); } - - match(expression) { - expression.mark(); - const result = this.matchFunc(expression); - if (result) { - expression.drop(); - } else { - expression.restore(); - } - return result; + /** + * @param {PropertyValueIterator} e + * @return {?boolean} + */ + match(e) { + return e.popMark(this.matchFunc(e.mark())); } // Basic combinators @@ -1792,22 +1936,22 @@ self.parserlib = (() => { } braces(min, max, marker, optSep) { - optSep = optSep && optSep.then(this); - if (!marker || marker === '#') { - marker = (marker || '') + '{' + min + (min === max ? '' : ',' + max) + '}'; + if (optSep) { + optSep = optSep.then(this); } - - const matchNext = !optSep - ? expression => this.match(expression) - : (expression, i) => (!i ? this : optSep).match(expression); - - const matchFunc = expression => { + if (!marker || marker === '#') { + marker = `${marker || ''}{${min}${min === max ? '' : ',' + max}}`; + } + const bracesMatch = expression => { let i = 0; - while (i < max && matchNext(expression, i)) i++; + while (i < max && (i && optSep || this).match(expression)) { + i++; + } return i >= min; }; - - return new Matcher(matchFunc, () => this.toString(Matcher.prec.MOD) + marker); + const bracesToString = () => + this.toString(Matcher.prec.MOD) + marker; + return new Matcher(bracesMatch, bracesToString); } } @@ -1823,10 +1967,7 @@ self.parserlib = (() => { Matcher.matchFunc = { alt(expression) { - for (const m of this.options) { - if (m.match(expression)) return true; - } - return false; + return this.options.some(m => m.match(expression)); }, fromType(expr) { @@ -1834,10 +1975,7 @@ self.parserlib = (() => { }, seq(expression) { - for (const m of this.options) { - if (!m.match(expression)) return false; - } - return true; + return this.options.every(m => m.match(expression)); }, many(expression) { @@ -1867,19 +2005,19 @@ self.parserlib = (() => { if (seen[i]) continue; expression.mark(); if (!ms[i].match(expression)) { - expression.drop(); + expression.popMark(true); continue; } seen[i] = true; // Increase matchCount if this was a required element // (or if all the elements are optional) if (tryMatch(matchCount + (required === false || required[i] ? 1 : 0))) { - expression.drop(); + expression.popMark(true); return true; } // Backtrack: try *not* matching using this rule, and // let's see if it leads to a better overall match. - expression.restore(); + expression.popMark(); seen[i] = false; } if (pass === 0) { @@ -1920,33 +2058,28 @@ self.parserlib = (() => { } }; - Matcher.grammarParser = (() => { + Matcher.parseGrammar = (() => { let reader; - return {parse}; - - function parse(newReader) { + return newReader => { reader = newReader; return expr(); - } - + }; function expr() { // expr = oror (" | " oror)* const m = [oror()]; while (reader.readMatch(' | ')) { m.push(oror()); } - return m.length === 1 ? m[0] : Matcher.alt.apply(Matcher, m); + return m.length === 1 ? m[0] : Matcher.alt(...m); } - function oror() { // oror = andand ( " || " andand)* const m = [andand()]; while (reader.readMatch(' || ')) { m.push(andand()); } - return m.length === 1 ? m[0] : Matcher.oror.apply(Matcher, m); + return m.length === 1 ? m[0] : Matcher.oror(...m); } - function andand() { // andand = seq ( " && " seq)* const m = [seq()]; @@ -1967,16 +2100,14 @@ self.parserlib = (() => { } return m.length === 1 ? m[0] : Matcher.many(required, ...m); } - function seq() { // seq = mod ( " " mod)* const m = [mod()]; while (reader.readMatch(/\s(?![&|\]])/y)) { m.push(mod()); } - return m.length === 1 ? m[0] : Matcher.seq.apply(Matcher, m); + return m.length === 1 ? m[0] : Matcher.seq(...m); } - function mod() { // mod = term ( "?" | "*" | "+" | "#" | "{,}" )? const m = term(); @@ -2002,7 +2133,6 @@ self.parserlib = (() => { } return m; } - function term() { // term = | literal | "[ " expression " ]" if (reader.readMatch('[ ')) { @@ -2012,15 +2142,13 @@ self.parserlib = (() => { } return Matcher.fromType(eat(/[^\s?*+#{]+/y)); } - function eat(matcher) { const result = reader.readMatch(matcher); - if (result === null) { + if (result == null) { throw new Error(`Internal error. Expected ${matcher} at ${reader._line}:${reader._col}.`); } return result; } - function isOptional(item) { return !Array.isArray(item.options) && item.toString().endsWith('?'); } @@ -2145,7 +2273,7 @@ self.parserlib = (() => { // e.g. max-width:500. class MediaFeature extends SyntaxUnit { constructor(name, value) { - const text = '(' + name + (value !== null ? ':' + value : '') + ')'; + const text = `(${name}${value != null ? ':' + value : ''})`; super(text, name, TYPES.MEDIA_FEATURE_TYPE); this.name = name; @@ -2450,7 +2578,7 @@ self.parserlib = (() => { const text = self.text; let namedColor; - if (!text.includes('-') && (namedColor = Colors[lower(text)])) { + if (!text.includes('-') && (namedColor = Colors[text] || Colors[lower(text)])) { tokenConverter.get(Tokens.HASH)(self, {value: namedColor}); } else { self.type = 'identifier'; @@ -2522,23 +2650,17 @@ self.parserlib = (() => { next() { return this._i < this._parts.length ? this._parts[this._i++] : null; } - - previous() { - return this._i > 0 ? this._parts[--this._i] : null; - } - mark() { this._marks.push(this._i); + return this; } - restore() { - if (this._marks.length) { - this._i = this._marks.pop(); + popMark(success) { + const i = this._marks.pop(); + if (!success && i != null) { + this._i = i; } - } - - drop() { - this._marks.pop(); + return success; } } @@ -2547,55 +2669,98 @@ self.parserlib = (() => { Object.assign(ValidationTypes, { - isLiteral(part, literals) { - const args = literals.includes(' | ') ? literals.split(' | ') : [literals]; - const {text} = part; - let textLo; + /** + * @param {string} name + * @param {PropertyValuePart} part + * @returns {boolean} + * @throws {ValidationError} + */ + isFunction(name, {expr}) { + // no parameter means the initial value is used so it's a valid function call + if (!expr) { + return this.functionsMayBeEmpty.has(name); + } + // USO vars can span any number of grammar parts so not gonna try to guess. KISS. + if (expr.parts.some(p => p.tokenType === Tokens.USO_VAR)) { + return true; + } + const fn = this.functions[name]; + if (!fn) { + return true; + } + const vi = new PropertyValueIterator(expr); + if (fn.match(vi) && !vi.hasNext()) { + return true; + } + throw new ValidationError( + `Expected '${this.explode(`${fn}`)}' but found '${vi.value.text}'.`, vi.value); + }, - for (const arg of args) { - - if (arg[0] === '<') { - const simple = this.simple[arg]; - if (simple && simple.call(this.simple, part)) { + /** + * @param {string} literals + * @param {PropertyValuePart} part + * @return {?boolean} + */ + isLiteral(literals, part) { + let text; + for (const arg of literals.includes(' | ') ? literals.split(' | ') : [literals]) { + if (arg.startsWith('<')) { + if (arg in this.simple && this.simple[arg](part)) { return true; } - continue; - } - - if (arg.endsWith('()')) { - if (!part.name || part.name.length !== arg.length - 2) continue; + } else if ( + arg.endsWith('()') && + part.type === 'function' && + part.name && part.name.length === arg.length - 2 + ) { const name = arg.slice(0, -2); - if (part.name === name || - lower(arg).startsWith((textLo = textLo || lower(text)).slice(0, name.length))) { - // empty function parameter means the initial value is used - if (!part.expr) return this.functionsMayBeEmpty.has(name); - const fn = this.functions[name]; - if (!fn) return true; - const expression = new PropertyValueIterator(part.expr); - if (fn.match(expression) && !expression.hasNext()) { - return true; - } - const {text} = expression.value; - throw new ValidationError(`Expected '${this.explode(String(fn))}' but found '${text}'.`, - expression.value); + const isFn = lowerCmp(name, part.name) ? this.isFunction(name, part) : null; + if (isFn != null) { + return isFn; + } + } else if (part.text.length >= arg.length) { + if (!text) text = RX_VENDOR_PREFIX.test(text) ? RegExp.$2 : part.text; + if (lowerCmp(text, arg)) { + return true; } - continue; } - - let argLo; - if (text === arg || - (textLo = textLo || lower(text)) === (argLo = argLo || lower(arg)) || - text[0] === '-' && ( - textLo.startsWith('-webkit-') || - textLo.startsWith('-moz-') || - textLo.startsWith('-ms-') || - textLo.startsWith('-o-') - ) && textLo.slice(textLo.indexOf('-', 1) + 1) === argLo) { - return true; - } - } - return false; + }, + + /** + * @param {PropertyValueIterator} expression + * @param {string} type + * @return {?boolean} + */ + isType(expression, type) { + const part = expression.peek(); + let result, m; + + if (this.simple[''](part)) { + if (expression._i < expression._parts.length - 1) { + expression.mark().next(); + expression.popMark(ValidationTypes.isType(expression, type)); + } + result = true; + + } else if (!type.startsWith('<')) { + result = this.isLiteral(type, part); + + } else if ((m = this.simple[type])) { + result = m.call(this.simple, part); + + } else { + m = this.complex[type]; + return m instanceof Matcher ? + m.match(expression) : + m.call(this.complex, expression); + } + + if (!result && part.type === 'function' && lowerCmp(part.name, 'attr')) { + result = ValidationTypes.isFunction('attr', part); + } + if (result) expression.next(); + return result; }, describe(type) { @@ -2615,55 +2780,21 @@ self.parserlib = (() => { return ((mod ? '[' : '') + this.explode(ref.originalText) + (mod ? ']' : '')) + mod; }); }, - - isType(expression, type) { - const part = expression.peek(); - let result, m; - - if (this.simple[''](part)) { - if (expression._i < expression._parts.length - 1) { - expression.mark(); - expression._i++; - if (ValidationTypes.isType(expression, type)) { - expression.drop(); - } else { - expression.restore(); - } - } - result = true; - - } else if (!type.startsWith('<')) { - result = this.isLiteral(part, type); - - } else if ((m = this.simple[type])) { - result = m.call(this.simple, part); - - } else { - m = this.complex[type]; - return m instanceof Matcher ? - m.match(expression) : - m.call(this.complex, expression); - } - - if (result) expression.next(); - return result; - }, }); - { - let action = rule => part => ValidationTypes.isLiteral(part, rule); - ['simple', 'complex', 'functions'].forEach(name => { - const set = ValidationTypes[name]; - for (const id in set) { - const rule = set[id]; - if (typeof rule === 'string') { - set[id] = Object.defineProperty(action(rule), 'originalText', {value: rule}); - } else if (/^Matcher\s/.test(rule)) { - set[id] = rule(Matcher); - } + for (const name of ['simple', 'complex', 'functions']) { + const action = name === 'simple' + ? rule => ValidationTypes.isLiteral.bind(ValidationTypes, rule) + : Matcher.parse; + const set = ValidationTypes[name]; + for (const id in set) { + const rule = set[id]; + if (typeof rule === 'string') { + set[id] = Object.defineProperty(action(rule), 'originalText', {value: rule}); + } else if (/^Matcher\s/.test(rule)) { + set[id] = rule(Matcher); } - action = rule => Matcher.parse(rule); - }); + } } //endregion @@ -2672,9 +2803,9 @@ self.parserlib = (() => { const validationCache = new Map(); function validateProperty(property, value) { - // All properties accept some CSS-wide values. - // https://drafts.csswg.org/css-values-3/#common-keywords - if (/^(inherit|initial|unset)$/i.test(value.parts[0])) { + // Global keywords that can be set for any property are conveniently listed in `all` prop: + // https://drafts.csswg.org/css-cascade/#all-shorthand + if (/^(inherit|initial|unset|revert)$/i.test(value.parts[0])) { if (value.parts.length > 1) { throwEndExpected(value.parts[1], true); } @@ -2685,7 +2816,7 @@ self.parserlib = (() => { let known = validationCache.get(prop); if (known && known.has(value.text)) return; - const spec = Properties[prop] || /^-(webkit|moz|ms|o)-(.+)/i.test(prop) && Properties[RegExp.$2]; + const spec = Properties[prop] || RX_VENDOR_PREFIX.test(prop) && Properties[RegExp.$2]; if (typeof spec === 'number') return; if (!spec && prop.startsWith('-')) return; @@ -2749,19 +2880,18 @@ self.parserlib = (() => { /** * Consumes the next token if that matches any of the given token type(s). * @param {int|int[]} tokenTypes - * @return {Boolean} + * @return {Object|false} */ match(tokenTypes) { - const isArray = Array.isArray(tokenTypes); - let tt; - do { - tt = this.get(); + const isArray = typeof tokenTypes === 'object'; + for (let tt; (tt = this.get());) { if (isArray ? tokenTypes.includes(tt) : tt === tokenTypes) { - return true; + return this._token; } - } while (tt === Tokens.COMMENT && this.LA(0) !== 0); - - // no match found, put the token back + if (tt !== Tokens.COMMENT) { + break; + } + } this.unget(); return false; } @@ -2778,6 +2908,7 @@ self.parserlib = (() => { const info = Tokens[Array.isArray(tokenTypes) ? tokenTypes[0] : tokenTypes]; throw new SyntaxError(`Expected ${info.text || info.name} at line ${line}, col ${col}.`, {line, col, offset}); } + return this._token; } /** @@ -2909,8 +3040,7 @@ self.parserlib = (() => { if (skipCruftBefore && tokenTypes !== Tokens.S) { this.skipComment(true); } - super.mustMatch(tokenTypes); - return this._token; + return super.mustMatch(tokenTypes); } /** @@ -2921,7 +3051,7 @@ self.parserlib = (() => { if (tt === Tokens.USO_VAR || tt === Tokens.COMMENT || skipWS && tt === Tokens.S) { - while (this.match([Tokens.USO_VAR, Tokens.S])) { /*NOP*/ } + while (this.match(TT.usoS)) { /*NOP*/ } } } @@ -3242,7 +3372,7 @@ self.parserlib = (() => { // might be a URI or function if (next === '(') { reader.read(); - if (['url', 'url-prefix', 'domain'].includes(lower(name))) { + if (/^(url(-prefix)?|domain)$/i.test(name)) { reader.mark(); const uri = this.readURI(name + '('); if (uri) { @@ -3256,7 +3386,7 @@ self.parserlib = (() => { return this.createToken(Tokens.FUNCTION, name + '(', pos); } // might be an IE-specific function with progid: - if (next === ':' && lower(name) === 'progid') { + if (next === ':' && lowerCmp(name, 'progid')) { return this.createToken(Tokens.IE_FUNCTION, name + reader.readTo('('), pos); } const type = name.startsWith('--') ? Tokens.CUSTOM_PROP : Tokens.IDENT; @@ -3320,7 +3450,7 @@ self.parserlib = (() => { const c = reader.peek(); if (isIdentStart(c)) { units = this.readName(reader.read()); - type = UNITS[lower(units)]; + type = UNITS[units] || UNITS[lower(units)]; tt = type && Tokens[type.toUpperCase()] || type === 'frequency' && Tokens.FREQ || Tokens.DIMENSION; @@ -3354,7 +3484,7 @@ self.parserlib = (() => { if (c === '\\') { c = reader.read(); - if (c === null) { + if (c == null) { break; // premature EOF after backslash } else if (/[^\r\n\f0-9a-f]/i.test(c)) { // single-character escape @@ -3474,7 +3604,7 @@ self.parserlib = (() => { if (/['"]/.test(reader.peek())) { value = this.readString(); - if (value === null) return null; + if (value == null) return null; value = parseString(value); } else { value = this.readUnquotedURL(); @@ -3957,7 +4087,7 @@ self.parserlib = (() => { _import(emit = true) { const stream = this._tokenStream; const start = stream.mustMatch(Tokens.IMPORT_SYM); - stream.mustMatch([Tokens.STRING, Tokens.URI]); + stream.mustMatch(TT.stringUri); const uri = stream._token.value.replace(/^(?:url\()?["']?([^"']+?)["']?\)?$/, '$1'); this._ws(); const mediaList = this._mediaQueryList(); @@ -3981,7 +4111,7 @@ self.parserlib = (() => { prefix = stream._token.value; this._ws(); } - stream.mustMatch([Tokens.STRING, Tokens.URI]); + stream.mustMatch(TT.stringUri); const uri = stream._token.value.replace(/(?:url\()?["']([^"']+)["']\)?/, '$1'); stream.mustMatch(Tokens.SEMICOLON); if (emit) { @@ -4022,15 +4152,14 @@ self.parserlib = (() => { _supportsCondition() { const stream = this._tokenStream; const next = stream.LT(1); - if (next.type === Tokens.IDENT && lower(next.value) === 'not') { + if (next.type === Tokens.IDENT && lowerCmp(next.value, 'not')) { stream.get(); stream.mustMatch(Tokens.S); this._supportsConditionInParens(); } else { this._supportsConditionInParens(); while (stream.peek() === Tokens.IDENT) { - const ident = lower(stream.LT(1).value); - if (ident === 'and' || ident === 'or') { + if (/^(and|or)$/i.test(stream.LT(1).value)) { stream.get(); this._ws(); this._supportsConditionInParens(); @@ -4047,7 +4176,7 @@ self.parserlib = (() => { this._ws(); const {type, value} = stream.LT(1); if (type === Tokens.IDENT || type === Tokens.CUSTOM_PROP) { - if (lower(value) === 'not') { + if (lowerCmp(value, 'not')) { this._supportsCondition(); stream.mustMatch(Tokens.RPAREN); } else { @@ -4057,7 +4186,7 @@ self.parserlib = (() => { this._supportsCondition(); stream.mustMatch(Tokens.RPAREN); } - } else if (next.type === Tokens.FUNCTION && lower(next.value) === 'selector(') { + } else if (next.type === Tokens.FUNCTION && lowerCmp(next.value, 'selector(')) { stream.get(); this._ws(); this._selector(); @@ -4122,71 +4251,52 @@ self.parserlib = (() => { _mediaQuery() { const stream = this._tokenStream; - let type = null; - let ident = null; - let token = null; const expressions = []; - - if (stream.match(Tokens.IDENT)) { - ident = lower(stream._token.value); - - // since there's no custom tokens for these, need to manually check - if (ident !== 'only' && ident !== 'not') { - stream.unget(); - ident = null; - } else { - token = stream._token; - } + let type = null; + let token = stream.LT(1); + let ident = token.value; + if (token.type === Tokens.IDENT && /^(only|not)$/i.test(ident)) { + stream.get(); + } else { + token = ident = null; } - this._ws(); - - if (stream.peek() === Tokens.IDENT) { + const next = stream.LT(1); + if (next.type === Tokens.IDENT) { + token = token || next; type = this._mediaFeature(); - if (token === null) { - token = stream._token; - } - } else if (stream.peek() === Tokens.LPAREN) { - if (token === null) { - token = stream.LT(1); - } + } else if (next.type === Tokens.LPAREN) { + token = token || next; expressions.push(this._mediaExpression()); + } else { + return; } - - if (type === null && expressions.length === 0) return null; - this._ws(); while (stream.match(Tokens.IDENT)) { - if (lower(stream._token.value) !== 'and') { + if (lowerCmp(stream._token.value, 'and')) { + this._ws(); + expressions.push(this._mediaExpression()); + } else { this._unexpectedToken(stream._token); } - this._ws(); - expressions.push(this._mediaExpression()); } - return new MediaQuery(ident, type, expressions, token); } _mediaExpression() { const stream = this._tokenStream; - let feature = null; let token; let expression = null; - stream.mustMatch(Tokens.LPAREN); - - feature = this._mediaFeature(); + const feature = this._mediaFeature(); this._ws(); - if (stream.match(Tokens.COLON)) { this._ws(); token = stream.LT(1); - expression = this._expression(); + expression = this._expression({calc: true}); } - stream.mustMatch(Tokens.RPAREN); this._ws(); - return new MediaFeature(feature, expression ? new SyntaxUnit(expression, token) : null); } @@ -4210,7 +4320,7 @@ self.parserlib = (() => { identifier = stream._token.value; // The value 'auto' may not be used as a page name and MUST be treated as a syntax error. - if (lower(identifier) === 'auto') { + if (lowerCmp(identifier, 'auto')) { this._unexpectedToken(stream._token); } } @@ -4257,24 +4367,7 @@ self.parserlib = (() => { } _marginSym() { - if (this._tokenStream.match([ - Tokens.TOPLEFTCORNER_SYM, - Tokens.TOPLEFT_SYM, - Tokens.TOPCENTER_SYM, - Tokens.TOPRIGHT_SYM, - Tokens.TOPRIGHTCORNER_SYM, - Tokens.BOTTOMLEFTCORNER_SYM, - Tokens.BOTTOMLEFT_SYM, - Tokens.BOTTOMCENTER_SYM, - Tokens.BOTTOMRIGHT_SYM, - Tokens.BOTTOMRIGHTCORNER_SYM, - Tokens.LEFTTOP_SYM, - Tokens.LEFTMIDDLE_SYM, - Tokens.LEFTBOTTOM_SYM, - Tokens.RIGHTTOP_SYM, - Tokens.RIGHTMIDDLE_SYM, - Tokens.RIGHTBOTTOM_SYM, - ])) { + if (this._tokenStream.match(TT.margins)) { return SyntaxUnit.fromToken(this._tokenStream._token); } else { return null; @@ -4383,29 +4476,19 @@ self.parserlib = (() => { } _operator(inFunction) { - if (this._tokenStream.match([ - Tokens.SLASH, - Tokens.COMMA, - ...(!inFunction ? [] : [ - Tokens.PLUS, - Tokens.STAR, - Tokens.MINUS, - ]) - ])) { + if (this._tokenStream.match(inFunction ? TT.opInFunc : TT.op)) { const value = new PropertyValuePart(this._tokenStream._token); this._ws(); return value; } - return null; } _combinator() { - if (this._tokenStream.match([Tokens.PLUS, Tokens.GREATER, Tokens.TILDE, Tokens.COLUMN])) { + if (this._tokenStream.match(TT.combinator)) { const value = new Combinator(this._tokenStream._token); this._ws(); return value; } - return null; } _property() { @@ -4422,7 +4505,7 @@ self.parserlib = (() => { hack = token.value; } - if (stream.match([Tokens.IDENT, Tokens.CUSTOM_PROP])) { + if (stream.match(TT.identCustom)) { token = stream._token; tokenValue = token.value; @@ -4480,7 +4563,7 @@ self.parserlib = (() => { this.fire(Object.assign({}, ex, {type: 'error', error: ex})); // if there's a right brace, the rule is finished so don't do anything // otherwise, rethrow the error because it wasn't handled properly - if (braceOpened && stream.advance([Tokens.RBRACE]) !== Tokens.RBRACE) throw ex; + if (braceOpened && stream.advance(Tokens.RBRACE) !== Tokens.RBRACE) throw ex; // If even a single selector fails to parse, the entire ruleset should be thrown away, // so we let the parser continue with the next one return true; @@ -4620,63 +4703,34 @@ self.parserlib = (() => { (i + 1 < lt.length && lt[i + 1].type || stream.LA(2)) !== Tokens.PIPE) { return null; } - let value = ''; - if (stream.match([Tokens.IDENT, Tokens.STAR])) { - value += stream._token.value; - } - stream.mustMatch(Tokens.PIPE, false); - return value + '|'; + return (stream.match(TT.ns).value || '') + stream.mustMatch(Tokens.PIPE, false).value; } _universal(ns = this._namespacePrefix()) { - return ((ns || '') + (this._tokenStream.match(Tokens.STAR) ? '*' : '')) || null; + return `${ns || ''}${this._tokenStream.match(Tokens.STAR).value || ''}` || null; } _attrib() { const stream = this._tokenStream; - if (!stream.match(Tokens.LBRACKET)) return null; - - const token = stream._token; - let value = - token.value + + const start = stream._token; + let value = start.value + this._ws() + - (this._namespacePrefix() || ''); - - stream.mustMatch(Tokens.IDENT, false); - value += - stream._token.value + + (this._namespacePrefix() || '') + + stream.mustMatch(Tokens.IDENT, false).value + this._ws(); - - if (stream.match([ - Tokens.PREFIXMATCH, - Tokens.SUFFIXMATCH, - Tokens.SUBSTRINGMATCH, - Tokens.EQUALS, - Tokens.INCLUDES, - Tokens.DASHMATCH - ])) { - value += stream._token.value + - this._ws(); - - stream.mustMatch([Tokens.IDENT, Tokens.STRING]); - value += stream._token.value + - this._ws(); - - if (stream.match([Tokens.IDENT])) { - const caseMod = lower(stream._token.value); - if (caseMod === 'i' || caseMod === 's') { - value += stream._token.value + - this._ws(); - } else { - stream.unget(); - } + if (stream.match(TT.attrMatch)) { + value += stream._token.value + this._ws() + + stream.mustMatch(TT.identString).value + + this._ws(); + const next = stream.LT(1); + if (next.type === Tokens.IDENT && /^[is]$/i.test(next.value)) { + stream.get(); + value += next.value + this._ws(); } } - stream.mustMatch(Tokens.RBRACKET); - - return new SelectorSubPart(value + ']', 'attribute', token); + return new SelectorSubPart(value + ']', 'attribute', start); } _pseudo() { @@ -4717,30 +4771,24 @@ self.parserlib = (() => { {startLine, startCol}); } - _expression({list = false} = {}) { + _expression({calc, list} = {}) { + const chunks = []; const stream = this._tokenStream; - let value = ''; - - while (stream.match([ - Tokens.PLUS, - Tokens.MINUS, - Tokens.DIMENSION, - Tokens.NUMBER, - Tokens.STRING, - Tokens.IDENT, - Tokens.LENGTH, - Tokens.FREQ, - Tokens.ANGLE, - Tokens.TIME, - Tokens.RESOLUTION, - Tokens.SLASH, - list && Tokens.COMMA, - ])) { - value += stream._token.value; - value += this._ws(); + while (stream.get()) { + const {type, value} = stream._token; + if (calc && type === Tokens.FUNCTION) { + if (!RX_CALC.test(value)) this._unexpectedToken(); + chunks.push(value, + this._expr('calc').text, + stream.mustMatch(Tokens.RPAREN).value); + } else if (TT.expression.includes(type) || list && type === Tokens.COMMA) { + chunks.push(value, this._ws()); + } else if (type !== Tokens.COMMENT) { + stream.unget(); + break; + } } - - return value.length ? value : null; + return chunks.length ? chunks.join('') : null; } _is() { @@ -4965,7 +5013,7 @@ self.parserlib = (() => { _term(inFunction) { const stream = this._tokenStream; - const unary = stream.match([Tokens.MINUS, Tokens.PLUS]) && stream._token; + const unary = stream.match(TT.plusMinus) && stream._token; const finalize = (token, value) => { if (!token && unary) stream.unget(); @@ -4987,35 +5035,16 @@ self.parserlib = (() => { } // see if it's a simple block - if (stream.match([ - Tokens.LPAREN, - Tokens.LBRACKET, - inFunction && Tokens.LBRACE, - ])) { + if (stream.match(inFunction ? TT.LParenBracketBrace : TT.LParenBracket)) { const token = stream._token; const endToken = Tokens.type(token.endChar); token.expr = this._expr(inFunction, endToken); stream.mustMatch(endToken); return finalize(token, token.value + (token.expr || '') + token.endChar); } - return finalize( // see if there's a simple match - stream.match([ - Tokens.NUMBER, - Tokens.PERCENTAGE, - Tokens.LENGTH, - Tokens.ANGLE, - Tokens.TIME, - Tokens.DIMENSION, - Tokens.FREQ, - Tokens.STRING, - inFunction === 'var' && Tokens.CUSTOM_PROP, - Tokens.IDENT, - Tokens.URI, - Tokens.UNICODE_RANGE, - Tokens.USO_VAR, - ]) && stream._token || + stream.match(inFunction === 'var' ? TT.termVar : TT.term) && stream._token || this._hexcolor() || this._function({asText: Boolean(unary)})); } @@ -5182,7 +5211,7 @@ self.parserlib = (() => { _keyframeName() { const stream = this._tokenStream; - stream.mustMatch([Tokens.IDENT, Tokens.STRING]); + stream.mustMatch(TT.identString); return SyntaxUnit.fromToken(stream._token); } @@ -5245,11 +5274,7 @@ self.parserlib = (() => { //----------------------------------------------------------------- _skipCruft() { - while (this._tokenStream.match([ - Tokens.S, - Tokens.CDO, - Tokens.CDC, - ])) { /*NOP*/ } + while (this._tokenStream.match(TT.cruft)) { /*NOP*/ } } /** @@ -5300,7 +5325,7 @@ self.parserlib = (() => { _ws(skipUsoVar) { let ws = ''; const stream = this._tokenStream; - const tokens = skipUsoVar ? [Tokens.S, Tokens.USO_VAR] : Tokens.S; + const tokens = skipUsoVar ? TT.usoS : Tokens.S; while (stream.match(tokens)) { ws += stream._token.value; } @@ -5317,9 +5342,9 @@ self.parserlib = (() => { this._ws(); const simpleValue = - stream.match([Tokens.IDENT, Tokens.CUSTOM_PROP]) && SyntaxUnit.fromToken(stream._token) || + stream.match(TT.identCustom) && SyntaxUnit.fromToken(stream._token) || stream.peek() === Tokens.FUNCTION && this._function({asText: true}) || - this._unknownBlock([Tokens.LBRACKET, Tokens.LPAREN]); + this._unknownBlock(TT.LParenBracket); this._ws(); const blockValue = this._unknownBlock(); @@ -5373,7 +5398,7 @@ self.parserlib = (() => { return null; } - _unexpectedToken(token) { + _unexpectedToken(token = this._tokenStream._token) { const {value, startLine: line, startCol: col} = token; throw new SyntaxError(`Unexpected token '${value}' at line ${line}, col ${col}.`, token); } @@ -5545,26 +5570,26 @@ self.parserlib = (() => { //region Helper functions function isHexDigit(c) { - return c !== null && ( + return ( c >= '0' && c <= '9' || c >= 'a' && c <= 'f' || c >= 'A' && c <= 'F'); } function isDigit(c) { - return c !== null && c >= '0' && c <= '9'; + return c >= '0' && c <= '9'; } function isWhitespace(c) { - return c !== null && (c === ' ' || c === '\t' || c === '\n' || c === '\f' || c === '\r'); + return (c === ' ' || c === '\t' || c === '\n' || c === '\f' || c === '\r'); } function isNewLine(c) { - return c !== null && (c === '\n' || c === '\r\n' || c === '\r' || c === '\f'); + return (c === '\n' || c === '\r\n' || c === '\r' || c === '\f'); } function isNameStart(c) { - return c !== null && ( + return ( c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c === '_' || c === '\\' || @@ -5572,22 +5597,16 @@ self.parserlib = (() => { } function isNameChar(c) { - return c !== null && (c === '-' || c >= '0' && c <= '9' || isNameStart(c)); + return (c === '-' || c >= '0' && c <= '9' || isNameStart(c)); } function isIdentStart(c) { - return c !== null && (c === '-' || isNameStart(c)); + return c === '-' || isNameStart(c); } function isPseudoElement(pseudo) { - if (pseudo.startsWith('::')) return true; - switch (lower(pseudo)) { - case ':first-letter': - case ':first-line': - case ':before': - case ':after': - return true; - } + return pseudo.startsWith('::') || + /^:(first-(letter|line)|before|after)$/i.test(pseudo); } function parseString(str) { From 4eabdf3f5794f70e2a086a7c43d583e9fde3d393 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 25 Oct 2020 22:36:41 +0300 Subject: [PATCH 007/291] warn when paste-importing usercss with @preprocessor --- _locales/en/messages.json | 6 ++++++ background/usercss-helper.js | 1 + edit/sections-editor-section.js | 7 +++---- edit/sections-editor.js | 34 +++++++++++++++++++++++---------- msgbox/msgbox.css | 4 ++++ msgbox/msgbox.js | 4 +++- 6 files changed, 41 insertions(+), 15 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index ea18706f..51dddb1a 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -468,6 +468,12 @@ "message": "Import", "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor" + }, "importReplaceLabel": { "message": "Overwrite style", "description": "Label for the button to import and overwrite current style" diff --git a/background/usercss-helper.js b/background/usercss-helper.js index 00b3a99b..58dc2233 100644 --- a/background/usercss-helper.js +++ b/background/usercss-helper.js @@ -8,6 +8,7 @@ const usercssHelper = (() => { API_METHODS.configUsercssVars = configUsercssVars; API_METHODS.buildUsercss = build; + API_METHODS.buildUsercssMeta = buildMeta; API_METHODS.findUsercss = find; function buildMeta(style) { diff --git a/edit/sections-editor-section.js b/edit/sections-editor-section.js index 5b07875e..dce07e93 100644 --- a/edit/sections-editor-section.js +++ b/edit/sections-editor-section.js @@ -176,10 +176,9 @@ function createSection({ }); cm.on('paste', (cm, event) => { const text = event.clipboardData.getData('text') || ''; - if ( - text.includes('@-moz-document') && - text.replace(/\/\*[\s\S]*?(?:\*\/|$)/g, '') - .match(/@-moz-document[\s\r\n]+(url|url-prefix|domain|regexp)\(/) + if (/@-moz-document/i.test(text) && + /@-moz-document\s+(url|url-prefix|domain|regexp)\(/i + .test(text.replace(/\/\*([^*]|\*(?!\/))*(\*\/|$)/g, '')) ) { event.preventDefault(); showMozillaFormatImport(text); diff --git a/edit/sections-editor.js b/edit/sections-editor.js index e2e3678d..9d556553 100644 --- a/edit/sections-editor.js +++ b/edit/sections-editor.js @@ -333,24 +333,38 @@ function createSectionsEditor(editorBase) { 'Shift-Ctrl-Enter': () => doImport({replaceOldStyle: true}), }; - function doImport({replaceOldStyle = false}) { + async function doImport({replaceOldStyle = false}) { lockPageUI(true); - API.parseCss({code: popup.codebox.getValue().trim()}) - .then(({sections, errors}) => { + try { + const code = popup.codebox.getValue().trim(); + if (!/==userstyle==/i.test(code) || + !await getPreprocessor(code) || + await messageBox.confirm( + t('importPreprocessor'), 'pre-line', + t('importPreprocessorTitle')) + ) { + const {sections, errors} = await API.parseCss({code}); // shouldn't happen but just in case if (!sections.length || errors.length) { throw errors; } if (replaceOldStyle) { - return replaceSections(sections); + replaceSections(sections); + } else { + initSections(sections, {focusOn: false}); } - return initSections(sections, {focusOn: false}); - }) - .then(() => { $('.dismiss').dispatchEvent(new Event('click')); - }) - .catch(showError) - .then(() => lockPageUI(false)); + } + } catch (err) { + showError(err); + } + lockPageUI(false); + } + + async function getPreprocessor(code) { + try { + return (await API.buildUsercssMeta({sourceCode: code})).usercssData.preprocessor; + } catch (e) {} } function lockPageUI(locked) { diff --git a/msgbox/msgbox.css b/msgbox/msgbox.css index bbc70622..4f349613 100644 --- a/msgbox/msgbox.css +++ b/msgbox/msgbox.css @@ -56,6 +56,10 @@ text-align: left; } +#message-box.pre-line #message-box-contents { + white-space: pre-line; +} + #message-box-title { font-weight: bold; background-color: rgb(145, 208, 198); diff --git a/msgbox/msgbox.js b/msgbox/msgbox.js index a537da32..6a409f9f 100644 --- a/msgbox/msgbox.js +++ b/msgbox/msgbox.js @@ -168,10 +168,12 @@ messageBox.alert = (contents, className, title) => /** * @param {String|Node|Array} contents * @param {String} [className] like 'pre' for monospace font + * @param {String} [title] * @returns {Promise} resolves to true when confirmed */ -messageBox.confirm = (contents, className) => +messageBox.confirm = (contents, className, title) => messageBox({ + title, contents, className: `center ${className || ''}`, buttons: [t('confirmYes'), t('confirmNo')] From 92fcb02a575e26139dbf0d827c48fb4dcaadfa98 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 26 Oct 2020 07:49:08 +0300 Subject: [PATCH 008/291] handle document.cookie exceptions in sandboxed frames --- content/apply.js | 33 +++++++++++++++++++-------------- 1 file changed, 19 insertions(+), 14 deletions(-) diff --git a/content/apply.js b/content/apply.js index 7f2f5d3a..6f180fa4 100644 --- a/content/apply.js +++ b/content/apply.js @@ -59,7 +59,8 @@ self.INJECTED !== 1 && (() => { if (STYLE_VIA_API) { await API.styleViaAPI({method: 'styleApply'}); } else { - const styles = chrome.app && getStylesViaXhr() || + const blobId = chrome.app && getXhrBlobId(); + const styles = blobId && getStylesViaXhr(blobId) || await API.getSectionsByUrl(getMatchUrl(), null, true); if (styles.disableAll) { delete styles.disableAll; @@ -69,24 +70,28 @@ self.INJECTED !== 1 && (() => { } } - function getStylesViaXhr() { - if (new RegExp(`(^|\\s|;)${chrome.runtime.id}=\\s*([-\\w]+)\\s*(;|$)`).test(document.cookie)) { - const data = RegExp.$2; + function getXhrBlobId() { + try { + const {cookie} = document; // may throw in sandboxed frames + return new RegExp(`(^|\\s|;)${chrome.runtime.id}=\\s*([-\\w]+)\\s*(;|$)`).exec(cookie)[2]; + } catch (e) {} + } + + function getStylesViaXhr(data) { + try { const disableAll = data[0] === '1'; const url = 'blob:' + chrome.runtime.getURL(data.slice(1)); document.cookie = `${chrome.runtime.id}=1; max-age=0`; // remove our cookie let res; - try { - if (!disableAll) { // will get the styles asynchronously - const xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); // synchronous - xhr.send(); - res = JSON.parse(xhr.response); - } - URL.revokeObjectURL(url); - } catch (e) {} + if (!disableAll) { // when disabled, will get the styles asynchronously, no rush + const xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); // synchronous + xhr.send(); + res = JSON.parse(xhr.response); + } + URL.revokeObjectURL(url); return res; - } + } catch (e) {} } function getMatchUrl() { From 34ad3cfaeff51fe179c16de29def334ad718464f Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 26 Oct 2020 17:24:11 +0300 Subject: [PATCH 009/291] embed replaceSections as `replace` option of initSections --- edit/sections-editor.js | 32 ++++++++++++++------------------ 1 file changed, 14 insertions(+), 18 deletions(-) diff --git a/edit/sections-editor.js b/edit/sections-editor.js index 9d556553..e4b634f5 100644 --- a/edit/sections-editor.js +++ b/edit/sections-editor.js @@ -48,7 +48,7 @@ function createSectionsEditor(editorBase) { let sectionOrder = ''; let headerOffset; // in compact mode the header is at the top so it reduces the available height - const ready = initSections(style.sections, {isFirstInit: true}); + const ready = initSections(style.sections, {pristine: true}); const livePreview = createLivePreview(); livePreview.show(Boolean(style.id)); @@ -348,11 +348,10 @@ function createSectionsEditor(editorBase) { if (!sections.length || errors.length) { throw errors; } - if (replaceOldStyle) { - replaceSections(sections); - } else { - initSections(sections, {focusOn: false}); - } + await initSections(sections, { + replace: replaceOldStyle, + focusOn: replaceOldStyle ? 0 : false, + }); $('.dismiss').dispatchEvent(new Event('click')); } } catch (err) { @@ -465,8 +464,14 @@ function createSectionsEditor(editorBase) { function initSections(originalSections, { focusOn = 0, - isFirstInit, + replace = false, + pristine = false, } = {}) { + if (replace) { + sections.forEach(s => s.remove(true)); + sections.length = 0; + container.textContent = ''; + } let done; const total = originalSections.length; originalSections = originalSections.slice(); @@ -478,7 +483,7 @@ function createSectionsEditor(editorBase) { const t0 = performance.now(); while (originalSections.length && performance.now() - t0 < 100) { insertSectionAfter(originalSections.shift(), undefined, forceRefresh); - if (isFirstInit) dirty.clear(); + if (pristine) dirty.clear(); if (focusOn !== false && sections[focusOn]) { sections[focusOn].cm.focus(); focusOn = false; @@ -586,15 +591,6 @@ function createSectionsEditor(editorBase) { updateSectionOrder(); } - function replaceSections(...args) { - for (const section of sections) { - section.remove(true); - } - sections.length = 0; - container.textContent = ''; - return initSections(...args); - } - function replaceStyle(newStyle, codeIsUpdated) { dirty.clear('name'); // FIXME: avoid recreating all editors? @@ -613,7 +609,7 @@ function createSectionsEditor(editorBase) { function reinit() { if (codeIsUpdated !== false) { - return replaceSections(newStyle.sections, {isFirstInit: true}); + return initSections(newStyle.sections, {replace: true, pristine: true}); } return Promise.resolve(); } From 4fade0fdfe6a7a64f4f983f94604b55ce4011fa6 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 26 Oct 2020 17:33:23 +0300 Subject: [PATCH 010/291] async'ify replaceStyle --- edit/sections-editor.js | 32 +++++++++++++------------------- 1 file changed, 13 insertions(+), 19 deletions(-) diff --git a/edit/sections-editor.js b/edit/sections-editor.js index e4b634f5..567a5bc4 100644 --- a/edit/sections-editor.js +++ b/edit/sections-editor.js @@ -591,27 +591,21 @@ function createSectionsEditor(editorBase) { updateSectionOrder(); } - function replaceStyle(newStyle, codeIsUpdated) { + async function replaceStyle(newStyle, codeIsUpdated) { dirty.clear('name'); // FIXME: avoid recreating all editors? - reinit().then(() => { - Object.assign(style, newStyle); - updateHeader(); - dirty.clear(); - // Go from new style URL to edit style URL - if (location.href.indexOf('id=') === -1 && style.id) { - history.replaceState({}, document.title, 'edit.html?id=' + style.id); - $('#heading').textContent = t('editStyleHeading'); - } - livePreview.show(Boolean(style.id)); - updateLivePreview(); - }); - - function reinit() { - if (codeIsUpdated !== false) { - return initSections(newStyle.sections, {replace: true, pristine: true}); - } - return Promise.resolve(); + if (codeIsUpdated !== false) { + await initSections(newStyle.sections, {replace: true, pristine: true}); } + Object.assign(style, newStyle); + updateHeader(); + dirty.clear(); + // Go from new style URL to edit style URL + if (location.href.indexOf('id=') === -1 && style.id) { + history.replaceState({}, document.title, 'edit.html?id=' + style.id); + $('#heading').textContent = t('editStyleHeading'); + } + livePreview.show(Boolean(style.id)); + updateLivePreview(); } } From bf40fa81e8567098d76c5b91dd87648e9a3078b1 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 26 Oct 2020 17:39:07 +0300 Subject: [PATCH 011/291] async'ify msg, don't throw for flow control (#1078) --- background/background.js | 2 +- content/apply.js | 11 +- js/msg.js | 389 +++++++++++++++------------------------ 3 files changed, 151 insertions(+), 251 deletions(-) diff --git a/background/background.js b/background/background.js index 0c4eaaf7..2102eadf 100644 --- a/background/background.js +++ b/background/background.js @@ -258,7 +258,7 @@ if (FIREFOX && browser.commands && browser.commands.update) { }); } -msg.broadcastTab({method: 'backgroundReady'}); +msg.broadcast({method: 'backgroundReady'}); function webNavIframeHelperFF({tabId, frameId}) { if (!frameId) return; diff --git a/content/apply.js b/content/apply.js index 6f180fa4..7ab275f6 100644 --- a/content/apply.js +++ b/content/apply.js @@ -155,13 +155,10 @@ self.INJECTED !== 1 && (() => { break; case 'backgroundReady': - initializing - .catch(err => { - if (msg.RX_NO_RECEIVER.test(err.message)) { - return init(); - } - }) - .catch(console.error); + initializing.catch(err => + msg.isIgnorableError(err) + ? init() + : console.error(err)); break; case 'updateCount': diff --git a/js/msg.js b/js/msg.js index 53f17bfa..57ca488b 100644 --- a/js/msg.js +++ b/js/msg.js @@ -1,258 +1,161 @@ -/* global promisifyChrome deepCopy */ -// deepCopy is only used if the script is executed in extension pages. +/* global promisifyChrome */ +/* global deepCopy getOwnTab URLS */ // not used in content scripts 'use strict'; -self.msg = self.INJECTED === 1 ? self.msg : (() => { +// eslint-disable-next-line no-unused-expressions +window.INJECTED !== 1 && (() => { promisifyChrome({ - runtime: ['sendMessage'], + runtime: ['sendMessage', 'getBackgroundPage'], tabs: ['sendMessage', 'query'], }); - const isBg = chrome.extension.getBackgroundPage && chrome.extension.getBackgroundPage() === window; - if (isBg) { - window._msg = { - handler: null, - clone: deepCopy - }; - } - const bgReady = getBg(); - const EXTENSION_URL = chrome.runtime.getURL(''); - let handler; - const RX_NO_RECEIVER = /Receiving end does not exist/; - // typo in Chrome 49 - const RX_PORT_CLOSED = /The message port closed before a res?ponse was received/; - return { - send, - sendTab, - sendBg, - broadcast, - broadcastTab, - broadcastExtension, - ignoreError, - on, - onTab, - onExtension, - off, - RX_NO_RECEIVER, - RX_PORT_CLOSED, - isBg, + const TARGETS = Object.assign(Object.create(null), { + all: ['both', 'tab', 'extension'], + extension: ['both', 'extension'], + tab: ['both', 'tab'], + }); + const NEEDS_TAB_IN_SENDER = [ + 'getTabUrlPrefix', + 'updateIconBadge', + 'styleViaAPI', + ]; + const ERR_NO_RECEIVER = 'Receiving end does not exist'; + const ERR_PORT_CLOSED = 'The message port closed before'; + const handler = { + both: new Set(), + tab: new Set(), + extension: new Set(), }; - function getBg() { - if (isBg) { - return Promise.resolve(window); - } - // try using extension.getBackgroundPage because runtime.getBackgroundPage is too slow - // https://github.com/openstyles/stylus/issues/771 - if (chrome.extension.getBackgroundPage) { - const bg = chrome.extension.getBackgroundPage(); - if (bg && bg.document && bg.document.readyState !== 'loading') { - return Promise.resolve(bg); - } - } - if (chrome.runtime.getBackgroundPage) { - promisifyChrome({ - runtime: ['getBackgroundPage'], - }); - return browser.runtime.getBackgroundPage().catch(() => null); - } - return Promise.resolve(null); + let bg = chrome.extension.getBackgroundPage && chrome.extension.getBackgroundPage(); + const isBg = bg === window; + if (!isBg && (!bg || !bg.document || bg.document.readyState === 'loading')) { + bg = null; } - function send(data, target = 'extension') { - const message = {data, target}; - return browser.runtime.sendMessage(message).then(unwrapData); - } + // TODO: maybe move into polyfill.js and hook addListener + sendMessage so they wrap/unwrap automatically + const wrapData = data => ({ + data, + }); + const wrapError = error => ({ + error: Object.assign({ + message: error.message || `${error}`, + stack: error.stack, + }, error), // passing custom properties e.g. `error.index` + }); + const unwrapResponse = ({data, error} = {error: {message: ERR_NO_RECEIVER}}) => + error + ? Promise.reject(Object.assign(new Error(error.message), error)) + : data; + chrome.runtime.onMessage.addListener(({data, target}, sender, sendResponse) => { + const res = window.msg._execute(TARGETS[target] || TARGETS.all, data, sender); + if (res instanceof Promise) { + res.then(wrapData, wrapError).then(sendResponse); + return true; + } + if (res !== undefined) sendResponse(wrapData(res)); + }); - function sendTab(tabId, data, options, target = 'tab') { - return browser.tabs.sendMessage(tabId, {data, target}, options) - .then(unwrapData); - } + // This direct assignment allows IDEs to provide autocomplete for msg methods automatically + const msg = window.msg = { + isBg, - function sendBg(data) { - return bgReady.then(bg => { - if (bg) { - if (!bg._msg.handler) { - throw new Error('there is no bg handler'); + async broadcast(data) { + const requests = [msg.send(data, 'both').catch(msg.ignoreError)]; + for (const tab of await browser.tabs.query({})) { + const url = tab.pendingUrl || tab.url; + if (!tab.discarded && + !url.startsWith(URLS.ownOrigin) && + URLS.supported(url)) { + requests[tab.active ? 'unshift' : 'push']( + msg.sendTab(tab.id, data, null, 'both').catch(msg.ignoreError)); + } + } + return Promise.all(requests); + }, + + broadcastExtension(...args) { + return msg.send(...args).catch(msg.ignoreError); + }, + + isIgnorableError(err) { + const msg = `${err && err.message || err}`; + return msg.includes(ERR_NO_RECEIVER) || msg.includes(ERR_PORT_CLOSED); + }, + + ignoreError(err) { + if (!msg.isIgnorableError(err)) { + console.warn(err); + } + }, + + on(fn) { + handler.both.add(fn); + }, + + onTab(fn) { + handler.tab.add(fn); + }, + + onExtension(fn) { + handler.extension.add(fn); + }, + + off(fn) { + for (const type of TARGETS.all) { + handler[type].delete(fn); + } + }, + + send(data, target = 'extension') { + return browser.runtime.sendMessage({data, target}) + .then(unwrapResponse); + }, + + sendTab(tabId, data, options, target = 'tab') { + return browser.tabs.sendMessage(tabId, {data, target}, options) + .then(unwrapResponse); + }, + + _execute(types, ...args) { + let result; + for (const type of types) { + for (const fn of handler[type]) { + let res; + try { + res = fn(...args); + } catch (err) { + res = Promise.reject(err); + } + if (res !== undefined && result === undefined) { + result = res; + } + } + } + return result; + }, + }; + + window.API = new Proxy({}, { + get(target, name) { + // using a named function for convenience when debugging + return async function invokeAPI(...args) { + if (!bg && chrome.tabs) { + bg = await browser.runtime.getBackgroundPage().catch(() => {}); + } + const message = {method: 'invokeAPI', name, args}; + // content scripts, frames and probably private tabs + if (!bg || window !== parent) { + return msg.send(message); } - const handlers = bg._msg.handler.extension.concat(bg._msg.handler.both); // in FF, the object would become a dead object when the window // is closed, so we have to clone the object into background. - return Promise.resolve(executeCallbacks(handlers, bg._msg.clone(data), {url: location.href})) - .then(deepCopy); - } - return send(data); - }); - } - - function ignoreError(err) { - if (err.message && ( - RX_NO_RECEIVER.test(err.message) || - RX_PORT_CLOSED.test(err.message) - )) { - return; - } - console.warn(err); - } - - function broadcast(data, filter) { - return Promise.all([ - send(data, 'both').catch(ignoreError), - broadcastTab(data, filter, null, true, 'both') - ]); - } - - function broadcastTab(data, filter, options, ignoreExtension = false, target = 'tab') { - return browser.tabs.query({}) - // TODO: send to activated tabs first? - .then(tabs => { - const requests = []; - for (const tab of tabs) { - const tabUrl = tab.pendingUrl || tab.url; - const isExtension = tabUrl.startsWith(EXTENSION_URL); - if ( - tab.discarded || - // FIXME: use `URLS.supported`? - !/^(http|ftp|file)/.test(tabUrl) && - !tabUrl.startsWith('chrome://newtab/') && - !isExtension || - isExtension && ignoreExtension || - filter && !filter(tab) - ) { - continue; - } - const dataObj = typeof data === 'function' ? data(tab) : data; - if (!dataObj) { - continue; - } - const message = {data: dataObj, target}; - if (tab && tab.id) { - requests.push( - browser.tabs.sendMessage(tab.id, message, options) - .then(unwrapData) - .catch(ignoreError) - ); - } - } - return Promise.all(requests); - }); - } - - function broadcastExtension(...args) { - return send(...args).catch(ignoreError); - } - - function on(fn) { - initHandler(); - handler.both.push(fn); - } - - function onTab(fn) { - initHandler(); - handler.tab.push(fn); - } - - function onExtension(fn) { - initHandler(); - handler.extension.push(fn); - } - - function off(fn) { - for (const type of ['both', 'tab', 'extension']) { - const index = handler[type].indexOf(fn); - if (index >= 0) { - handler[type].splice(index, 1); - } - } - } - - function initHandler() { - if (handler) { - return; - } - handler = { - both: [], - tab: [], - extension: [] - }; - if (isBg) { - window._msg.handler = handler; - } - chrome.runtime.onMessage.addListener(handleMessage); - } - - function executeCallbacks(callbacks, ...args) { - let result; - for (const fn of callbacks) { - const data = withPromiseError(fn, ...args); - if (data !== undefined && result === undefined) { - result = data; - } - } - return result; - } - - function handleMessage(message, sender, sendResponse) { - const handlers = message.target === 'tab' ? - handler.tab.concat(handler.both) : message.target === 'extension' ? - handler.extension.concat(handler.both) : - handler.both.concat(handler.extension, handler.tab); - if (!handlers.length) { - return; - } - const result = executeCallbacks(handlers, message.data, sender); - if (result === undefined) { - return; - } - Promise.resolve(result) - .then( - data => ({ - error: false, - data - }), - err => ({ - error: true, - data: Object.assign({ - message: err.message || String(err), - // FIXME: do we want to pass the entire stack? - stack: err.stack - }, err) // this allows us to pass custom properties e.g. `err.index` - }) - ) - .then(sendResponse); - return true; - } - - function withPromiseError(fn, ...args) { - try { - return fn(...args); - } catch (err) { - return Promise.reject(err); - } - } - - // {type, error, data, id} - function unwrapData(result) { - if (result === undefined) { - throw new Error('Receiving end does not exist'); - } - if (result.error) { - throw Object.assign(new Error(result.data.message), result.data); - } - return result.data; - } + const res = bg.msg._execute(TARGETS.extension, bg.deepCopy(message), { + frameId: 0, + tab: NEEDS_TAB_IN_SENDER.includes(name) && await getOwnTab(), + url: location.href, + }); + return deepCopy(await res); + }; + }, + }); })(); - -self.API = self.INJECTED === 1 ? self.API : new Proxy({ - // Handlers for these methods need sender.tab.id which is set by `send` as it uses messaging, - // unlike `sendBg` which invokes the background page directly in our own extension tabs - getTabUrlPrefix: true, - updateIconBadge: true, - styleViaAPI: true, -}, { - get: (target, name) => - (...args) => Promise.resolve(self.msg[target[name] ? 'send' : 'sendBg']({ - method: 'invokeAPI', - name, - args - })) -}); From 89431615b35daa88ba0dec24447bd12496617257 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 26 Oct 2020 18:03:41 +0300 Subject: [PATCH 012/291] improve colorpicker dialog (#1079) * switch to a user-resizable palette * allow moving * remove hideDelay --- _locales/en/messages.json | 7 + edit/colorpicker-helper.js | 9 +- js/prefs.js | 1 + manage/config-dialog.js | 1 - vendor-overwrites/colorpicker/colorpicker.css | 74 +++- vendor-overwrites/colorpicker/colorpicker.js | 371 +++++++++--------- vendor-overwrites/colorpicker/colorview.js | 33 +- 7 files changed, 280 insertions(+), 216 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 51dddb1a..638e5b3b 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -182,6 +182,9 @@ "message": "Theme", "description": "Label for the style editor's CSS theme." }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines" + }, "colorpickerSwitchFormatTooltip": { "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", "description": "Tooltip for the switch button in the color picker popup in the style editor." @@ -938,6 +941,10 @@ "message": "No styles installed for this site.", "description": "Text displayed when no styles are installed for the current site" }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, "openManage": { "message": "Manage", "description": "Link to open the manage page." diff --git a/edit/colorpicker-helper.js b/edit/colorpicker-helper.js index 48297a3e..f47a3dfe 100644 --- a/edit/colorpicker-helper.js +++ b/edit/colorpicker-helper.js @@ -23,13 +23,20 @@ tooltip: t('colorpickerTooltip'), popup: { tooltipForSwitcher: t('colorpickerSwitchFormatTooltip'), + paletteLine: t('numberedLine'), + paletteHint: t('colorpickerPaletteHint'), hexUppercase: prefs.get('editor.colorpicker.hexUppercase'), - hideDelay: 30e3, embedderCallback: state => { ['hexUppercase', 'color'] .filter(name => state[name] !== prefs.get('editor.colorpicker.' + name)) .forEach(name => prefs.set('editor.colorpicker.' + name, state[name])); }, + get maxHeight() { + return prefs.get('editor.colorpicker.maxHeight'); + }, + set maxHeight(h) { + prefs.set('editor.colorpicker.maxHeight', h); + }, }, }; } else { diff --git a/js/prefs.js b/js/prefs.js index 36864dcd..c000e394 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -86,6 +86,7 @@ self.prefs = self.INJECTED === 1 ? self.prefs : (() => { 'editor.colorpicker.hotkey': '', // last color 'editor.colorpicker.color': '', + 'editor.colorpicker.maxHeight': 300, // Firefox-only chrome.commands.update 'hotkey._execute_browser_action': '', diff --git a/manage/config-dialog.js b/manage/config-dialog.js index ed36cef6..9bb3bbd6 100644 --- a/manage/config-dialog.js +++ b/manage/config-dialog.js @@ -399,7 +399,6 @@ function configDialog(style) { color: this.va.value || this.va.default, top: this.getBoundingClientRect().bottom - 5, left: box.getBoundingClientRect().left - 360, - hideDelay: 1e6, guessBrightness: box, callback: onColorChanged, }); diff --git a/vendor-overwrites/colorpicker/colorpicker.css b/vendor-overwrites/colorpicker/colorpicker.css index 965c00d9..aa36e27a 100644 --- a/vendor-overwrites/colorpicker/colorpicker.css +++ b/vendor-overwrites/colorpicker/colorpicker.css @@ -77,9 +77,13 @@ } .colorpicker-popup { - --switcher-width: 30px; - position: relative; + --switcher-width: 29px; + --sat-height: 120px; + position: fixed; + display: flex; + flex-direction: column; width: 325px; + max-height: var(--fit-height); z-index: 1000; transition: opacity .5s; color: var(--label-color); @@ -90,17 +94,42 @@ user-select: none; } -.colorpicker-popup[data-fading="1"] { - opacity: .75; +.colorpicker-popup[data-moving] { + opacity: .5; + cursor: move; } -.colorpicker-popup[data-fading="2"] { - opacity: 0; +.colorpicker-popup[data-resizing] { + max-height: 90vh !important; +} + +.colorpicker-popup[data-resizable] { + resize: vertical; + overflow: hidden; +} + +.colorpicker-popup-mover { + position: absolute; + box-sizing: border-box; + width: calc(var(--switcher-width) - 10px); + height: 50px; + padding: 5px; + margin-top: 5px; + top: var(--sat-height); + right: 3px; + background: repeating-linear-gradient(to right, + currentColor, currentColor 1px, transparent 1px, transparent 3px); + cursor: move; + -webkit-background-clip: content-box; + background-clip: content-box; + opacity: .5; + z-index: 2; } .colorpicker-saturation-container { position: relative; - height: 120px; + height: var(--sat-height); + flex: 0 0 var(--sat-height); overflow: hidden; cursor: pointer; } @@ -145,7 +174,7 @@ .colorpicker-sliders { position: relative; - padding: 10px 0 6px 0; + padding: 10px calc(var(--switcher-width) - 12px) 6px 0; border-top: 1px solid transparent; } @@ -156,10 +185,10 @@ .colorpicker-swatch, .colorpicker-empty { position: absolute; - left: 11px; - top: 17px; - width: 30px; - height: 30px; + left: 10px; + top: 12px; + width: 38px; + height: 38px; border-radius: 50%; box-sizing: border-box; border: 1px solid var(--input-border-color); @@ -349,13 +378,24 @@ } .colorpicker-palette:not(:empty) { - padding: 0 8px 8px; - min-height: 14px; /* same as padding-left in .colorview-swatch */ - max-height: 10vw; - overflow: auto; + --swatch-size: 16px; + margin: 0 var(--margin) var(--margin); + min-height: calc(var(--swatch-size) - 4px); + overflow-y: auto; box-sizing: content-box; } .colorpicker-palette .colorview-swatch { - padding-bottom: 14px; /* same as padding-left in .colorview-swatch */ + padding: calc(var(--swatch-size) / 2 + 1px); +} + +.colorpicker-palette .colorview-swatch::before { + width: var(--swatch-size); + height: var(--swatch-size); +} + +.colorpicker-palette-hint { + vertical-align: super; + padding: 0 .5em; + font-weight: bold; } diff --git a/vendor-overwrites/colorpicker/colorpicker.js b/vendor-overwrites/colorpicker/colorpicker.js index b16e7380..f20812f8 100644 --- a/vendor-overwrites/colorpicker/colorpicker.js +++ b/vendor-overwrites/colorpicker/colorpicker.js @@ -14,6 +14,9 @@ {hex: '#ff00ff', start: .83}, {hex: '#ff0000', start: 1} ]; + const MIN_HEIGHT = 220; + const MARGIN = 8; + let maxHeight = '0px'; let HSV = {}; let currentFormat; @@ -23,14 +26,18 @@ let shown = false; let options = {}; - let $root; - let $sat, $satPointer; - let $hue, $hueKnob; - let $opacity, $opacityBar, $opacityKnob; - let $swatch; - let $formatChangeButton; - let $hexCode; - let $palette; + let /** @type {HTMLElement} */ $root; + let /** @type {HTMLElement} */ $sat; + let /** @type {HTMLElement} */ $satPointer; + let /** @type {HTMLElement} */ $hue; + let /** @type {HTMLElement} */ $hueKnob; + let /** @type {HTMLElement} */ $opacity; + let /** @type {HTMLElement} */ $opacityBar; + let /** @type {HTMLElement} */ $opacityKnob; + let /** @type {HTMLElement} */ $swatch; + let /** @type {HTMLElement} */ $formatChangeButton; + let /** @type {HTMLElement} */ $hexCode; + let /** @type {HTMLElement} */ $palette; const $inputGroups = {}; const $inputs = {}; const $rgb = {}; @@ -45,15 +52,13 @@ saturation: false, hue: false, opacity: false, + popup: false, }; let prevFocusedElement; let lastOutputColor; let userActivity; - let timerCloseColorPicker; - let timerFadeColorPicker; - const PUBLIC_API = { $root, show, @@ -67,106 +72,107 @@ //region DOM function init() { - // simplified createElement - function $(a, b) { - const cls = typeof a === 'string' || Array.isArray(a) ? a : ''; - const props = b || a; - const {tag = 'div', children} = props || {}; - const el = document.createElement(tag); - el.className = (Array.isArray(cls) ? cls : [cls]) - .map(c => (c ? CSS_PREFIX + c : '')) - .join(' '); - if (!props) { - return el; + /** @returns {HTMLElement} */ + function $(cls, props = {}, children = []) { + if (Array.isArray(props) || typeof props === 'string' || props instanceof Node) { + children = props; + props = {}; } - for (const child of Array.isArray(children) ? children : [children]) { - if (child) { - el.appendChild(child instanceof Node ? child : document.createTextNode(child)); - } - } - delete props.tag; - delete props.children; + const el = document.createElement(props.tag || 'div'); + el.className = toArray(cls).map(c => c ? CSS_PREFIX + c : '').join(' '); + el.append(...toArray(children)); + if (props) delete props.tag; return Object.assign(el, props); } const alphaPattern = /^\s*(0+\.?|0*\.\d+|0*1\.?|0*1\.0*)?\s*$/.source; - $root = $('popup', {children: [ - $sat = $('saturation-container', {children: [ - $('saturation', {children: [ - $('value', {children: [ + $root = $('popup', { + oninput: setFromInputs, + onkeydown: setFromKeyboard, + }, [ + $sat = $('saturation-container', { + onmousedown: onSaturationMouseDown, + onmouseup: onSaturationMouseUp, + }, [ + $('saturation', [ + $('value', [ $satPointer = $('drag-pointer'), - ]}), - ]}), - ]}), - $('sliders', {children: [ - $('hue', {children: [ - $hue = $('hue-container', {children: [ - $hueKnob = $('hue-knob'), - ]}), - ]}), - $('opacity', {children: [ - $opacity = $('opacity-container', {children: [ + ]), + ]), + ]), + $('popup-mover', {onmousedown: onPopupMoveStart}), + $('sliders', [ + $('hue', {onmousedown: onHueMouseDown}, [ + $hue = $('hue-container', [ + $hueKnob = $('hue-knob', {onmousedown: onHueKnobMouseDown}), + ]), + ]), + $('opacity', [ + $opacity = $('opacity-container', {onmousedown: onOpacityMouseDown}, [ $opacityBar = $('opacity-bar'), - $opacityKnob = $('opacity-knob'), - ]}), - ]}), + $opacityKnob = $('opacity-knob', {onmousedown: onOpacityKnobMouseDown}), + ]), + ]), $('empty'), $swatch = $('swatch'), - ]}), - $(['input-container', 'hex'], {children: [ - $inputGroups.hex = $(['input-group', 'hex'], {children: [ - $(['input-field', 'hex'], {children: [ + ]), + $(['input-container', 'hex'], [ + $inputGroups.hex = $(['input-group', 'hex'], [ + $(['input-field', 'hex'], [ $hexCode = $('input', {tag: 'input', type: 'text', spellcheck: false, pattern: /^\s*#([a-fA-F\d]{3}([a-fA-F\d]([a-fA-F\d]{2}([a-fA-F\d]{2})?)?)?)\s*$/.source }), - $('title', {children: [ - $hexLettercase.true = $('title-action', {textContent: 'HEX'}), + $('title', [ + $hexLettercase.true = $('title-action', {onclick: onHexLettercaseClicked}, 'HEX'), '\xA0/\xA0', - $hexLettercase.false = $('title-action', {textContent: 'hex'}), - ]}), - ]}), - ]}), - $inputGroups.rgb = $(['input-group', 'rgb'], {children: [ - $(['input-field', 'rgb-r'], {children: [ + $hexLettercase.false = $('title-action', {onclick: onHexLettercaseClicked}, 'hex'), + ]), + ]), + ]), + $inputGroups.rgb = $(['input-group', 'rgb'], [ + $(['input-field', 'rgb-r'], [ $rgb.r = $('input', {tag: 'input', type: 'number', min: 0, max: 255, step: 1}), - $('title', {textContent: 'R'}), - ]}), - $(['input-field', 'rgb-g'], {children: [ + $('title', 'R'), + ]), + $(['input-field', 'rgb-g'], [ $rgb.g = $('input', {tag: 'input', type: 'number', min: 0, max: 255, step: 1}), - $('title', {textContent: 'G'}), - ]}), - $(['input-field', 'rgb-b'], {children: [ + $('title', 'G'), + ]), + $(['input-field', 'rgb-b'], [ $rgb.b = $('input', {tag: 'input', type: 'number', min: 0, max: 255, step: 1}), - $('title', {textContent: 'B'}), - ]}), - $(['input-field', 'rgb-a'], {children: [ + $('title', 'B'), + ]), + $(['input-field', 'rgb-a'], [ $rgb.a = $('input', {tag: 'input', type: 'text', pattern: alphaPattern, spellcheck: false}), - $('title', {textContent: 'A'}), - ]}), - ]}), - $inputGroups.hsl = $(['input-group', 'hsl'], {children: [ - $(['input-field', 'hsl-h'], {children: [ + $('title', 'A'), + ]), + ]), + $inputGroups.hsl = $(['input-group', 'hsl'], [ + $(['input-field', 'hsl-h'], [ $hsl.h = $('input', {tag: 'input', type: 'number', step: 1}), - $('title', {textContent: 'H'}), - ]}), - $(['input-field', 'hsl-s'], {children: [ + $('title', 'H'), + ]), + $(['input-field', 'hsl-s'], [ $hsl.s = $('input', {tag: 'input', type: 'number', min: 0, max: 100, step: 1}), - $('title', {textContent: 'S'}), - ]}), - $(['input-field', 'hsl-l'], {children: [ + $('title', 'S'), + ]), + $(['input-field', 'hsl-l'], [ $hsl.l = $('input', {tag: 'input', type: 'number', min: 0, max: 100, step: 1}), - $('title', {textContent: 'L'}), - ]}), - $(['input-field', 'hsl-a'], {children: [ + $('title', 'L'), + ]), + $(['input-field', 'hsl-a'], [ $hsl.a = $('input', {tag: 'input', type: 'text', pattern: alphaPattern, spellcheck: false}), - $('title', {textContent: 'A'}), - ]}), - ]}), - $('format-change', {children: [ - $formatChangeButton = $('format-change-button', {textContent: '↔'}), - ]}), - ]}), - $palette = $('palette'), - ]}); + $('title', 'A'), + ]), + ]), + $('format-change', [ + $formatChangeButton = $('format-change-button', {onclick: setFromFormatElement}, '↔'), + ]), + ]), + $palette = $('palette', { + onclick: onPaletteClicked, + oncontextmenu: onPaletteClicked, + }), + ]); $inputs.hex = [$hexCode]; $inputs.rgb = [$rgb.r, $rgb.g, $rgb.b, $rgb.a]; @@ -184,7 +190,7 @@ }); HUE_COLORS.forEach(color => Object.assign(color, colorConverter.parse(color.hex))); - + $root.style.setProperty('--margin', MARGIN + 'px'); initialized = true; } @@ -202,16 +208,12 @@ userActivity = 0; lastOutputColor = opt.color || ''; $formatChangeButton.title = opt.tooltipForSwitcher || ''; - opt.hideDelay = Math.max(0, opt.hideDelay) || 2000; + maxHeight = `${opt.maxHeight || 300}px`; $root.className = $root.className.replace(new RegExp(CSS_PREFIX + 'theme-\\S+\\s*'), '') + ' ' + CSS_PREFIX + 'theme-' + (opt.theme === 'dark' || opt.theme === 'light' ? opt.theme : guessTheme()); - $root.style = ` - display: block !important; - position: fixed !important; - `; document.body.appendChild($root); shown = true; @@ -220,13 +222,22 @@ setFromColor(opt.color); setFromHexLettercaseElement(); - if (!isNaN(options.left) && !isNaN(options.top)) { - reposition(); - } if (Array.isArray(options.palette)) { // Might need to clear a lot of elements so this is known to be faster than textContent = '' while ($palette.firstChild) $palette.firstChild.remove(); - $palette.append(...(options.palette)); + $palette.append(...options.palette); + if (options.palette.length) { + $root.dataset.resizable = ''; + $root.addEventListener('mousedown', onPopupResizeStart); + fitPaletteHeight(); + } else { + delete $root.dataset.resizable; + $root.removeEventListener('mousedown', onPopupResizeStart); + } + } + + if (!isNaN(options.left) && !isNaN(options.top)) { + reposition(); } } @@ -299,8 +310,9 @@ event.preventDefault(); const w = $sat.offsetWidth; const h = $sat.offsetHeight; - const deltaX = event.clientX - parseFloat($root.style.left); - const deltaY = event.clientY - parseFloat($root.style.top); + const bb = $root.getBoundingClientRect(); + const deltaX = event.clientX - bb.left; + const deltaY = event.clientY - bb.top; const x = dragging.saturationPointerPos.x = constrain(0, w, deltaX); const y = dragging.saturationPointerPos.y = constrain(0, h, deltaY); @@ -546,6 +558,52 @@ //endregion //region Event listeners + /** @param {MouseEvent} event */ + function onPopupMoveStart(event) { + if (!event.button && !hasModifiers(event)) { + captureMouse(event, 'popup'); + $root.dataset.moving = ''; + const [x, y] = ($root.style.transform.match(/[-.\d]+/g) || []).map(parseFloat); + dragging.popupX = event.clientX - (x || 0); + dragging.popupY = event.clientY - (y || 0); + document.addEventListener('mouseup', onPopupMoveEnd); + } + } + + /** @param {MouseEvent} event */ + function onPopupMove({clientX: x, clientY: y}) { + $root.style.transform = `translate(${x - dragging.popupX}px, ${y - dragging.popupY}px)`; + } + + /** @param {MouseEvent} event */ + function onPopupMoveEnd(event) { + if (!event.button) { + document.addEventListener('mouseup', onPopupMoveEnd); + delete $root.dataset.moving; + } + } + + /** @param {MouseEvent} event */ + function onPopupResizeStart(event) { + if (event.target === $root && !event.button && !hasModifiers(event)) { + document.addEventListener('mouseup', onPopupResizeEnd); + $root.dataset.resizing = ''; + } + } + + /** @param {MouseEvent} event */ + function onPopupResizeEnd(event) { + if (!event.button) { + delete $root.dataset.resizing; + document.removeEventListener('mouseup', onPopupResizeEnd); + if (maxHeight !== $root.style.height) { + maxHeight = $root.style.height; + PUBLIC_API.options.maxHeight = parseFloat(maxHeight); + fitPaletteHeight(); + } + } + } + function onHexLettercaseClicked() { options.hexUppercase = !options.hexUppercase; setFromHexLettercaseElement(); @@ -583,19 +641,19 @@ /** @param {MouseEvent} e */ function onPaletteClicked(e) { - if (e.target !== e.currentTarget) { - e.preventDefault(); + if (e.target !== e.currentTarget && e.target.__color) { if (!e.button && setColor(e.target.__color)) { userActivity = performance.now(); colorpickerCallback(); - } else if (e.button === 2 && options.paletteCallback) { + } else if (e.button && options.paletteCallback) { + e.preventDefault(); // suppress the default context menu options.paletteCallback(e.target); } } } function onMouseUp(event) { - releaseMouse(event, ['saturation', 'hue', 'opacity']); + releaseMouse(event, ['saturation', 'hue', 'opacity', 'popup']); if (onMouseDown.outsideClick) { if (!prevFocusedElement) hide(); } @@ -610,33 +668,15 @@ } function onMouseMove(event) { - if (event.button !== 0) { - return; - } - if (dragging.saturation) { - setFromSaturationElement(event); - } else if (dragging.hue) { - setFromHueElement(event); - } else if (dragging.opacity) { - setFromOpacityElement(event); - } - } - - function stopSnoozing() { - clearTimeout(timerCloseColorPicker); - clearTimeout(timerFadeColorPicker); - if ($root.dataset.fading) { - delete $root.dataset.fading; - } - } - - function snooze() { - clearTimeout(timerFadeColorPicker); - timerFadeColorPicker = setTimeout(fade, options.hideDelay / 2); + if (event.button) return; + if (dragging.saturation) setFromSaturationElement(event); + if (dragging.hue) setFromHueElement(event); + if (dragging.opacity) setFromOpacityElement(event); + if (dragging.popup) onPopupMove(event); } function onKeyDown(e) { - if (!e.shiftKey && !e.ctrlKey && !e.altKey && !e.metaKey) { + if (!hasModifiers(e)) { switch (e.key) { case 'Enter': case 'Escape': @@ -688,13 +728,17 @@ if (!mode) { return; } - for (const m of (Array.isArray(mode) ? mode : [mode])) { + for (const m of toArray(mode)) { dragging[m] = true; } userActivity = performance.now(); return true; } + function hasModifiers(e) { + return e.shiftKey || e.ctrlKey || e.altKey || e.metaKey; + } + function releaseMouse(event, mode) { if (event && event.button !== 0) { return; @@ -704,7 +748,7 @@ if (!mode) { return; } - for (const m of (Array.isArray(mode) ? mode : [mode])) { + for (const m of toArray(mode)) { dragging[m] = false; } userActivity = performance.now(); @@ -719,48 +763,13 @@ window.addEventListener('keydown', onKeyDown, true); window.addEventListener('mousedown', onMouseDown, true); window.addEventListener('close-colorpicker-popup', onCloseRequest, true); - $root.addEventListener('input', setFromInputs); - $root.addEventListener('keydown', setFromKeyboard); - $formatChangeButton.addEventListener('click', setFromFormatElement); - $sat.addEventListener('mousedown', onSaturationMouseDown); - $sat.addEventListener('mouseup', onSaturationMouseUp); - $hueKnob.addEventListener('mousedown', onHueKnobMouseDown); - $opacityKnob.addEventListener('mousedown', onOpacityKnobMouseDown); - $hue.addEventListener('mousedown', onHueMouseDown); - $opacity.addEventListener('mousedown', onOpacityMouseDown); - $hexLettercase.true.addEventListener('click', onHexLettercaseClicked); - $hexLettercase.false.addEventListener('click', onHexLettercaseClicked); - $palette.addEventListener('click', onPaletteClicked); - $palette.addEventListener('contextmenu', onPaletteClicked); - - stopSnoozing(); - if (!options.isShortCut) { - $root.addEventListener('mouseleave', snooze); - $root.addEventListener('mouseenter', stopSnoozing); - timerFadeColorPicker = setTimeout(fade, options.hideDelay / 2); - } } function unregisterEvents() { window.removeEventListener('keydown', onKeyDown, true); window.removeEventListener('mousedown', onMouseDown, true); window.removeEventListener('close-colorpicker-popup', onCloseRequest, true); - $root.removeEventListener('mouseleave', snooze); - $root.removeEventListener('mouseenter', stopSnoozing); - $root.removeEventListener('input', setFromInputs); - $formatChangeButton.removeEventListener('click', setFromFormatElement); - $sat.removeEventListener('mousedown', onSaturationMouseDown); - $sat.removeEventListener('mouseup', onSaturationMouseUp); - $hueKnob.removeEventListener('mousedown', onHueKnobMouseDown); - $opacityKnob.removeEventListener('mousedown', onOpacityKnobMouseDown); - $hue.removeEventListener('mousedown', onHueMouseDown); - $opacity.removeEventListener('mousedown', onOpacityMouseDown); - $hexLettercase.true.removeEventListener('click', onHexLettercaseClicked); - $hexLettercase.false.removeEventListener('click', onHexLettercaseClicked); - $palette.removeEventListener('click', onPaletteClicked); - $palette.removeEventListener('contextmenu', onPaletteClicked); releaseMouse(); - stopSnoozing(); } //endregion @@ -816,25 +825,13 @@ const maxRightUnobscured = options.left <= maxRight ? maxRight : options.left - width; const left = constrain(0, Math.max(0, maxRightUnobscured), options.left); const top = constrain(0, Math.max(0, maxTopUnobscured), options.top); - $root.style.setProperty('left', left + 'px', 'important'); - $root.style.setProperty('top', top + 'px', 'important'); + $root.style.left = left + 'px'; + $root.style.top = top + 'px'; } - function fade({fadingStage = 1} = {}) { - const timeInactive = performance.now() - userActivity; - const delay = options.hideDelay / 2; - if (userActivity && timeInactive < delay) { - timerFadeColorPicker = setTimeout(fade, delay - timeInactive, 2); - clearTimeout(timerCloseColorPicker); - delete $root.dataset.fading; - return; - } - $root.dataset.fading = fadingStage; - if (fadingStage === 1) { - timerFadeColorPicker = setTimeout(fade, Math.max(0, delay - 500), {fadingStage: 2}); - } else { - timerCloseColorPicker = setTimeout(hide, 500); - } + function fitPaletteHeight() { + const fit = MIN_HEIGHT + $palette.scrollHeight + MARGIN; + $root.style.setProperty('--fit-height', Math.min(fit, parseFloat(maxHeight)) + 'px'); } function maybeFocus(el) { @@ -887,6 +884,10 @@ } } + function toArray(val) { + return !val ? [] : Array.isArray(val) ? val : [val]; + } + //endregion }; diff --git a/vendor-overwrites/colorpicker/colorview.js b/vendor-overwrites/colorpicker/colorview.js index d205e81f..cf0729f7 100644 --- a/vendor-overwrites/colorpicker/colorview.js +++ b/vendor-overwrites/colorpicker/colorview.js @@ -533,7 +533,7 @@ prevColor: data.color || '', callback: popupOnChange, palette: makePalette(state), - paletteCallback: el => paletteCallback(state, el), + paletteCallback, })); } @@ -562,8 +562,9 @@ if (!markedSpans) return; for (const {from, marker: m} of markedSpans) { if (from == null || m.className !== COLORVIEW_CLASS) continue; - nums = palette.get(m.color); - if (!nums) palette.set(m.color, (nums = [])); + const color = m.color.toLowerCase(); + nums = palette.get(color); + if (!nums) palette.set(color, (nums = [])); nums.push(i); } }); @@ -571,29 +572,37 @@ if (palette.size > 1 || nums && nums.length > 1) { const old = new Map((options.popup.palette || []).map(el => [el.__color, el])); for (const [color, data] of palette) { - res.push(old.get(color) || makePaletteSwatch(color, data)); + res.push(old.get(color) || makePaletteSwatch(color, data, options.popup.paletteLine)); } + res.push(Object.assign(document.createElement('span'), { + className: 'colorpicker-palette-hint', + title: options.popup.paletteHint, + textContent: '?', + })); } return res; } - function makePaletteSwatch(color, nums) { + function makePaletteSwatch(color, nums, label) { const s = nums.join(', '); const el = document.createElement('div'); el.className = COLORVIEW_SWATCH_CLASS; el.style.cssText = COLORVIEW_SWATCH_CSS + color; - el.title = color + (!s ? '' : `\nLine: ${s.length > 50 ? s.replace(/([^,]+,\s){10}/g, '$&\n') : s}`); + // break down long lists: 10 per line + el.title = `${color}\n${label} ${s.length > 50 ? s.replace(/([^,]+,\s){10}/g, '$&\n') : s}`; el.__color = color; return el; } - function paletteCallback({cm}, el) { + function paletteCallback(el) { + const {cm} = this; const lines = el.title.split('\n')[1].match(/\d+/g).map(Number); - const curLine = cm.getCursor().line + 1; - const i = lines.indexOf(curLine) + 1; - const pos = {line: (lines[i] || curLine) - 1, ch: 0}; - cm.scrollIntoView(pos, cm.defaultTextHeight()); - cm.setCursor(pos); + const i = lines.indexOf(cm.getCursor().line + 1) + 1; + const line = (lines[i] || lines[0]) - 1; + const vpm = cm.options.viewportMargin; + const inView = line >= cm.display.viewFrom - vpm && line <= cm.display.viewTo - vpm; + cm.scrollIntoView(line, inView ? cm.defaultTextHeight() : cm.display.wrapper.clientHeight / 2); + cm.setCursor(line); } //endregion From 2ed936af0072f99e49566f9ec45666b668829eab Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 25 Oct 2020 16:12:56 +0300 Subject: [PATCH 013/291] don't autojump to first match when opening search --- edit/global-search.js | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/edit/global-search.js b/edit/global-search.js index ad46a4cc..40e377f8 100644 --- a/edit/global-search.js +++ b/edit/global-search.js @@ -22,6 +22,7 @@ onDOMready().then(() => { const RX_MAYBE_REGEXP = /^\s*\/(.+?)\/([simguy]*)\s*$/; const state = { + firstRun: true, // used for case-sensitive matching directly find: '', // used when /re/ is detected or for case-insensitive matching @@ -241,6 +242,7 @@ onDOMready().then(() => { } else { showTally(0, 0); } + state.firstRun = false; return found; } @@ -559,6 +561,7 @@ onDOMready().then(() => { function createDialog(type) { state.originalFocus = document.activeElement; + state.firstRun = true; const dialog = state.dialog = template.searchReplaceDialog.cloneNode(true); Object.assign(dialog, DIALOG_PROPS.dialog); @@ -766,7 +769,7 @@ onDOMready().then(() => { // scrolls the editor to reveal the match function makeMatchVisible(cm, searchCursor) { - const canFocus = !state.dialog || !state.dialog.contains(document.activeElement); + const canFocus = !state.firstRun && (!state.dialog || !state.dialog.contains(document.activeElement)); state.cm = cm; // scroll within the editor @@ -779,12 +782,11 @@ onDOMready().then(() => { unclosedOp: !cm.curOp, }); if (!cm.curOp) cm.startOperation(); - if (canFocus) cm.setSelection(searchCursor.pos.from, searchCursor.pos.to); - cm.scrollIntoView(searchCursor.pos, SCROLL_REVEAL_MIN_PX); - - // scroll to the editor itself - editor.scrollToEditor(cm); - + if (!state.firstRun) { + editor.scrollToEditor(cm); + cm.setSelection(searchCursor.pos.from, searchCursor.pos.to); + cm.scrollIntoView(searchCursor.pos, SCROLL_REVEAL_MIN_PX); + } // focus or expose as the current search target clearMarker(); if (canFocus) { From 2c674bdc0cad71d8dc4cdaf2a4f17683ffd8a4fd Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 25 Oct 2020 16:19:15 +0300 Subject: [PATCH 014/291] remove the extraneous margin between applies-to --- edit/edit.css | 4 ---- 1 file changed, 4 deletions(-) diff --git a/edit/edit.css b/edit/edit.css index ffd56f7e..8301a737 100644 --- a/edit/edit.css +++ b/edit/edit.css @@ -853,10 +853,6 @@ body.linter-disabled .hidden-unless-compact { margin: 0; } -.CodeMirror-linewidget .applies-to li + li { - margin-top: 0.35rem; -} - .CodeMirror-linewidget .applies-to li[data-type="regexp"] .test-regexp { display: inline; } From 2a6850c02e5bb52830ab47e2a6c805d7e8177510 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 25 Oct 2020 16:29:17 +0300 Subject: [PATCH 015/291] avoid scrollbar due to incremental search + subsequent filter --- manage/incremental-search.js | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/manage/incremental-search.js b/manage/incremental-search.js index 4027dc27..5fa6648b 100644 --- a/manage/incremental-search.js +++ b/manage/incremental-search.js @@ -15,10 +15,11 @@ onDOMready().then(() => { position: 'absolute', color: 'transparent', border: '1px solid hsla(180, 100%, 100%, .5)', - top: '-1000px', + margin: '-1px -2px', overflow: 'hidden', resize: 'none', 'background-color': 'hsla(180, 100%, 100%, .2)', + 'box-sizing': 'content-box', 'pointer-events': 'none', }); document.body.appendChild(input); @@ -48,6 +49,7 @@ onDOMready().then(() => { } let found; for (const entry of rotated || entries) { + if (entry.classList.contains('hidden')) continue; const name = entry.styleNameLowerCase; const pos = name.indexOf(text); if (pos === 0) { @@ -67,7 +69,11 @@ onDOMready().then(() => { focusedName = found.styleNameLowerCase; scrollElementIntoView(found, {invalidMarginRatio: .25}); animateElement(found, {className: 'highlight-quick'}); - resizeTo(focusedLink); + replaceInlineStyle({ + width: focusedLink.offsetWidth + 'px', + height: focusedLink.offsetHeight + 'px', + }); + focusedLink.prepend(input); return true; } } @@ -111,17 +117,6 @@ onDOMready().then(() => { } } - function resizeTo(el) { - const bounds = el.getBoundingClientRect(); - const base = document.scrollingElement; - replaceInlineStyle({ - left: bounds.left - 2 + base.scrollLeft + 'px', - top: bounds.top - 1 + base.scrollTop + 'px', - width: bounds.width + 4 + 'px', - height: bounds.height + 2 + 'px', - }); - } - function replaceInlineStyle(css) { for (const prop in css) { input.style.setProperty(prop, css[prop], 'important'); From bd3f630617dd78e022319b6e3ae6cadacb36e175 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 25 Oct 2020 23:44:05 +0300 Subject: [PATCH 016/291] use a safe regexp for comments --- vendor-overwrites/colorpicker/colorview.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vendor-overwrites/colorpicker/colorview.js b/vendor-overwrites/colorpicker/colorview.js index cf0729f7..3e57758c 100644 --- a/vendor-overwrites/colorpicker/colorview.js +++ b/vendor-overwrites/colorpicker/colorview.js @@ -51,7 +51,7 @@ ')', 'gi'); const RX_DETECT_FUNC = /(rgb|hsl)a?\(/iy; - const RX_COMMENT = /\/\*[\s\S]*?(?:\*\/|$)/g; + const RX_COMMENT = /\/\*([^*]|\*(?!\/))*(\*\/|$)/g; const SPACE1K = ' '.repeat(1000); // milliseconds to work on invisible colors per one run From 2747d3930b39efa5754a7d981cc5bf0bddcd17ad Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 26 Oct 2020 15:36:18 +0300 Subject: [PATCH 017/291] simplify resizing of editor-in-new-window --- edit/edit.js | 86 ++++++++++++++++++++++------------------------------ 1 file changed, 37 insertions(+), 49 deletions(-) diff --git a/edit/edit.js b/edit/edit.js index 7a4bbb2e..5f38cd89 100644 --- a/edit/edit.js +++ b/edit/edit.js @@ -1,13 +1,11 @@ /* global CodeMirror onDOMready prefs setupLivePrefs $ $$ $create t tHTML createSourceEditor sessionStorageHash getOwnTab FIREFOX API tryCatch - closeCurrentTab messageBox debounce + closeCurrentTab messageBox debounce tryJSONparse initBeautifyButton ignoreChromeError dirtyReporter linter moveFocus msg createSectionsEditor rerouteHotkeys CODEMIRROR_THEMES */ /* exported showCodeMirrorPopup editorWorker toggleContextMenuDelete */ 'use strict'; -let saveSizeOnClose; - // direct & reverse mapping of @-moz-document keywords and internal property names const propertyToCss = {urls: 'url', urlPrefixes: 'url-prefix', domains: 'domain', regexps: 'regexp'}; const CssToProperty = Object.entries(propertyToCss) @@ -17,10 +15,9 @@ const CssToProperty = Object.entries(propertyToCss) }, {}); let editor; - +let isWindowed; let scrollPointTimer; -document.addEventListener('visibilitychange', beforeUnload); window.addEventListener('beforeunload', beforeUnload); msg.onExtension(onRuntimeMessage); @@ -182,12 +179,12 @@ lazyInit(); onBoundsChanged.addListener(wnd => { // getting the current window id as it may change if the user attached/detached the tab chrome.windows.getCurrent(ownWnd => { - if (wnd.id === ownWnd.id) rememberWindowSize(); + if (wnd.id === ownWnd.id) saveWindowPos(); }); }); } window.addEventListener('resize', () => { - if (!onBoundsChanged) debounce(rememberWindowSize, 100); + if (!onBoundsChanged) debounce(saveWindowPos, 100); detectLayout(); }); } @@ -234,44 +231,41 @@ lazyInit(); })(); /* Stuff not needed for the main init so we can let it run at its own tempo */ -async function lazyInit() { - const ownTabId = (await getOwnTab()).id; - // use browser history back when 'back to manage' is clicked - if (sessionStorageHash('manageStylesHistory').value[ownTabId] === location.href) { - onDOMready().then(() => { +function lazyInit() { + let ownTabId; + getOwnTab().then(async tab => { + ownTabId = tab.id; + // use browser history back when 'back to manage' is clicked + if (sessionStorageHash('manageStylesHistory').value[ownTabId] === location.href) { + await onDOMready(); $('#cancel-button').onclick = event => { event.stopPropagation(); event.preventDefault(); history.back(); }; - }); - } + } + }); // no windows on android if (!chrome.windows) { return; } - const tabs = await browser.tabs.query({currentWindow: true}); - const windowId = tabs[0].windowId; - if (prefs.get('openEditInWindow')) { - if ( - /true/.test(sessionStorage.saveSizeOnClose) && - 'left' in prefs.get('windowPosition', {}) && - !isWindowMaximized() - ) { - // window was reopened via Ctrl-Shift-T etc. - chrome.windows.update(windowId, prefs.get('windowPosition')); - } - if (tabs.length === 1 && window.history.length === 1) { - chrome.windows.getAll(windows => { - if (windows.length > 1) { - sessionStorageHash('saveSizeOnClose').set(windowId, true); - saveSizeOnClose = true; - } - }); - } else { - saveSizeOnClose = sessionStorageHash('saveSizeOnClose').value[windowId]; - } + // resize on 'undo close' + const pos = tryJSONparse(sessionStorage.windowPos); + delete sessionStorage.windowPos; + if (pos && pos.left != null && chrome.windows) { + chrome.windows.update(chrome.windows.WINDOW_ID_CURRENT, pos); } + // detect isWindowed + if (prefs.get('openEditInWindow') && history.length === 1) { + chrome.tabs.query({currentWindow: true}, tabs => { + if (tabs.length === 1) { + chrome.windows.getAll(windows => { + isWindowed = windows.length > 1; // not modifying the main browser window + }); + } + }); + } + // toggle openEditInWindow chrome.tabs.onAttached.addListener((tabId, info) => { if (tabId !== ownTabId) { return; @@ -311,8 +305,6 @@ function onRuntimeMessage(request) { break; case 'styleDeleted': if (editor.style.id === request.style.id) { - document.removeEventListener('visibilitychange', beforeUnload); - document.removeEventListener('beforeunload', beforeUnload); closeCurrentTab(); break; } @@ -323,15 +315,8 @@ function onRuntimeMessage(request) { } } -/** - * Invoked for 'visibilitychange' event by default. - * Invoked for 'beforeunload' event when the style is modified and unsaved. - * See https://developers.google.com/web/updates/2018/07/page-lifecycle-api#legacy-lifecycle-apis-to-avoid - * > Never add a beforeunload listener unconditionally or use it as an end-of-session signal. - * > Only add it when a user has unsaved work, and remove it as soon as that work has been saved. - */ function beforeUnload(e) { - if (saveSizeOnClose) rememberWindowSize(); + sessionStorage.windowPos = JSON.stringify(canSaveWindowPos() && prefs.get('windowPosition')); const activeElement = document.activeElement; if (activeElement) { // blurring triggers 'change' or 'input' event if needed @@ -489,12 +474,15 @@ function showCodeMirrorPopup(title, html, options) { return popup; } -function rememberWindowSize() { - if ( +function canSaveWindowPos() { + return isWindowed && document.visibilityState === 'visible' && prefs.get('openEditInWindow') && - !isWindowMaximized() - ) { + !isWindowMaximized(); +} + +function saveWindowPos() { + if (canSaveWindowPos()) { prefs.set('windowPosition', { left: window.screenX, top: window.screenY, From 74364b9d63cf40c4ee0b1b50593779d05bf3e6d8 Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 27 Oct 2020 13:00:32 +0300 Subject: [PATCH 018/291] hide incremental search textarea, 2a6850c0 fixup --- manage/incremental-search.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/manage/incremental-search.js b/manage/incremental-search.js index 5fa6648b..99416784 100644 --- a/manage/incremental-search.js +++ b/manage/incremental-search.js @@ -12,6 +12,7 @@ onDOMready().then(() => { oninput: incrementalSearch, }); replaceInlineStyle({ + opacity: '0', position: 'absolute', color: 'transparent', border: '1px solid hsla(180, 100%, 100%, .5)', @@ -72,6 +73,7 @@ onDOMready().then(() => { replaceInlineStyle({ width: focusedLink.offsetWidth + 'px', height: focusedLink.offsetHeight + 'px', + opacity: '1', }); focusedLink.prepend(input); return true; From 4764f91453bb5df321d6509e75094611fc94f894 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 28 Oct 2020 11:34:35 +0300 Subject: [PATCH 019/291] fix radiateArray when focusing search with extra CMs around --- edit/global-search.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/edit/global-search.js b/edit/global-search.js index 40e377f8..3df729c2 100644 --- a/edit/global-search.js +++ b/edit/global-search.js @@ -902,7 +902,9 @@ onDOMready().then(() => { // produces [i, i+1, i-1, i+2, i-2, i+3, i-3, ...] function radiateArray(arr, focalIndex) { - const result = [arr[focalIndex]]; + const focus = arr[focalIndex]; + if (!focus) return arr; + const result = [focus]; const len = arr.length; for (let i = 1; i < len; i++) { if (focalIndex + i < len) { From a81e1b8ac3390f8e9e84a69189592ff94848ebd1 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 28 Oct 2020 12:46:05 +0300 Subject: [PATCH 020/291] async'ify worker-util, reduce indirection --- background/background-worker.js | 4 +- edit/editor-worker.js | 4 +- js/worker-util.js | 72 +++++++++++++-------------------- 3 files changed, 33 insertions(+), 47 deletions(-) diff --git a/background/background-worker.js b/background/background-worker.js index 1e6126f6..b4d7294b 100644 --- a/background/background-worker.js +++ b/background/background-worker.js @@ -2,9 +2,9 @@ 'use strict'; importScripts('/js/worker-util.js'); -const {loadScript, createAPI} = workerUtil; +const {loadScript} = workerUtil; -createAPI({ +workerUtil.createAPI({ parseMozFormat(arg) { loadScript('/vendor-overwrites/csslint/parserlib.js', '/js/moz-parser.js'); return parseMozFormat(arg); diff --git a/edit/editor-worker.js b/edit/editor-worker.js index 62ef380c..43a06a9b 100644 --- a/edit/editor-worker.js +++ b/edit/editor-worker.js @@ -2,9 +2,9 @@ 'use strict'; importScripts('/js/worker-util.js'); -const {createAPI, loadScript} = workerUtil; +const {loadScript} = workerUtil; -createAPI({ +workerUtil.createAPI({ csslint: (code, config) => { loadScript('/vendor-overwrites/csslint/parserlib.js', '/vendor-overwrites/csslint/csslint.js'); return CSSLint.verify(code, config).messages diff --git a/js/worker-util.js b/js/worker-util.js index 77a2a6b6..5ba40232 100644 --- a/js/worker-util.js +++ b/js/worker-util.js @@ -1,17 +1,12 @@ -/* global importScripts */ -/* exported workerUtil */ 'use strict'; -const workerUtil = (() => { - const loadedScripts = new Set(); - return {createWorker, createAPI, loadScript, cloneError}; +const workerUtil = { - function createWorker({url, lifeTime = 300}) { + createWorker({url, lifeTime = 300}) { let worker; let id; let timer; const pendingResponse = new Map(); - return new Proxy({}, { get: (target, prop) => (...args) => { @@ -19,7 +14,7 @@ const workerUtil = (() => { init(); } return invoke(prop, args); - } + }, }); function init() { @@ -34,10 +29,9 @@ const workerUtil = (() => { worker = null; } - function onMessage(e) { - const message = e.data; - pendingResponse.get(message.id)[message.error ? 'reject' : 'resolve'](message.data); - pendingResponse.delete(message.id); + function onMessage({data: {id, data, error}}) { + pendingResponse.get(id)[error ? 'reject' : 'resolve'](data); + pendingResponse.delete(id); if (!pendingResponse.size && lifeTime >= 0) { timer = setTimeout(uninit, lifeTime * 1000); } @@ -47,36 +41,26 @@ const workerUtil = (() => { return new Promise((resolve, reject) => { pendingResponse.set(id, {resolve, reject}); clearTimeout(timer); - worker.postMessage({ - id, - action, - args - }); + worker.postMessage({id, action, args}); id++; }); } - } + }, - function createAPI(methods) { - self.onmessage = e => { - const message = e.data; - Promise.resolve() - .then(() => methods[message.action](...message.args)) - .then(result => ({ - id: message.id, - error: false, - data: result - })) - .catch(err => ({ - id: message.id, - error: true, - data: cloneError(err) - })) - .then(data => self.postMessage(data)); + createAPI(methods) { + self.onmessage = async ({data: {id, action, args}}) => { + let data, error; + try { + data = await methods[action](...args); + } catch (err) { + error = true; + data = workerUtil.cloneError(err); + } + self.postMessage({id, data, error}); }; - } + }, - function cloneError(err) { + cloneError(err) { return Object.assign({ name: err.name, stack: err.stack, @@ -85,14 +69,16 @@ const workerUtil = (() => { columnNumber: err.columnNumber, fileName: err.fileName }, err); - } + }, - function loadScript(...scripts) { - const urls = scripts.filter(u => !loadedScripts.has(u)); + loadScript(...urls) { + urls = urls.filter(u => !workerUtil._loadedScripts.has(u)); if (!urls.length) { return; } - importScripts(...urls); - urls.forEach(u => loadedScripts.add(u)); - } -})(); + self.importScripts(...urls); + urls.forEach(u => workerUtil._loadedScripts.add(u)); + }, + + _loadedScripts: new Set(), +}; From 6d7bd650e9a89c2b439fc710da9bdd91af8767e1 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 28 Oct 2020 12:46:54 +0300 Subject: [PATCH 021/291] strip stylelint warnings for // comments with @preprocessor --- edit/editor-worker.js | 6 ++++-- edit/linter-engines.js | 38 +++++++++++++++++++++++++------------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/edit/editor-worker.js b/edit/editor-worker.js index 43a06a9b..9dd1b368 100644 --- a/edit/editor-worker.js +++ b/edit/editor-worker.js @@ -10,9 +10,11 @@ workerUtil.createAPI({ return CSSLint.verify(code, config).messages .map(m => Object.assign(m, {rule: {id: m.rule.id}})); }, - stylelint: (code, config) => { + stylelint: async (code, config) => { loadScript('/vendor/stylelint-bundle/stylelint-bundle.min.js'); - return require('stylelint').lint({code, config}); + const {results: [res]} = await require('stylelint').lint({code, config}); + delete res._postcssResult; // huge and unused + return res; }, metalint: code => { loadScript( diff --git a/edit/linter-engines.js b/edit/linter-engines.js index 3b3ca7a1..65755434 100644 --- a/edit/linter-engines.js +++ b/edit/linter-engines.js @@ -20,19 +20,31 @@ } }); - function stylelint(text, config) { - return editorWorker.stylelint(text, config) - .then(({results}) => !results[0] ? [] : - results[0].warnings.map(({line, column: ch, text, severity}) => ({ - from: {line: line - 1, ch: ch - 1}, - to: {line: line - 1, ch}, - message: text - .replace('Unexpected ', '') - .replace(/^./, firstLetter => firstLetter.toUpperCase()) - .replace(/\s*\([^(]+\)$/, ''), // strip the rule, - rule: text.replace(/^.*?\s*\(([^(]+)\)$/, '$1'), - severity, - }))); + async function stylelint(text, config, mode) { + const raw = await editorWorker.stylelint(text, config); + if (!raw) { + return []; + } + // Hiding the errors about "//" comments as we're preprocessing only when saving/applying + // and we can't just pre-remove the comments since "//" may be inside a string token or whatever + const slashCommentAllowed = mode === 'text/x-less' || mode === 'stylus'; + const res = []; + for (const w of raw.warnings) { + const msg = w.text.match(/^(?:Unexpected\s+)?(.*?)\s*\([^()]+\)$|$/)[1] || w.text; + if (!slashCommentAllowed || !( + w.rule === 'no-invalid-double-slash-comments' || + w.rule === 'property-no-unknown' && msg.includes('"//"') + )) { + res.push({ + from: {line: w.line - 1, ch: w.column - 1}, + to: {line: w.line - 1, ch: w.column}, + message: msg.slice(0, 1).toUpperCase() + msg.slice(1), + severity: w.severity, + rule: w.rule, + }); + } + } + return res; } function csslint(text, config) { From be47cfc47189d28c14e739aa4ac2d58978abff9e Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 28 Oct 2020 01:41:38 +0300 Subject: [PATCH 022/291] throttle colorview on page load --- vendor-overwrites/colorpicker/colorview.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/vendor-overwrites/colorpicker/colorview.js b/vendor-overwrites/colorpicker/colorview.js index 3e57758c..c16c9ea3 100644 --- a/vendor-overwrites/colorpicker/colorview.js +++ b/vendor-overwrites/colorpicker/colorview.js @@ -216,6 +216,10 @@ function colorizeChanges(state, changes) { + if (changes.length === 1 && changes[0].origin === 'setValue') { + colorizeAll(state); + return; + } const queue = []; const postponed = []; const viewFrom = state.cm.display.viewFrom || 0; From b56dacb6b29e286dac45ea5ede278f6dbe642a68 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 28 Oct 2020 09:53:02 +0300 Subject: [PATCH 023/291] save prefs in bg to avoid data loss * add `now` to simplify usage of prefs.subscribe * tweak/simplify bits by separating bg/content concerns --- background/background.js | 13 +- js/prefs.js | 292 ++++++++++++++++----------------------- 2 files changed, 127 insertions(+), 178 deletions(-) diff --git a/background/background.js b/background/background.js index 2102eadf..2ec6a6fc 100644 --- a/background/background.js +++ b/background/background.js @@ -59,7 +59,8 @@ window.API_METHODS = Object.assign(window.API_METHODS || {}, { parseCss({code}) { return backgroundWorker.parseMozFormat({code}); }, - getPrefs: prefs.getAll, + getPrefs: () => prefs.values, // will be deepCopy'd by invokeAPI handler + setPref: (key, value) => prefs.set(key, value), openEditor, @@ -218,6 +219,14 @@ function createContextMenus(ids) { } if (chrome.contextMenus) { + // "Delete" item in context menu for browsers that don't have it + if (CHROME && + // looking at the end of UA string + /(Vivaldi|Safari)\/[\d.]+$/.test(navigator.userAgent) && + // skip forks with Flash as those are likely to have the menu e.g. CentBrowser + !Array.from(navigator.plugins).some(p => p.name === 'Shockwave Flash')) { + prefs.defaults['editor.contextDelete'] = true; + } // circumvent the bug with disabling check marks in Chrome 62-64 const toggleCheckmark = CHROME >= 62 && CHROME <= 64 ? (id => chrome.contextMenus.remove(id, () => createContextMenus([id]) + ignoreChromeError())) : @@ -233,7 +242,7 @@ if (chrome.contextMenus) { const keys = Object.keys(contextMenus); prefs.subscribe(keys.filter(id => typeof prefs.defaults[id] === 'boolean'), toggleCheckmark); - prefs.subscribe(keys.filter(id => contextMenus[id].presentIf), togglePresence); + prefs.subscribe(keys.filter(id => contextMenus[id].presentIf && id in prefs.defaults), togglePresence); createContextMenus(keys); } diff --git a/js/prefs.js b/js/prefs.js index c000e394..7e209b9a 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -1,9 +1,11 @@ /* global promisifyChrome msg API */ +/* global deepCopy deepEqual debounce */ // not used in content scripts 'use strict'; -// Needs msg.js loaded first - -self.prefs = self.INJECTED === 1 ? self.prefs : (() => { +// eslint-disable-next-line no-unused-expressions +window.INJECTED !== 1 && (() => { + const STORAGE_KEY = 'settings'; + const clone = msg.isBg ? deepCopy : (val => JSON.parse(JSON.stringify(val))); const defaults = { 'openEditInWindow': false, // new editor opens in a own browser window 'openEditInWindow.popup': false, // new editor opens in a simplified browser window without omnibox @@ -72,7 +74,8 @@ self.prefs = self.INJECTED === 1 ? self.prefs : (() => { // '' (empty string) = disabled 'editor.autoCloseBrackets': true, // auto-add a closing pair when typing an opening one of ()[]{}''"" 'editor.autocompleteOnTyping': false, // show autocomplete dropdown on typing a word token - 'editor.contextDelete': contextDeleteMissing(), // "Delete" item in context menu + // "Delete" item in context menu for browsers that don't have it + 'editor.contextDelete': null, 'editor.selectByTokens': true, 'editor.appliesToLineWidget': true, // show applies-to line widget on the editor @@ -105,189 +108,126 @@ self.prefs = self.INJECTED === 1 ? self.prefs : (() => { 'updateInterval': 24, // user-style automatic update interval, hours (0 = disable) }; - const values = deepCopy(defaults); - + const values = clone(defaults); const onChange = { any: new Set(), - specific: new Map(), + specific: {}, }; - - promisifyChrome({ - 'storage.sync': ['get', 'set'], - }); - - const initializing = ( - msg.isBg - ? browser.storage.sync.get('settings').then(res => res.settings) - : API.getPrefs() - ).then(res => res && setAll(res, true)); - - chrome.storage.onChanged.addListener((changes, area) => { - if (area !== 'sync' || !changes.settings || !changes.settings.newValue) { - return; - } - initializing.then(() => setAll(changes.settings.newValue, true)); - }); - - let timer; - - // coalesce multiple pref changes in broadcast - // let changes = {}; - - return { - initializing, - defaults, - get(key, defaultValue) { - if (key in values) { - return values[key]; - } - if (defaultValue !== undefined) { - return defaultValue; - } - if (key in defaults) { - return defaults[key]; - } - console.warn("No default preference for '%s'", key); - }, - getAll() { - return deepCopy(values); - }, - set, - reset: key => set(key, deepCopy(defaults[key])), - subscribe(keys, listener) { - // keys: string[] ids - // or a falsy value to subscribe to everything - // listener: function (key, value) - if (keys) { - for (const key of keys) { - const existing = onChange.specific.get(key); - if (!existing) { - onChange.specific.set(key, listener); - } else if (existing instanceof Set) { - existing.add(listener); - } else { - onChange.specific.set(key, new Set([existing, listener])); - } - } - } else { - onChange.any.add(listener); - } - }, - unsubscribe(keys, listener) { - if (keys) { - for (const key of keys) { - const existing = onChange.specific.get(key); - if (existing instanceof Set) { - existing.delete(listener); - if (!existing.size) { - onChange.specific.delete(key); - } - } else if (existing) { - onChange.specific.delete(key); - } - } - } else { - onChange.all.remove(listener); - } - }, - }; - - function setAll(settings, synced) { - for (const [key, value] of Object.entries(settings)) { - set(key, value, synced); - } - } - - function set(key, value, synced = false) { - const oldValue = values[key]; - switch (typeof defaults[key]) { - case typeof value: - break; - case 'string': - value = String(value); - break; - case 'number': - value |= 0; - break; - case 'boolean': - value = value === true || value === 'true'; - break; - } - if (equal(value, oldValue)) { - return; - } - values[key] = value; - emitChange(key, value); - if (!synced && !timer) { - timer = syncPrefsLater(); - } - return timer; - } - - function emitChange(key, value) { - const specific = onChange.specific.get(key); - if (typeof specific === 'function') { - specific(key, value); - } else if (specific instanceof Set) { - for (const listener of specific.values()) { - listener(key, value); - } - } - for (const listener of onChange.any.values()) { - listener(key, value); - } - } - - function syncPrefsLater() { - return new Promise((resolve, reject) => { - setTimeout(() => { - timer = null; - browser.storage.sync.set({settings: values}) - .then(resolve, reject); - }); + if (msg.isBg) { + promisifyChrome({ + 'storage.sync': ['get', 'set'], }); } + const initializing = ( + msg.isBg + ? browser.storage.sync.get(STORAGE_KEY).then(res => res[STORAGE_KEY]) + : API.getPrefs() + ).then(setAll); - function equal(a, b) { - if (!a || !b || typeof a !== 'object' || typeof b !== 'object') { - return a === b; + chrome.storage.onChanged.addListener(async (changes, area) => { + const data = area === 'sync' && changes[STORAGE_KEY]; + if (data) { + await initializing; + setAll(data.newValue); } - if (Object.keys(a).length !== Object.keys(b).length) { - return false; - } - for (const k in a) { - if (typeof a[k] === 'object') { - if (!equal(a[k], b[k])) { - return false; + }); + + // This direct assignment allows IDEs to provide correct autocomplete for methods + const prefs = window.prefs = { + initializing, + defaults, + values, + get(key) { + return isKnown(key) && values[key]; + }, + set(key, value, isSynced) { + if (!isKnown(key)) return; + const oldValue = values[key]; + const type = typeof defaults[key]; + if (type !== typeof value) { + if (type === 'string') value = String(value); + if (type === 'number') value = Number(value) || 0; + if (type === 'boolean') value = Boolean(value); + } + if (value !== oldValue && !deepEqual(value, oldValue)) { + values[key] = value; + emitChange(key, value, isSynced); + } + }, + reset(key) { + prefs.set(key, clone(defaults[key])); + }, + /** + * @param {?string|string[]} keys - pref ids or a falsy value to subscribe to everything + * @param {function(key:string, value:any)} fn + * @param {Object} [opts] + * @param {boolean} [opts.now] - when truthy, the listener is called immediately: + * 1) if `keys` is an array of keys, each `key` will be fired separately with a real `value` + * 2) if `keys` is falsy, no key/value will be provided + */ + subscribe(keys, fn, {now} = {}) { + if (keys) { + for (const key of Array.isArray(keys) ? keys : [keys]) { + if (!isKnown(key)) continue; + const listeners = onChange.specific[key] || + (onChange.specific[key] = new Set()); + listeners.add(fn); + if (now) fn(key, values[key]); } - } else if (a[k] !== b[k]) { - return false; + } else { + onChange.any.add(fn); + if (now) fn(); + } + }, + unsubscribe(keys, fn) { + if (keys) { + for (const key of keys) { + const listeners = onChange.specific[key]; + if (listeners) { + listeners.delete(fn); + if (!listeners.size) { + delete onChange.specific[key]; + } + } + } + } else { + onChange.all.remove(fn); + } + }, + }; + + function isKnown(key) { + const res = defaults.hasOwnProperty(key); + if (!res) console.warn('Unknown preference "%s"', key); + return res; + } + + function setAll(settings) { + for (const [key, value] of Object.entries(settings || {})) { + prefs.set(key, value, true); + } + } + + function emitChange(key, value, isSynced) { + for (const fn of onChange.specific[key] || []) { + fn(key, value); + } + for (const fn of onChange.any) { + fn(key, value); + } + if (!isSynced) { + /* browser.storage is slow and can randomly lose values if the tab was closed immediately + so we're sending the value to the background script which will save it to the storage; + the extra bonus is that invokeAPI is immediate in extension tabs */ + if (msg.isBg) { + debounce(updateStorage); + } else { + API.setPref(key, value); } } - return true; } - function contextDeleteMissing() { - return /Chrome\/\d+/.test(navigator.userAgent) && ( - // detect browsers without Delete by looking at the end of UA string - /Vivaldi\/[\d.]+$/.test(navigator.userAgent) || - // Chrome and co. - /Safari\/[\d.]+$/.test(navigator.userAgent) && - // skip forks with Flash as those are likely to have the menu e.g. CentBrowser - !Array.from(navigator.plugins).some(p => p.name === 'Shockwave Flash') - ); - } - - function deepCopy(obj) { - if (!obj || typeof obj !== 'object') { - return obj; - } - if (Array.isArray(obj)) { - return obj.map(deepCopy); - } - return Object.keys(obj).reduce((output, key) => { - output[key] = deepCopy(obj[key]); - return output; - }, {}); + function updateStorage() { + return browser.storage.sync.set({[STORAGE_KEY]: values}); } })(); From 72cb5bdc9a3154eba646b18d0521350a220f5366 Mon Sep 17 00:00:00 2001 From: tophf Date: Thu, 29 Oct 2020 00:13:15 +0300 Subject: [PATCH 024/291] don't spam console errors on contextMenu 'delete' command --- background/background.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/background/background.js b/background/background.js index 2ec6a6fc..968e1b42 100644 --- a/background/background.js +++ b/background/background.js @@ -192,7 +192,8 @@ contextMenus = { contexts: ['editable'], documentUrlPatterns: [URLS.ownOrigin + 'edit*'], click: (info, tab) => { - msg.sendTab(tab.id, {method: 'editDeleteText'}, undefined, 'extension'); + msg.sendTab(tab.id, {method: 'editDeleteText'}, undefined, 'extension') + .catch(msg.ignoreError); }, } }; From caec255e1646dbeb214ebe2ce4c4ee1d2795eba6 Mon Sep 17 00:00:00 2001 From: silverwind Date: Thu, 29 Oct 2020 22:17:23 +0100 Subject: [PATCH 025/291] Simplify CI action Only run on a single node version, that way you won't get tripe error annotations, and it's really not neccessary for this repo to test on multiples anyways. --- .github/workflows/ci.yml | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index b7714d1c..f006694c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,18 +3,12 @@ on: [push, pull_request] jobs: test: - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - node: ['10', '12', '14'] - - runs-on: ${{ matrix.os }} + runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v1 with: - node-version: ${{ matrix.node }} + node-version: '14' - run: npm install - run: npm test From 972a83d5bce173c3bb624d29c796a55680da06ed Mon Sep 17 00:00:00 2001 From: tophf Date: Sat, 31 Oct 2020 20:59:29 +0300 Subject: [PATCH 026/291] restore simpleDeepEqual (b56dacb6 fixup) --- js/prefs.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/js/prefs.js b/js/prefs.js index 7e209b9a..236447c4 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -1,5 +1,5 @@ /* global promisifyChrome msg API */ -/* global deepCopy deepEqual debounce */ // not used in content scripts +/* global deepCopy debounce */ // not used in content scripts 'use strict'; // eslint-disable-next-line no-unused-expressions @@ -149,7 +149,7 @@ window.INJECTED !== 1 && (() => { if (type === 'number') value = Number(value) || 0; if (type === 'boolean') value = Boolean(value); } - if (value !== oldValue && !deepEqual(value, oldValue)) { + if (value !== oldValue && !simpleDeepEqual(value, oldValue)) { values[key] = value; emitChange(key, value, isSynced); } @@ -230,4 +230,10 @@ window.INJECTED !== 1 && (() => { function updateStorage() { return browser.storage.sync.set({[STORAGE_KEY]: values}); } + + function simpleDeepEqual(a, b) { + return !a || !b || typeof a !== 'object' || typeof b !== 'object' ? a === b : + Object.keys(a).length === Object.keys(b).length && + Object.keys(a).every(key => b.hasOwnProperty(key) && simpleDeepEqual(a[key], b[key])); + } })(); From 21d4221df9b8124614815c08c49acf7655af33e2 Mon Sep 17 00:00:00 2001 From: tophf Date: Sat, 31 Oct 2020 23:45:37 +0300 Subject: [PATCH 027/291] position colorpicker correctly, cosmetics (89431615 fixup) --- vendor-overwrites/colorpicker/colorpicker.js | 37 +++++++++++--------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/vendor-overwrites/colorpicker/colorpicker.js b/vendor-overwrites/colorpicker/colorpicker.js index f20812f8..60cb2ed6 100644 --- a/vendor-overwrites/colorpicker/colorpicker.js +++ b/vendor-overwrites/colorpicker/colorpicker.js @@ -210,10 +210,10 @@ $formatChangeButton.title = opt.tooltipForSwitcher || ''; maxHeight = `${opt.maxHeight || 300}px`; - $root.className = $root.className.replace(new RegExp(CSS_PREFIX + 'theme-\\S+\\s*'), '') + - ' ' + CSS_PREFIX + 'theme-' + - (opt.theme === 'dark' || opt.theme === 'light' ? opt.theme : - guessTheme()); + $root.className = [...$root.classList] + .filter(c => !c.startsWith(`${CSS_PREFIX}theme-`)) + .concat(`${CSS_PREFIX}theme-${['dark', 'light'].includes(opt.theme) ? opt.theme : guessTheme()}`) + .join(' '); document.body.appendChild($root); shown = true; @@ -221,21 +221,9 @@ registerEvents(); setFromColor(opt.color); setFromHexLettercaseElement(); - if (Array.isArray(options.palette)) { - // Might need to clear a lot of elements so this is known to be faster than textContent = '' - while ($palette.firstChild) $palette.firstChild.remove(); - $palette.append(...options.palette); - if (options.palette.length) { - $root.dataset.resizable = ''; - $root.addEventListener('mousedown', onPopupResizeStart); - fitPaletteHeight(); - } else { - delete $root.dataset.resizable; - $root.removeEventListener('mousedown', onPopupResizeStart); - } + renderPalette(); } - if (!isNaN(options.left) && !isNaN(options.top)) { reposition(); } @@ -827,6 +815,21 @@ const top = constrain(0, Math.max(0, maxTopUnobscured), options.top); $root.style.left = left + 'px'; $root.style.top = top + 'px'; + $root.style.transform = ''; + } + + function renderPalette() { + // Might need to clear a lot of elements so this is known to be faster than textContent = '' + while ($palette.firstChild) $palette.firstChild.remove(); + $palette.append(...options.palette); + if (options.palette.length) { + $root.dataset.resizable = ''; + $root.addEventListener('mousedown', onPopupResizeStart); + fitPaletteHeight(); + } else { + delete $root.dataset.resizable; + $root.removeEventListener('mousedown', onPopupResizeStart); + } } function fitPaletteHeight() { From 1c7e06e9807672b155149d84743f1a5b5674395a Mon Sep 17 00:00:00 2001 From: narcolepticinsomniac Date: Sun, 1 Nov 2020 14:01:44 -0500 Subject: [PATCH 028/291] typos --- options/options.css | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/options/options.css b/options/options.css index ff199c6a..7c70e536 100644 --- a/options/options.css +++ b/options/options.css @@ -3,7 +3,7 @@ html { align-items: center; justify-content: center; height: 100vh; - background-color: none; + background: none; } body { @@ -164,7 +164,7 @@ label, label > :first-child { margin-right: 8px; flex-grow: 1; - transition: text-shadow: .1s; + transition: text-shadow .1s; } label:not([disabled]), From ad44fe47c8d6f608f0d400e21b0403c43cb93045 Mon Sep 17 00:00:00 2001 From: narcolepticinsomniac Date: Sun, 1 Nov 2020 14:06:18 -0500 Subject: [PATCH 029/291] typo --- manage/manage.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manage/manage.css b/manage/manage.css index 1ed6d70a..95652b15 100644 --- a/manage/manage.css +++ b/manage/manage.css @@ -763,7 +763,7 @@ a:hover { background-color: rgba(128, 128, 128, .5); } to { - background-color: none; + background-color: transparent; } } From 32728b023b85dbde25359725ff57d32fc005e82e Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 1 Nov 2020 22:46:47 +0300 Subject: [PATCH 030/291] respond with null to avoid "port closed" errors --- background/background.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/background/background.js b/background/background.js index 968e1b42..109123f2 100644 --- a/background/background.js +++ b/background/background.js @@ -296,8 +296,8 @@ function onRuntimeMessage(msg, sender) { if (!fn) { throw new Error(`unknown API: ${msg.name}`); } - const context = {msg, sender}; - return fn.apply(context, msg.args); + const res = fn.apply({msg, sender}, msg.args); + return res === undefined ? null : res; } function openEditor(params) { From a997ecbe248a2de5e2b3bfc76008d51c1db1a912 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 2 Nov 2020 22:08:14 +0300 Subject: [PATCH 031/291] update CSSLint * fix missing * retry/consume attr() * code cosmetics --- vendor-overwrites/csslint/parserlib.js | 71 +++++++++++++++----------- 1 file changed, 41 insertions(+), 30 deletions(-) diff --git a/vendor-overwrites/csslint/parserlib.js b/vendor-overwrites/csslint/parserlib.js index b8a631fd..34a9af64 100644 --- a/vendor-overwrites/csslint/parserlib.js +++ b/vendor-overwrites/csslint/parserlib.js @@ -725,9 +725,11 @@ self.parserlib = (() => { }, '': part => part.type === 'angle', + '': p => p.type === 'angle' || p.text === '0', '': part => part.units && lowerCmp(part.units, 'ar'), + '': p => p.type === 'function' && lowerCmp(p.name, 'attr'), '': part => !/\battr\(/i.test(part.text), '': 'scroll | fixed | local', @@ -1153,7 +1155,7 @@ self.parserlib = (() => { 'contrast': '', 'drop-shadow': '{2,3} && ?', 'grayscale': '', - 'hue-rotate': ' | ', + 'hue-rotate': '', 'invert': '', 'opacity': '', 'saturate': '', @@ -1172,17 +1174,17 @@ self.parserlib = (() => { 'scale': ' [ , ]?', 'scaleX': '', 'scaleY': '', - 'rotate': '[ | ]', - 'skew': '[ | ] [ , [ | ] ]?', - 'skewX': '[ | ]', - 'skewY': '[ | ]', + 'rotate': '', + 'skew': ' [ , ]?', + 'skewX': '', + 'skewY': '', 'matrix3d': '#{16}', 'translate3d': '#{2} , ', 'translateZ': '', 'scale3d': '#{3}', 'scaleZ': '', - 'rotate3d': '#{3} , [ | ]', + 'rotate3d': '#{3} , ', }, functionsMayBeEmpty: new Set([ @@ -2728,18 +2730,18 @@ self.parserlib = (() => { }, /** - * @param {PropertyValueIterator} expression + * @param {PropertyValueIterator} expr * @param {string} type * @return {?boolean} */ - isType(expression, type) { - const part = expression.peek(); + isType(expr, type) { + const part = expr.peek(); let result, m; if (this.simple[''](part)) { - if (expression._i < expression._parts.length - 1) { - expression.mark().next(); - expression.popMark(ValidationTypes.isType(expression, type)); + if (expr._i < expr._parts.length - 1) { + expr.mark().next(); + expr.popMark(ValidationTypes.isType(expr, type)); } result = true; @@ -2752,14 +2754,14 @@ self.parserlib = (() => { } else { m = this.complex[type]; return m instanceof Matcher ? - m.match(expression) : - m.call(this.complex, expression); + m.match(expr) : + m.call(this.complex, expr); } - if (!result && part.type === 'function' && lowerCmp(part.name, 'attr')) { + if (!result && expr.tryAttr && part.type === 'function' && lowerCmp(part.name, 'attr')) { result = ValidationTypes.isFunction('attr', part); } - if (result) expression.next(); + if (result) expr.next(); return result; }, @@ -2823,21 +2825,30 @@ self.parserlib = (() => { if (!spec) throw new ValidationError(`Unknown property '${property}'.`, property); // Property-specific validation. - const expression = new PropertyValueIterator(value); - const result = Matcher.parse(spec).match(expression); - - const hasNext = expression.hasNext(); - if (result) { - if (hasNext) throwEndExpected(expression.next()); - - } else { - if (hasNext && expression._i) { - throwEndExpected(expression.peek()); - } else { - const {text} = expression.value; - throw new ValidationError(`Expected '${ValidationTypes.describe(spec)}' but found '${text}'.`, - expression.value); + const expr = new PropertyValueIterator(value); + const tryAttr = /\battr\(/i.test(value.text); + const m = Matcher.parse(spec); + let result = m.match(expr); + if (tryAttr) { + if (!result) { + expr.tryAttr = true; + expr._i = 0; + result = m.match(expr); } + while (expr.hasNext() && + ValidationTypes.simple[''](expr.peek()) && + ValidationTypes.isFunction('attr', expr.peek())) { + expr.next(); + } + } + if (result) { + if (expr.hasNext()) throwEndExpected(expr.next()); + } else if (expr.hasNext() && expr._i) { + throwEndExpected(expr.peek()); + } else { + const {text} = expr.value; + throw new ValidationError(`Expected '${ValidationTypes.describe(spec)}' but found '${text}'.`, + expr.value); } if (!known) validationCache.set(prop, (known = new Set())); From 97ad0753e09dbdd75ec1ed6377f83f7c25d8b6a5 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 2 Nov 2020 22:20:41 +0300 Subject: [PATCH 032/291] restore direct fetching of styles in the options frame regressed in bf40fa81 --- js/msg.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/js/msg.js b/js/msg.js index 57ca488b..b2c9203f 100644 --- a/js/msg.js +++ b/js/msg.js @@ -143,14 +143,14 @@ window.INJECTED !== 1 && (() => { bg = await browser.runtime.getBackgroundPage().catch(() => {}); } const message = {method: 'invokeAPI', name, args}; - // content scripts, frames and probably private tabs - if (!bg || window !== parent) { + // content scripts and probably private tabs + if (!bg) { return msg.send(message); } // in FF, the object would become a dead object when the window // is closed, so we have to clone the object into background. const res = bg.msg._execute(TARGETS.extension, bg.deepCopy(message), { - frameId: 0, + frameId: 0, // false in case of our Options frame but we really want to fetch styles early tab: NEEDS_TAB_IN_SENDER.includes(name) && await getOwnTab(), url: location.href, }); From 31558d5071effa136b3ef1f912bcd9c578d1a688 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 4 Nov 2020 12:50:24 +0300 Subject: [PATCH 033/291] we use 'true' and 'false' strings as boolean T_T fixup for b56dacb --- js/prefs.js | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/js/prefs.js b/js/prefs.js index 236447c4..4434df6a 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -140,18 +140,19 @@ window.INJECTED !== 1 && (() => { get(key) { return isKnown(key) && values[key]; }, - set(key, value, isSynced) { + set(key, val, isSynced) { if (!isKnown(key)) return; const oldValue = values[key]; const type = typeof defaults[key]; - if (type !== typeof value) { - if (type === 'string') value = String(value); - if (type === 'number') value = Number(value) || 0; - if (type === 'boolean') value = Boolean(value); + if (type !== typeof val) { + if (type === 'string') val = String(val); + if (type === 'number') val = Number(val) || 0; + if (type === 'boolean') val = val === 'true' || val !== 'false' && Boolean(val); + // 'true' and 'false' strings are used by manage.html in `.invert` elements } - if (value !== oldValue && !simpleDeepEqual(value, oldValue)) { - values[key] = value; - emitChange(key, value, isSynced); + if (val !== oldValue && !simpleDeepEqual(val, oldValue)) { + values[key] = val; + emitChange(key, val, isSynced); } }, reset(key) { From 635fc705f966c25f464400adb02e98cc0fc0ba4d Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 4 Nov 2020 17:41:11 +0300 Subject: [PATCH 034/291] correctly clear gutter marks for sublime bookmarks --- edit/codemirror-default.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/edit/codemirror-default.js b/edit/codemirror-default.js index 72dace8b..dc987a6a 100644 --- a/edit/codemirror-default.js +++ b/edit/codemirror-default.js @@ -172,8 +172,9 @@ elBookmark.textContent = '\u00A0'; const clearMarker = function () { const line = this.lines[0]; - CodeMirror.TextMarker.prototype.clear.apply(this); - if (!line.markedSpans.some(span => span.marker.sublimeBookmark)) { + delete this.clear; // removing our patch from the instance... + this.clear(); // ...and using the original prototype + if (!(line.markedSpans || []).some(span => span.marker.sublimeBookmark)) { this.doc.setGutterMarker(line, CM_BOOKMARK_GUTTER, null); } }; From aac0f476b259efbbd22bd08c0e72484ba401b907 Mon Sep 17 00:00:00 2001 From: tophf Date: Thu, 5 Nov 2020 22:45:22 +0300 Subject: [PATCH 035/291] tweaks/fixes for popup search link * use a less specific category if the inline search wasn't used yet * set a href in html to prevent transitions during init --- popup.html | 3 ++- popup/search-results.js | 5 +++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/popup.html b/popup.html index 1a39b3a4..27fc01db 100644 --- a/popup.html +++ b/popup.html @@ -222,7 +222,8 @@
- +
-
-

- - - -

-
- - -
+
+ + + + +
-
-

-
-
-
- -
-
- -
-
- -
-
- -
-
- -
-
- -
-
- - - - -
-
- -
-
-
-
- - -
-
- -
- - +
+
+

+
+
+
+
- - - -
-
- -
- - +
+ +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + + + +
+
+
-
- -
- - +
+
+ +
-
-
- +
+
- + +
+ + + +
+
+ +
+ + +
+
+
+ +
+
- - - +
+
+ +
+ + +
+ + + +
-
-
-
- -

: - - - -

-
-
-
-
-
+
+
+

+
    +
    +
    + +

    : + + + +

    +
    +
    +
    +
    +
    +
    -
    - - -
    +
    diff --git a/edit/applies-to-line-widget.js b/edit/applies-to-line-widget.js deleted file mode 100644 index f3d227cc..00000000 --- a/edit/applies-to-line-widget.js +++ /dev/null @@ -1,590 +0,0 @@ -/* global regExpTester debounce messageBox CodeMirror template colorMimicry msg - $ $create t prefs tryCatch deepEqual */ -/* exported createAppliesToLineWidget */ -'use strict'; - -function createAppliesToLineWidget(cm) { - const THROTTLE_DELAY = 400; - const RX_SPACE = /(?:\s+|\/\*)+/y; - let TPL, EVENTS, CLICK_ROUTE; - let widgets = []; - let fromLine, toLine, actualStyle; - let initialized = false; - return {toggle}; - - function toggle(newState = !initialized) { - newState = Boolean(newState); - if (newState !== initialized) { - if (newState) { - init(); - } else { - uninit(); - } - } - } - - function init() { - initialized = true; - - TPL = { - container: - $create('div.applies-to', [ - $create('label', t('appliesLabel')), - $create('ul.applies-to-list'), - ]), - listItem: template.appliesTo.cloneNode(true), - appliesToEverything: - $create('li.applies-to-everything', t('appliesToEverything')), - }; - - $('.applies-value', TPL.listItem).insertAdjacentElement('afterend', - $create('button.test-regexp', t('styleRegexpTestButton'))); - - CLICK_ROUTE = { - '.test-regexp': showRegExpTester, - - '.remove-applies-to': (item, apply, event) => { - event.preventDefault(); - const applies = item.closest('.applies-to').__applies; - const i = applies.indexOf(apply); - let repl; - let from; - let to; - if (applies.length < 2) { - messageBox({ - contents: t('appliesRemoveError'), - buttons: [t('confirmClose')] - }); - return; - } - if (i === 0) { - from = apply.mark.find().from; - to = applies[i + 1].mark.find().from; - repl = ''; - } else if (i === applies.length - 1) { - from = applies[i - 1].mark.find().to; - to = apply.mark.find().to; - repl = ''; - } else { - from = applies[i - 1].mark.find().to; - to = applies[i + 1].mark.find().from; - repl = ', '; - } - cm.replaceRange(repl, from, to, 'appliesTo'); - clearApply(apply); - item.remove(); - applies.splice(i, 1); - }, - - '.add-applies-to': (item, apply, event) => { - event.preventDefault(); - const applies = item.closest('.applies-to').__applies; - const i = applies.indexOf(apply); - const pos = apply.mark.find().to; - const text = `, ${apply.type.text}("")`; - cm.replaceRange(text, pos, pos, 'appliesTo'); - const newApply = createApply( - cm.indexFromPos(pos) + 2, - apply.type.text, - '', - true - ); - setupApplyMarkers(newApply); - applies.splice(i + 1, 0, newApply); - item.insertAdjacentElement('afterend', buildChildren(applies, newApply)); - }, - }; - - EVENTS = { - onchange({target}) { - const typeElement = target.closest('.applies-type'); - if (typeElement) { - const item = target.closest('.applies-to-item'); - const apply = item.__apply; - changeItem(item, apply, 'type', typeElement.value); - item.dataset.type = apply.type.text; - } else { - return EVENTS.oninput.apply(this, arguments); - } - }, - oninput({target}) { - if (target.matches('.applies-value')) { - const item = target.closest('.applies-to-item'); - const apply = item.__apply; - changeItem(item, apply, 'value', target.value); - } - }, - onclick(event) { - const {target} = event; - for (const selector in CLICK_ROUTE) { - const routed = target.closest(selector); - if (routed) { - const item = routed.closest('.applies-to-item'); - CLICK_ROUTE[selector].call(routed, item, item.__apply, event); - return; - } - } - } - }; - - actualStyle = $create('style'); - fromLine = 0; - toLine = cm.doc.size; - - cm.on('change', onChange); - cm.on('optionChange', onOptionChange); - - msg.onExtension(onRuntimeMessage); - - requestAnimationFrame(updateWidgetStyle); - update(); - } - - function uninit() { - initialized = false; - - widgets.forEach(clearWidget); - widgets.length = 0; - cm.off('change', onChange); - cm.off('optionChange', onOptionChange); - msg.off(onRuntimeMessage); - actualStyle.remove(); - } - - function onChange(cm, event) { - const {from, to, origin} = event; - if (origin === 'appliesTo') { - return; - } - const lastChanged = CodeMirror.changeEnd(event).line; - fromLine = Math.min(fromLine === null ? from.line : fromLine, from.line); - toLine = Math.max(toLine === null ? lastChanged : toLine, to.line); - if (origin === 'setValue') { - update(); - } else { - debounce(update, THROTTLE_DELAY); - } - } - - function onOptionChange(cm, option) { - if (option === 'theme') { - updateWidgetStyle(); - } - } - - function onRuntimeMessage(msg) { - if (msg.reason === 'editPreview' && !$(`#stylus-${msg.style.id}`)) { - // no style element with this id means the style doesn't apply to the editor URL - return; - } - if (msg.style || msg.styles || - msg.prefs && 'disableAll' in msg.prefs || - msg.method === 'styleDeleted') { - requestAnimationFrame(updateWidgetStyle); - } - } - - function update() { - const changed = {fromLine, toLine}; - fromLine = Math.max(fromLine || 0, cm.display.viewFrom); - toLine = Math.min(toLine === null ? cm.doc.size : toLine, cm.display.viewTo || toLine); - const visible = {fromLine, toLine}; - const {curOp} = cm; - if (fromLine >= cm.display.viewFrom && toLine <= (cm.display.viewTo || toLine)) { - if (!curOp) cm.startOperation(); - doUpdate(); - if (!curOp) cm.endOperation(); - } - if (changed.fromLine !== visible.fromLine || changed.toLine !== visible.toLine) { - setTimeout(updateInvisible, 0, changed, visible); - } - } - - function updateInvisible(changed, visible) { - let inOp = false; - if (changed.fromLine < visible.fromLine) { - fromLine = Math.min(fromLine, changed.fromLine); - toLine = Math.min(changed.toLine, visible.fromLine); - inOp = true; - cm.startOperation(); - doUpdate(); - } - if (changed.toLine > visible.toLine) { - fromLine = Math.max(fromLine, changed.toLine); - toLine = Math.max(changed.toLine, visible.toLine); - if (!inOp) { - inOp = true; - cm.startOperation(); - } - doUpdate(); - } - if (inOp) { - cm.endOperation(); - } - } - - function updateWidgetStyle() { - if (prefs.get('editor.theme') !== 'default' && - !tryCatch(() => $('#cm-theme').sheet.cssRules)) { - requestAnimationFrame(updateWidgetStyle); - return; - } - const MIN_LUMA = .05; - const MIN_LUMA_DIFF = .4; - const color = { - wrapper: colorMimicry.get(cm.display.wrapper), - gutter: colorMimicry.get(cm.display.gutters, { - bg: 'backgroundColor', - border: 'borderRightColor', - }), - line: colorMimicry.get('.CodeMirror-linenumber', null, cm.display.lineDiv), - comment: colorMimicry.get('span.cm-comment', null, cm.display.lineDiv), - }; - const hasBorder = - color.gutter.style.borderRightWidth !== '0px' && - !/transparent|\b0\)/g.test(color.gutter.style.borderRightColor); - const diff = { - wrapper: Math.abs(color.gutter.bgLuma - color.wrapper.foreLuma), - border: hasBorder ? Math.abs(color.gutter.bgLuma - color.gutter.borderLuma) : 0, - line: Math.abs(color.gutter.bgLuma - color.line.foreLuma), - }; - const preferLine = diff.line > diff.wrapper || diff.line > MIN_LUMA_DIFF; - const fore = preferLine ? color.line.fore : color.wrapper.fore; - - const border = fore.replace(/[\d.]+(?=\))/, MIN_LUMA_DIFF / 2); - const borderStyleForced = `1px ${hasBorder ? color.gutter.style.borderRightStyle : 'solid'} ${border}`; - - actualStyle.textContent = ` - .applies-to { - background-color: ${color.gutter.bg}; - border-top: ${borderStyleForced}; - border-bottom: ${borderStyleForced}; - } - .applies-to label { - color: ${fore}; - } - .applies-to input, - .applies-to button, - .applies-to select { - background: rgba(255, 255, 255, ${ - Math.max(MIN_LUMA, Math.pow(Math.max(0, color.gutter.bgLuma - MIN_LUMA * 2), 2)).toFixed(2) - }); - border: ${borderStyleForced}; - transition: none; - color: ${fore}; - } - .applies-to .svg-icon.select-arrow { - fill: ${fore}; - transition: none; - } - `; - document.documentElement.appendChild(actualStyle); - } - - function doUpdate() { - // find which widgets needs to be update - // some widgets (lines) might be deleted - widgets = widgets.filter(w => w.line.lineNo() !== null); - let i = widgets.findIndex(w => w.line.lineNo() > fromLine) - 1; - let j = widgets.findIndex(w => w.line.lineNo() > toLine); - if (i === -2) { - i = widgets.length - 1; - } - if (j < 0) { - j = widgets.length; - } - - // decide search range - const fromPos = {line: widgets[i] ? widgets[i].line.lineNo() : 0, ch: 0}; - const toPos = {line: widgets[j] ? widgets[j].line.lineNo() : toLine + 1, ch: 0}; - - // calc index->pos lookup table - let index = 0; - const lineIndexes = [0]; - cm.doc.iter(0, toPos.line + 1, ({text}) => { - lineIndexes.push((index += text.length + 1)); - }); - - // splice - i = Math.max(0, i); - widgets.splice(i, 0, ...createWidgets(fromPos, toPos, widgets.splice(i, j - i), lineIndexes)); - - fromLine = null; - toLine = null; - } - - function *createWidgets(start, end, removed, lineIndexes) { - let i = 0; - let itemHeight; - for (const section of findAppliesTo(start, end, lineIndexes)) { - let removedWidget = removed[i]; - while (removedWidget && removedWidget.line.lineNo() < section.pos.line) { - clearWidget(removed[i]); - removedWidget = removed[++i]; - } - if (removedWidget && deepEqual(removedWidget.node.__applies, section.applies, ['mark'])) { - yield removedWidget; - i++; - continue; - } - for (const a of section.applies) { - setupApplyMarkers(a, lineIndexes); - } - if (removedWidget && removedWidget.line.lineNo() === section.pos.line) { - // reuse old widget - removedWidget.section.applies.forEach(apply => { - apply.type.mark.clear(); - apply.value.mark.clear(); - }); - removedWidget.section = section; - const newNode = buildElement(section); - const removedNode = removedWidget.node; - if (removedNode.parentNode) { - removedNode.parentNode.replaceChild(newNode, removedNode); - } - removedWidget.node = newNode; - removedWidget.changed(); - yield removedWidget; - i++; - continue; - } - // new widget - const widget = cm.addLineWidget(section.pos.line, buildElement(section), { - coverGutter: true, - noHScroll: true, - above: true, - height: itemHeight ? section.applies.length * itemHeight : undefined, - }); - widget.section = section; - itemHeight = itemHeight || widget.node.offsetHeight / (section.applies.length || 1); - yield widget; - } - removed.slice(i).forEach(clearWidget); - } - - function clearWidget(widget) { - widget.clear(); - widget.section.applies.forEach(clearApply); - } - - function clearApply(apply) { - apply.type.mark.clear(); - apply.value.mark.clear(); - apply.mark.clear(); - } - - function setupApplyMarkers(apply, lineIndexes) { - apply.type.mark = cm.markText( - posFromIndex(cm, apply.type.start, lineIndexes), - posFromIndex(cm, apply.type.end, lineIndexes), - {clearWhenEmpty: false} - ); - apply.value.mark = cm.markText( - posFromIndex(cm, apply.value.start, lineIndexes), - posFromIndex(cm, apply.value.end, lineIndexes), - {clearWhenEmpty: false} - ); - apply.mark = cm.markText( - posFromIndex(cm, apply.start, lineIndexes), - posFromIndex(cm, apply.end, lineIndexes), - {clearWhenEmpty: false} - ); - } - - function posFromIndex(cm, index, lineIndexes) { - if (!lineIndexes) { - return cm.posFromIndex(index); - } - let line = lineIndexes.prev || 0; - const prev = lineIndexes[line]; - const next = lineIndexes[line + 1]; - if (prev <= index && index < next) { - return {line, ch: index - prev}; - } - let a = index < prev ? 0 : line; - let b = index < next ? line + 1 : lineIndexes.length - 1; - while (a < b - 1) { - const mid = (a + b) >> 1; - if (lineIndexes[mid] < index) { - a = mid; - } else { - b = mid; - } - } - line = lineIndexes[b] > index ? a : b; - Object.defineProperty(lineIndexes, 'prev', {value: line, configurable: true}); - return {line, ch: index - lineIndexes[line]}; - } - - function buildElement({applies}) { - const container = TPL.container.cloneNode(true); - const list = $('.applies-to-list', container); - for (const apply of applies) { - list.appendChild(buildChildren(applies, apply)); - } - if (!list.children[0]) { - list.appendChild(TPL.appliesToEverything.cloneNode(true)); - } - return Object.assign(container, EVENTS, {__applies: applies}); - } - - function buildChildren(applies, apply) { - const el = TPL.listItem.cloneNode(true); - el.dataset.type = apply.type.text; - el.__apply = apply; - $('.applies-type', el).value = apply.type.text; - $('.applies-value', el).value = apply.value.text; - return el; - } - - function changeItem(itemElement, apply, part, newText) { - if (!apply) { - return; - } - part = apply[part]; - const range = part.mark.find(); - part.mark.clear(); - newText = unescapeDoubleslash(newText).replace(/\\/g, '\\\\'); - cm.replaceRange(newText, range.from, range.to, 'appliesTo'); - part.mark = cm.markText( - range.from, - cm.findPosH(range.from, newText.length, 'char'), - {clearWhenEmpty: false} - ); - part.text = newText; - - if (part === apply.type) { - const range = apply.mark.find(); - apply.mark.clear(); - apply.mark = cm.markText( - part.mark.find().from, - range.to, - {clearWhenEmpty: false} - ); - } - - if (apply.type.text === 'regexp' && apply.value.text.trim()) { - showRegExpTester(itemElement); - } - } - - function createApply(pos, typeText, valueText, isQuoted = false) { - typeText = typeText.toLowerCase(); - const start = pos; - const typeStart = start; - const typeEnd = typeStart + typeText.length; - const valueStart = typeEnd + 1 + Number(isQuoted); - const valueEnd = valueStart + valueText.length; - const end = valueEnd + Number(isQuoted) + 1; - return { - start, - type: { - text: typeText, - start: typeStart, - end: typeEnd, - }, - value: { - text: unescapeDoubleslash(valueText), - start: valueStart, - end: valueEnd, - }, - end - }; - } - - function *findAppliesTo(posStart, posEnd, lineIndexes) { - const funcRe = /^(url|url-prefix|domain|regexp)$/i; - let pos; - const eatToken = sticky => { - if (!sticky) skipSpace(pos, posEnd); - pos.ch++; - const token = cm.getTokenAt(pos, true); - pos.ch = token.end; - return CodeMirror.cmpPos(pos, posEnd) <= 0 ? token : {}; - }; - const docCur = cm.getSearchCursor('@-moz-document', posStart); - while (docCur.findNext() && - CodeMirror.cmpPos(docCur.pos.to, posEnd) <= 0) { - // CM can be nitpicky at token boundary so we'll check the next character - const safePos = {line: docCur.pos.from.line, ch: docCur.pos.from.ch + 1}; - if (/\b(string|comment)\b/.test(cm.getTokenTypeAt(safePos))) continue; - const applies = []; - pos = docCur.pos.to; - do { - skipSpace(pos, posEnd); - const funcIndex = lineIndexes[pos.line] + pos.ch; - const func = eatToken().string; - // no space allowed before the opening parenthesis - if (!funcRe.test(func) || eatToken(true).string !== '(') break; - const url = eatToken(); - if (url.type !== 'string' || eatToken().string !== ')') break; - const unquotedUrl = unquote(url.string); - const apply = createApply( - funcIndex, - func, - unquotedUrl, - unquotedUrl !== url.string - ); - applies.push(apply); - } while (eatToken().string === ','); - yield { - pos: docCur.pos.from, - applies - }; - } - } - - function skipSpace(pos, posEnd) { - let {ch, line} = pos; - let lookForEnd; - line--; - cm.doc.iter(pos.line, posEnd.line + 1, ({text}) => { - line++; - while (true) { - if (lookForEnd) { - ch = text.indexOf('*/', ch) + 1; - if (!ch) { - return; - } - ch++; - lookForEnd = false; - } - // EOL is a whitespace so we'll check the next line - if (ch >= text.length) { - ch = 0; - return; - } - RX_SPACE.lastIndex = ch; - const m = RX_SPACE.exec(text); - if (!m) { - return true; - } - ch += m[0].length; - lookForEnd = m[0].includes('/*'); - if (ch < text.length && !lookForEnd) { - return true; - } - } - }); - pos.line = line; - pos.ch = ch; - } - - function unquote(s) { - const first = s.charAt(0); - return (first === '"' || first === "'") && s.endsWith(first) ? s.slice(1, -1) : s; - } - - function unescapeDoubleslash(s) { - const hasSingleEscapes = /([^\\]|^)\\([^\\]|$)/.test(s); - return hasSingleEscapes ? s : s.replace(/\\\\/g, '\\'); - } - - function showRegExpTester(item) { - regExpTester.toggle(true); - regExpTester.update( - item.closest('.applies-to').__applies - .filter(a => a.type.text === 'regexp') - .map(a => unescapeDoubleslash(a.value.text))); - } -} diff --git a/edit/codemirror-default.js b/edit/codemirror-default.js index dc987a6a..ff2f51a8 100644 --- a/edit/codemirror-default.js +++ b/edit/codemirror-default.js @@ -1,4 +1,4 @@ -/* global CodeMirror prefs loadScript editor $ template */ +/* global CodeMirror prefs editor $ template */ 'use strict'; @@ -117,49 +117,24 @@ 'lightslategrey': true, 'slategrey': true, }); - - const MODE = { - less: { - family: 'css', - value: 'text/x-less', - isActive: cm => - cm.doc.mode && - cm.doc.mode.name === 'css' && - cm.doc.mode.helperType === 'less', - }, - stylus: 'stylus', - uso: 'css' - }; - - CodeMirror.defineExtension('setPreprocessor', function (preprocessor, force = false) { - const mode = MODE[preprocessor] || 'css'; - const isActive = mode.isActive || ( - cm => cm.doc.mode === mode || - cm.doc.mode && (cm.doc.mode.name + (cm.doc.mode.helperType || '') === mode) - ); - if (!force && isActive(this)) { - return Promise.resolve(); - } - if ((mode.family || mode) === 'css') { - // css.js is always loaded via html - this.setOption('mode', mode.value || mode); - return Promise.resolve(); - } - return loadScript(`/vendor/codemirror/mode/${mode}/${mode}.js`).then(() => { - this.setOption('mode', mode); - }); - }); - - CodeMirror.defineExtension('isBlank', function () { - // superfast checking as it runs only until the first non-blank line - let isBlank = true; - this.doc.eachLine(line => { - if (line.text && line.text.trim()) { - isBlank = false; - return true; + Object.assign(CodeMirror.prototype, { + /** + * @param {'less' | 'stylus' | ?} [pp] - any value besides `less` or `stylus` sets `css` mode + * @param {boolean} [force] + */ + setPreprocessor(pp, force) { + const name = pp === 'less' ? 'text/x-less' : pp === 'stylus' ? pp : 'css'; + const m = this.doc.mode; + if (force || (m.helperType ? m.helperType !== pp : m.name !== name)) { + this.setOption('mode', name); } - }); - return isBlank; + }, + /** Superfast GC-friendly check that runs until the first non-space line */ + isBlank() { + let filled; + this.eachLine(({text}) => (filled = text && /\S/.test(text))); + return !filled; + } }); // editor commands diff --git a/edit/edit.css b/edit/edit.css index 8301a737..dcfe72db 100644 --- a/edit/edit.css +++ b/edit/edit.css @@ -1,5 +1,6 @@ :root { --header-narrow-min-height: 12em; + --fixed-padding: unset; } body { @@ -18,6 +19,7 @@ body { z-index: 2147483647; opacity: 0; transition: opacity 2s; + contain: strict; } #global-progress[title] { opacity: 1; @@ -146,9 +148,6 @@ label { display: inline-block; vertical-align: middle; } -#mozilla-format-heading .svg-inline-wrapper { - margin-left: 0; -} #colorpicker-settings.svg-inline-wrapper { margin: -2px 0 0 .1rem; } @@ -190,8 +189,6 @@ input:invalid { align-items: center; margin-left: -13px; cursor: pointer; - margin-top: .5rem; - margin-bottom: .5rem; } #header summary h2 { @@ -203,6 +200,9 @@ input:invalid { padding-left: 13px; /* clicking directly on details-marker doesn't set pref so we cover it with h2 */ } +#options-wrapper { + padding: .5rem 0; +} #header summary:hover h2 { border-color: #bbb; } @@ -211,18 +211,25 @@ input:invalid { margin-top: -3px; } +#details-wrapper { + display: flex; + flex-direction: column; + flex-grow: 1; +} + +#header details { + margin-top: .5rem; +} + #actions > * { display: inline-flex; flex-wrap: wrap; } -#mozilla-format-container { - flex-direction: column; -} - #mozilla-format-buttons { display: flex; flex-wrap: wrap; + align-items: center; } #actions > div > a { @@ -272,6 +279,7 @@ input:invalid { /************ section editor ***********/ .CodeMirror-vscrollbar, .CodeMirror-hscrollbar { + box-shadow: none !important; pointer-events: auto !important; /* FF bug */ } .section-editor .section { @@ -305,6 +313,9 @@ input:invalid { counter-reset: codebox; } #sections > .section > label { + padding: 0 0 4px 0; + display: inline-block; + font-size: 13px; animation: 2s highlight; animation-play-state: paused; animation-direction: reverse; @@ -312,9 +323,41 @@ input:invalid { } #sections > .section > label::after { counter-increment: codebox; - content: counter(codebox); + content: counter(codebox) ": " attr(data-text); margin-left: 0.25rem; } +.single-editor .applies-to > label::before { + content: attr(data-index) ":"; + margin-right: 0.25rem; +} +.code-label[data-text] { + font-weight: bold; +} +#toc { + counter-reset: codelabel; + margin: 0; + padding: .5rem 0; +} +#toc li { + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; +} +#toc li.current:not(:only-child) { + font-weight: bold; +} +#toc li[tabindex="-1"] { + opacity: .25; + pointer-events: none; +} +#toc li:hover { + background-color: hsla(180, 50%, 36%, .2); +} +#toc li[tabindex="0"]::before { + counter-increment: codelabel; + content: counter(codelabel) ": "; +} .section:only-of-type .move-section-up, .section:only-of-type .move-section-down { display: none; @@ -438,6 +481,10 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high min-height: 30px; flex-wrap: wrap; } +.applies-to.error { + background-color: #f002; + border-color: #f008; +} .applies-to label { display: flex; padding: 0; @@ -617,9 +664,12 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high #help-popup .CodeMirror { margin: 3px; } - +#help-popup .keymap-list input[type="search"] { + margin: 0 0 2px; +} .keymap-list { font-size: 12px; + padding: 0 3px 0 0; border-spacing: 0; word-break: break-all; } @@ -677,13 +727,13 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high padding-left: 4px; } #lint[open]:not(.hidden-unless-compact) { - min-height: 130px; + min-height: 102px; } #lint summary h2 { - margin-left: -16px; + text-indent: -2px; } #lint > .lint-scroll-container { - margin: 42px 1rem 0; + margin: 34px 10px 0; position: absolute; top: 0; bottom: 0; @@ -721,7 +771,7 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high cursor: pointer; } #lint tr:hover { - background-color: rgba(0, 0, 0, 0.1); + background-color: hsla(180, 50%, 36%, .2); } #lint td[role="severity"] { font-size: 0; @@ -799,8 +849,7 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high } html:not(.usercss) .usercss-only, -.usercss #mozilla-format-container, -.usercss #sections > h2 { +.usercss .sectioned-only { display: none !important; /* hide during page init */ } @@ -877,7 +926,7 @@ body.linter-disabled .hidden-unless-compact { padding: 0; } .fixed-header { - padding-top: 40px; + padding-top: var(--fixed-padding); } .fixed-header #header { min-height: 40px; @@ -885,10 +934,11 @@ body.linter-disabled .hidden-unless-compact { top: 0; left: 0; right: 0; - padding: 8px 0 0; + padding: 0; background-color: #fff; } - .fixed-header #header > *:not(#lint) { + .fixed-header #header > *:not(#details-wrapper), + .fixed-header #options { display: none !important; } #actions { @@ -925,9 +975,31 @@ body.linter-disabled .hidden-unless-compact { #options-wrapper { display: flex; flex-wrap: wrap; - padding: 0 1rem .5rem; + padding: .5rem 1rem 0; box-sizing: border-box; } + #toc { + padding: .5rem 1rem; + } + #details-wrapper { + flex-direction: row; + flex-wrap: wrap; + padding-bottom: .25rem; + } + #options { + width: 100%; + } + #sections-list[open] { + height: 102px; + } + #sections-list[open] #toc { + max-height: 60px; + overflow-y: auto; + } + #sections-list, + #lint { + width: 50%; + } .options-column { flex-grow: 1; padding-right: .5rem; @@ -947,7 +1019,7 @@ body.linter-disabled .hidden-unless-compact { position: static; margin-bottom: 0; } - #options summary { + #header summary { margin-left: 0; padding-left: 4px; } @@ -966,15 +1038,11 @@ body.linter-disabled .hidden-unless-compact { top: 0.2rem; } #lint > .lint-scroll-container { - margin: 32px 1rem 0; - bottom: 6px; + margin: 26px 1rem 0; } #lint { padding: 0; - margin: 1rem 0 0; - } - #lint > summary { - margin-top: 0; + margin: .5rem 0 0; } #lint:not([open]) + #footer { margin: .25em 0 -1em .25em; diff --git a/edit/edit.js b/edit/edit.js index 5f38cd89..1a5c4326 100644 --- a/edit/edit.js +++ b/edit/edit.js @@ -1,52 +1,72 @@ -/* global CodeMirror onDOMready prefs setupLivePrefs $ $$ $create t tHTML - createSourceEditor sessionStorageHash getOwnTab FIREFOX API tryCatch - closeCurrentTab messageBox debounce tryJSONparse - initBeautifyButton ignoreChromeError dirtyReporter linter - moveFocus msg createSectionsEditor rerouteHotkeys CODEMIRROR_THEMES */ -/* exported showCodeMirrorPopup editorWorker toggleContextMenuDelete */ +/* global + $ + $$ + $create + API + clipString + closeCurrentTab + CodeMirror + CODEMIRROR_THEMES + debounce + deepEqual + DirtyReporter + DocFuncMapper + FIREFOX + getOwnTab + initBeautifyButton + linter + messageBox + moveFocus + msg + onDOMready + prefs + rerouteHotkeys + SectionsEditor + sessionStorageHash + setupLivePrefs + SourceEditor + t + tHTML + tryCatch + tryJSONparse +*/ 'use strict'; -// direct & reverse mapping of @-moz-document keywords and internal property names -const propertyToCss = {urls: 'url', urlPrefixes: 'url-prefix', domains: 'domain', regexps: 'regexp'}; -const CssToProperty = Object.entries(propertyToCss) - .reduce((o, v) => { - o[v[1]] = v[0]; - return o; - }, {}); - -let editor; +/** @type {EditorBase|SourceEditor|SectionsEditor} */ +const editor = { + isUsercss: false, + previewDelay: 200, // Chrome devtools uses 200 +}; let isWindowed; -let scrollPointTimer; +let headerHeight; -window.addEventListener('beforeunload', beforeUnload); +window.on('beforeunload', beforeUnload); msg.onExtension(onRuntimeMessage); lazyInit(); (async function init() { - const [style] = await Promise.all([ - initStyleData(), - onDOMready(), - prefs.initializing.then(() => new Promise(resolve => { - const theme = prefs.get('editor.theme'); - const el = $('#cm-theme'); - if (theme === 'default') { - resolve(); - } else { - // preload the theme so CodeMirror can use the correct metrics - el.href = `vendor/codemirror/theme/${theme}.css`; - el.addEventListener('load', resolve, {once: true}); - } - })), - ]); - const usercss = isUsercss(style); - const dirty = dirtyReporter(); - let wasDirty = false; + let style; let nameTarget; - - prefs.subscribe(['editor.linter'], updateLinter); - prefs.subscribe(['editor.keyMap'], showHotkeyInTooltip); - addEventListener('showHotkeyInTooltip', showHotkeyInTooltip); + let wasDirty = false; + const dirty = new DirtyReporter(); + await Promise.all([ + initStyle(), + prefs.initializing + .then(initTheme), + onDOMready(), + ]); + /** @namespace EditorBase */ + Object.assign(editor, { + style, + dirty, + updateName, + updateToc, + toggleStyle, + }); + prefs.subscribe('editor.linter', updateLinter); + prefs.subscribe('editor.keyMap', showHotkeyInTooltip); + window.on('showHotkeyInTooltip', showHotkeyInTooltip); showHotkeyInTooltip(); buildThemeElement(); buildKeymapElement(); @@ -55,32 +75,57 @@ lazyInit(); initBeautifyButton($('#beautify'), () => editor.getEditors()); initResizeListener(); detectLayout(); - updateTitle(); $('#heading').textContent = t(style.id ? 'editStyleHeading' : 'addStyleTitle'); $('#preview-label').classList.toggle('hidden', !style.id); - editor = (usercss ? createSourceEditor : createSectionsEditor)({ - style, - dirty, - updateName, - toggleStyle, - }); + const toc = []; + const elToc = $('#toc'); + elToc.onclick = e => editor.jumpToEditor([...elToc.children].indexOf(e.target)); + + (editor.isUsercss ? SourceEditor : SectionsEditor)(); + + prefs.subscribe('editor.toc.expanded', (k, val) => val && editor.updateToc(), {now: true}); dirty.onChange(updateDirty); await editor.ready; // enabling after init to prevent flash of validation failure on an empty name - $('#name').required = !usercss; + $('#name').required = !editor.isUsercss; $('#save-button').onclick = editor.save; + async function initStyle() { + const params = new URLSearchParams(location.search); + const id = Number(params.get('id')); + style = id ? await API.getStyle(id) : initEmptyStyle(params); + // switching the mode here to show the correct page ASAP, usually before DOMContentLoaded + editor.isUsercss = Boolean(style.usercssData || !style.id && prefs.get('newStyleAsUsercss')); + document.documentElement.classList.toggle('usercss', editor.isUsercss); + sessionStorage.justEditedStyleId = style.id || ''; + // no such style so let's clear the invalid URL parameters + if (!style.id) history.replaceState({}, '', location.pathname); + updateTitle(false); + } + + function initEmptyStyle(params) { + return { + name: params.get('domain') || + tryCatch(() => new URL(params.get('url-prefix')).hostname) || + '', + enabled: true, + sections: [ + DocFuncMapper.toSection([...params], {code: ''}), + ], + }; + } + function initNameArea() { const nameEl = $('#name'); const resetEl = $('#reset-name'); - const isCustomName = style.updateUrl || usercss; + const isCustomName = style.updateUrl || editor.isUsercss; nameTarget = isCustomName ? 'customName' : 'name'; - nameEl.placeholder = t(usercss ? 'usercssEditorNamePlaceholder' : 'styleMissingName'); + nameEl.placeholder = t(editor.isUsercss ? 'usercssEditorNamePlaceholder' : 'styleMissingName'); nameEl.title = isCustomName ? t('customNameHint') : ''; - nameEl.addEventListener('input', () => { + nameEl.on('input', () => { updateName(true); resetEl.hidden = false; }); @@ -101,6 +146,38 @@ lazyInit(); enabledEl.onchange = () => updateEnabledness(enabledEl.checked); } + function initResizeListener() { + const {onBoundsChanged} = chrome.windows || {}; + if (onBoundsChanged) { + // * movement is reported even if the window wasn't resized + // * fired just once when done so debounce is not needed + onBoundsChanged.addListener(wnd => { + // getting the current window id as it may change if the user attached/detached the tab + chrome.windows.getCurrent(ownWnd => { + if (wnd.id === ownWnd.id) saveWindowPos(); + }); + }); + } + window.on('resize', () => { + if (!onBoundsChanged) debounce(saveWindowPos, 100); + detectLayout(); + }); + } + + function initTheme() { + return new Promise(resolve => { + const theme = prefs.get('editor.theme'); + const el = $('#cm-theme'); + if (theme === 'default') { + resolve(); + } else { + // preload the theme so CodeMirror can use the correct metrics + el.href = `vendor/codemirror/theme/${theme}.css`; + el.on('load', resolve, {once: true}); + } + }); + } + function findKeyForCommand(command, map) { if (typeof map === 'string') map = CodeMirror.keyMap[map]; let key = Object.keys(map).find(k => map[k] === command); @@ -171,24 +248,6 @@ lazyInit(); } } - function initResizeListener() { - const {onBoundsChanged} = chrome.windows || {}; - if (onBoundsChanged) { - // * movement is reported even if the window wasn't resized - // * fired just once when done so debounce is not needed - onBoundsChanged.addListener(wnd => { - // getting the current window id as it may change if the user attached/detached the tab - chrome.windows.getCurrent(ownWnd => { - if (wnd.id === ownWnd.id) saveWindowPos(); - }); - }); - } - window.addEventListener('resize', () => { - if (!onBoundsChanged) debounce(saveWindowPos, 100); - detectLayout(); - }); - } - function toggleStyle() { $('#enabled').checked = !style.enabled; updateEnabledness(!style.enabled); @@ -217,17 +276,50 @@ lazyInit(); dirty.modify('name', style[nameTarget] || style.name, value); style[nameTarget] = value; } - updateTitle({}); + updateTitle(); } - function updateTitle() { - document.title = `${dirty.isDirty() ? '* ' : ''}${style.customName || style.name}`; + function updateTitle(isDirty = dirty.isDirty()) { + document.title = `${isDirty ? '* ' : ''}${style.customName || style.name}`; } function updateLinter(key, value) { $('body').classList.toggle('linter-disabled', value === ''); linter.run(); } + + function updateToc(added = editor.sections) { + const {sections} = editor; + const first = sections.indexOf(added[0]); + let el = elToc.children[first]; + if (added.focus) { + const cls = 'current'; + const old = $('.' + cls, elToc); + if (old && old !== el) old.classList.remove(cls); + el.classList.add(cls); + return; + } + if (first >= 0) { + for (let i = first; i < sections.length; i++) { + const entry = sections[i].tocEntry; + if (!deepEqual(entry, toc[i])) { + if (!el) el = elToc.appendChild($create('li', {tabIndex: 0})); + el.tabIndex = entry.removed ? -1 : 0; + toc[i] = Object.assign({}, entry); + const s = el.textContent = clipString(entry.label) || ( + entry.target == null + ? t('appliesToEverything') + : clipString(entry.target) + (entry.numTargets > 1 ? ', ...' : '')); + if (s.length > 30) el.title = s; + } + el = el.nextElementSibling; + } + } + while (toc.length > sections.length) { + elToc.lastElementChild.remove(); + toc.length--; + } + } })(); /* Stuff not needed for the main init so we can let it run at its own tempo */ @@ -330,53 +422,6 @@ function beforeUnload(e) { } } -function isUsercss(style) { - return ( - style.usercssData || - !style.id && prefs.get('newStyleAsUsercss') - ); -} - -function initStyleData() { - const params = new URLSearchParams(location.search); - const id = Number(params.get('id')); - const createEmptyStyle = () => ({ - name: params.get('domain') || - tryCatch(() => new URL(params.get('url-prefix')).hostname) || - '', - enabled: true, - sections: [ - Object.assign({code: ''}, - ...Object.keys(CssToProperty) - .map(name => ({ - [CssToProperty[name]]: params.get(name) && [params.get(name)] || [] - })) - ) - ], - }); - return fetchStyle() - .then(style => { - if (style.id) sessionStorage.justEditedStyleId = style.id; - // we set "usercss" class on when is empty - // so there'll be no flickering of the elements that depend on it - if (isUsercss(style)) { - document.documentElement.classList.add('usercss'); - } - // strip URL parameters when invoked for a non-existent id - if (!style.id) { - history.replaceState({}, document.title, location.pathname); - } - return style; - }); - - function fetchStyle() { - if (id) { - return API.getStyle(id); - } - return Promise.resolve(createEmptyStyle()); - } -} - function showHelp(title = '', body) { const div = $('#help-popup'); div.className = ''; @@ -419,11 +464,11 @@ function showHelp(title = '', body) { div.style.display = ''; contents.textContent = ''; clearTimeout(contents.timer); - window.removeEventListener('keydown', showHelp.close, true); + window.off('keydown', showHelp.close, true); window.dispatchEvent(new Event('closeHelp')); }); - window.addEventListener('keydown', showHelp.close, true); + window.on('keydown', showHelp.close, true); $('.dismiss', div).onclick = showHelp.close; // reset any inline styles @@ -433,6 +478,7 @@ function showHelp(title = '', body) { return div; } +/* exported showCodeMirrorPopup */ function showCodeMirrorPopup(title, html, options) { const popup = showHelp(title, html); popup.classList.add('big'); @@ -462,10 +508,10 @@ function showCodeMirrorPopup(title, html, options) { event.preventDefault(); } }; - window.addEventListener('keydown', onKeyDown, true); + window.on('keydown', onKeyDown, true); - window.addEventListener('closeHelp', () => { - window.removeEventListener('keydown', onKeyDown, true); + window.on('closeHelp', () => { + window.off('keydown', onKeyDown, true); document.documentElement.style.removeProperty('pointer-events'); rerouteHotkeys(true); cm = popup.codebox = null; @@ -493,59 +539,32 @@ function saveWindowPos() { } function fixedHeader() { - const scrollPoint = $('#header').clientHeight - 40; - const linterEnabled = prefs.get('editor.linter') !== ''; - if (window.scrollY >= scrollPoint && !$('.fixed-header') && linterEnabled) { + const headerFixed = $('.fixed-header'); + if (!headerFixed) headerHeight = $('#header').clientHeight; + const scrollPoint = headerHeight - 43; + if (window.scrollY >= scrollPoint && !headerFixed) { + $('body').style.setProperty('--fixed-padding', ` ${headerHeight}px`); $('body').classList.add('fixed-header'); - } else if (window.scrollY < 40 && linterEnabled) { + } else if (window.scrollY < scrollPoint && headerFixed) { $('body').classList.remove('fixed-header'); } } function detectLayout() { - const body = $('body'); - const options = $('#options'); - const lint = $('#lint'); const compact = window.innerWidth <= 850; - const shortViewportLinter = window.innerHeight < 692; - const shortViewportNoLinter = window.innerHeight < 554; - const linterEnabled = prefs.get('editor.linter') !== ''; if (compact) { - body.classList.add('compact-layout'); - options.removeAttribute('open'); - options.classList.add('ignore-pref'); - lint.removeAttribute('open'); - lint.classList.add('ignore-pref'); - if (!$('.usercss')) { - clearTimeout(scrollPointTimer); - scrollPointTimer = setTimeout(() => { - const scrollPoint = $('#header').clientHeight - 40; - if (window.scrollY >= scrollPoint && !$('.fixed-header') && linterEnabled) { - body.classList.add('fixed-header'); - } - }, 250); - window.addEventListener('scroll', fixedHeader, {passive: true}); + document.body.classList.add('compact-layout'); + if (!editor.isUsercss) { + debounce(fixedHeader, 250); + window.on('scroll', fixedHeader, {passive: true}); } } else { - body.classList.remove('compact-layout'); - body.classList.remove('fixed-header'); - window.removeEventListener('scroll', fixedHeader); - if (shortViewportLinter && linterEnabled || shortViewportNoLinter && !linterEnabled) { - options.removeAttribute('open'); - options.classList.add('ignore-pref'); - if (prefs.get('editor.lint.expanded')) { - lint.setAttribute('open', ''); - } - } else { - options.classList.remove('ignore-pref'); - lint.classList.remove('ignore-pref'); - if (prefs.get('editor.options.expanded')) { - options.setAttribute('open', ''); - } - if (prefs.get('editor.lint.expanded')) { - lint.setAttribute('open', ''); - } - } + document.body.classList.remove('compact-layout', 'fixed-header'); + window.off('scroll', fixedHeader); + } + for (const type of ['options', 'toc', 'lint']) { + const el = $(`details[data-pref="editor.${type}.expanded"]`); + el.open = compact ? false : prefs.get(el.dataset.pref); } } @@ -562,14 +581,3 @@ function isWindowMaximized() { window.outerHeight < screen.availHeight + 10 ); } - -function toggleContextMenuDelete(event) { - if (chrome.contextMenus && event.button === 2 && prefs.get('editor.contextDelete')) { - chrome.contextMenus.update('editor.contextDelete', { - enabled: Boolean( - this.selectionStart !== this.selectionEnd || - this.somethingSelected && this.somethingSelected() - ), - }, ignoreChromeError); - } -} diff --git a/edit/global-search.js b/edit/global-search.js index 3df729c2..546805c5 100644 --- a/edit/global-search.js +++ b/edit/global-search.js @@ -79,7 +79,7 @@ onDOMready().then(() => { doReplace(); return; } - return !event.target.closest(focusAccessibility.ELEMENTS.join(',')); + return !focusAccessibility.closest(event.target); }, 'Esc': () => { destroyDialog({restoreFocus: true}); diff --git a/edit/linter-meta.js b/edit/linter-meta.js index 0307f0e3..0068771a 100644 --- a/edit/linter-meta.js +++ b/edit/linter-meta.js @@ -2,8 +2,11 @@ /* exported createMetaCompiler */ 'use strict'; -function createMetaCompiler(cm) { - const updateListeners = []; +/** + * @param {CodeMirror} cm + * @param {function(meta:Object)} onUpdated + */ +function createMetaCompiler(cm, onUpdated) { let meta = null; let metaIndex = null; let cache = []; @@ -22,9 +25,7 @@ function createMetaCompiler(cm) { return editorWorker.metalint(match[0]) .then(({metadata, errors}) => { if (errors.every(err => err.code === 'unknownMeta')) { - for (const cb of updateListeners) { - cb(metadata); - } + onUpdated(metadata); } cache = errors.map(err => ({ @@ -40,8 +41,4 @@ function createMetaCompiler(cm) { return cache; }); }); - - return { - onUpdated: cb => updateListeners.push(cb) - }; } diff --git a/edit/live-preview.js b/edit/live-preview.js index 4372bbd0..34bf13be 100644 --- a/edit/live-preview.js +++ b/edit/live-preview.js @@ -2,7 +2,7 @@ /* exported createLivePreview */ 'use strict'; -function createLivePreview(preprocess) { +function createLivePreview(preprocess, shouldShow) { let data; let previewer; let enabled = prefs.get('editor.livePreview'); @@ -20,6 +20,7 @@ function createLivePreview(preprocess) { } enabled = value; }); + if (shouldShow != null) show(shouldShow); return {update, show}; function show(state) { diff --git a/edit/moz-section-finder.js b/edit/moz-section-finder.js new file mode 100644 index 00000000..e80fbb12 --- /dev/null +++ b/edit/moz-section-finder.js @@ -0,0 +1,386 @@ +/* global + CodeMirror + debounce + deepEqual + trimCommentLabel + */ +'use strict'; + +/* exported MozSectionFinder */ +function MozSectionFinder(cm) { + const KEY = 'MozSectionFinder'; + const MOZ_DOC_LEN = '@-moz-document'.length; + const rxDOC = /@-moz-document(\s+|$)/ig; + const rxFUNC = /(url|url-prefix|domain|regexp)\(/iy; + const rxQUOTE = /['"]/y; + const rxSPACE = /\s+/y; + const rxTokDOC = /^(?!comment|string)/; + const rxTokCOMMENT = /^comment(\s|$)/; + const rxTokSTRING = /^string(\s|$)/; + const {cmpPos} = CodeMirror; + const minPos = (a, b) => cmpPos(a, b) < 0 ? a : b; + const maxPos = (a, b) => cmpPos(a, b) > 0 ? a : b; + const keptAlive = new Map(); + /** @type {CodeMirror.Pos} */ + let updFrom; + /** @type {CodeMirror.Pos} */ + let updTo; + + const MozSectionFinder = { + IGNORE_ORIGIN: KEY, + EQ_SKIP_KEYS: [ + 'mark', + 'valueStart', + 'valueEnd', + 'sticky', // added by TextMarker::find() + ], + get sections() { + return getState().sections; + }, + keepAliveFor(id, ms) { + let data = keptAlive.get(id); + if (data) { + clearTimeout(data.timer); + } else { + const NOP = () => 0; + data = {fn: NOP}; + keptAlive.set(id, data); + MozSectionFinder.on(NOP); + } + data.timer = setTimeout(id => keptAlive.delete(id), ms, id); + }, + on(fn) { + const {listeners} = getState(); + const needsInit = !listeners.size; + listeners.add(fn); + if (needsInit) { + cm.on('changes', onCmChanges); + update(); + } + }, + off(fn) { + const {listeners, sections} = getState(); + if (listeners.size) { + listeners.delete(fn); + if (!listeners.size) { + cm.off('changes', onCmChanges); + cm.operation(() => sections.forEach(sec => sec.mark.clear())); + sections.length = 0; + } + } + }, + onOff(fn, enable) { + MozSectionFinder[enable ? 'on' : 'off'](fn); + }, + /** @param {MozSection} [section] */ + updatePositions(section) { + (section ? [section] : getState().sections).forEach(setPositionFromMark); + } + }; + return MozSectionFinder; + + /** @returns {MozSectionCmState} */ + function getState() { + let state = cm.state[KEY]; + if (!state) { + state = cm.state[KEY] = /** @namespace MozSectionCmState */ { + /** @type {Set} */ + listeners: new Set(), + /** @type {MozSection[]} */ + sections: [], + }; + } + return state; + } + + function onCmChanges(cm, changes) { + if (!updFrom) updFrom = {line: Infinity, ch: 0}; + if (!updTo) updTo = {line: -1, ch: 0}; + for (const c of changes) { + if (c.origin !== MozSectionFinder.IGNORE_ORIGIN) { + updFrom = minPos(c.from, updFrom); + updTo = maxPos(CodeMirror.changeEnd(c), updTo); + } + } + if (updTo.line >= 0) { + debounce(update); + } + } + + function update( + from = updFrom || {line: 0, ch: 0}, + to = updTo || {line: cm.doc.size, ch: 0} + ) { + updFrom = updTo = null; + const {sections, listeners} = getState(); + let cutAt = -1; + let cutTo = -1; + for (let i = 0, sec; (sec = sections[i]); i++) { + if (cmpPos(sec.end, from) >= 0) { + if (cutAt < 0) { + cutAt = i; + from = minPos(from, sec.start); + } + // Sections that start/end after `from` may have incorrect positions + if (setPositionFromMark(sec)) { + if (cmpPos(sec.start, to) > 0) { + cutTo = i; + break; + } + to = maxPos(sec.end, to); + } + } + } + if (cutAt < 0) from.ch = Math.max(0, from.ch - MOZ_DOC_LEN); + if (cutTo < 0) to.ch += MOZ_DOC_LEN; + const added = findSections(from, to); + if (!added.length && cutAt < 0 && cutTo < 0) { + return; + } + if (cutTo < 0) { + cutTo = sections.length; + } + let op; + let reusedAtStart = 0; + const removed = sections.slice(cutAt, cutTo); + for (const sec of added) { + const i = removed.findIndex(isSameSection, sec); + if (i >= 0) { + removed[i].funcs = sec.funcs; // use the new valueStart, valueEnd + removed[i] = null; + if (!op) reusedAtStart++; + } else { + if (!op) op = cm.curOp || (cm.startOperation(), true); + sec.mark = cm.markText(sec.start, sec.end, { + clearWhenEmpty: false, + inclusiveRight: true, + [KEY]: sec, + }); + } + } + if (reusedAtStart) { + cutAt += reusedAtStart; + added.splice(0, reusedAtStart); + } + for (const sec of removed) { + if (sec) { + if (!op) op = cm.curOp || (cm.startOperation(), true); + sec.mark.clear(); + } + } + if (op) { + sections.splice(cutAt, cutTo - cutAt, ...added); + listeners.forEach(fn => fn(added, removed, cutAt, cutTo)); + } + if (op === true) { + cm.endOperation(); + } + } + + /** + * @param {CodeMirror.Pos} from + * @param {CodeMirror.Pos} to + * @returns MozSection[] + */ + function findSections(from, to) { + /** @type MozSection[] */ + const found = []; + let line = from.line - 1; + let goal = ''; + let section, func, funcPos, url; + /** @type {MozSectionFunc[]} */ + let funcs; + // will stop after to.line if there's no goal anymore, see `return true` below + cm.eachLine(from.line, cm.doc.size, handle => { + ++line; + const {text} = handle; + const len = text.length; + if (!len) { + return; + } + let ch = line === from.line ? from.ch : 0; + while (true) { + let m; + if (!goal) { + // useful for minified styles with long lines + if ((line - to.line || ch - to.ch) >= 0) { + return true; + } + if ((ch = text.indexOf('@-', ch)) < 0 || + !(rxDOC.lastIndex = ch, m = rxDOC.exec(text))) { + return; + } + ch = m.index + m[0].length; + section = /** @namespace MozSection */ { + funcs: funcs = [], + start: {line, ch: m.index}, + end: null, + mark: null, + tocEntry: { + label: '', + target: null, + numTargets: 0, + }, + }; + if (rxTokDOC.test(cm.getTokenTypeAt(section.start))) { + found.push(section); + goal = '_func'; + } else { + continue; + } + } + if (!handle.styles) cm.getTokenTypeAt({line, ch: 0}); + const {styles} = handle; + let j = 1; + if (ch) { + j += styles.length * ch / len & ~1; + while (styles[j - 2] >= ch) j -= 2; + while (styles[j] <= ch) j += 2; + } + let type; + for (; goal && j < styles.length; ch = styles[j], j += 2) { + let s; + type = styles[j + 1]; + if (goal.startsWith('_')) { + if (!type && (rxSPACE.lastIndex = ch, rxSPACE.test(text))) { + ch = rxSPACE.lastIndex; + if (ch === styles[j]) { + continue; + } + } + const isCmt = type && rxTokCOMMENT.test(type); + if (goal === '_cmt') { + const cmt = trimCommentLabel(text.slice(ch, styles[j])); + if (isCmt && cmt) section.tocEntry.label = cmt; + if (!isCmt || cmt) goal = ''; + continue; + } + if (isCmt) { + continue; + } + goal = goal.slice(1); + } + if (goal === 'func') { + if (!type || !(rxFUNC.lastIndex = ch, m = rxFUNC.exec(text))) { + goal = 'error'; + break; + } + func = m[1]; + funcPos = {line, ch}; + url = null; + goal = '_str'; + // Tokens in `styles` are split into multiple items due to `overlay`. + while (styles[j + 2] <= ch + func.length + 1) j += 2; + } + if (goal === 'str') { + if (!rxTokSTRING.test(type)) { + if (url && !url.quote && !type && text[ch] === ')') { + goal = ')'; + } else { + goal = 'error'; + break; + } + } else { + if (!url) { + s = (rxQUOTE.lastIndex = ch, rxQUOTE.test(text)) && text[ch]; + url = { + chunks: [], + start: {line, ch: s ? ch + 1 : ch}, + end: null, + quote: s, + }; + } + s = text.slice(ch, styles[j]); + url.chunks.push(s); + url.end = {line, ch: styles[j]}; + // CSS strings can span multiple lines. + // Tokens in `styles` are split into multiple items due to `overlay`. + if (url.quote && s.endsWith(url.quote) && s[s.length - 2] !== '\\') { + url.end.ch--; + goal = '_)'; + } + } + } + if (goal === ')') { + if (text[ch] !== ')') { + goal = 'error'; + break; + } + ch++; + s = url.chunks.join(''); + if (url.quote) s = s.slice(1, -1); + if (!funcs.length) section.tocEntry.target = s; + section.tocEntry.numTargets++; + funcs.push(/** @namespace MozSectionFunc */ { + type: func, + value: s, + isQuoted: url.quote, + start: funcPos, + end: {line, ch}, + valueStart: url.start, + valueEnd: url.end, + }); + s = text.slice(ch, styles[j]).trim(); + goal = s.startsWith(',') ? '_func' : + s.startsWith('{') ? '_cmt' : + !s && '_,'; // non-space something at this place = syntax error + if (!goal) { + goal = 'error'; + break; + } + } + if (goal === ',') { + goal = text[ch] === ',' ? '_func' : ''; + } + } + section.end = {line, ch: styles[j + 2] || len}; + // at this point it's either an error... + if (goal === 'error') { + goal = ''; + section.funcs.length = 0; + } + // ...or a EOL, in which case we'll advance to the next line + if (goal) { + return; + } + } + }); + return found; + } + + /** + * @param {MozSection|MozSectionFunc} obj + * @returns {?{from:CodeMirror.Pos, to:CodeMirror.Pos}} falsy if marker was removed + */ + function setPositionFromMark(obj) { + const pos = obj.mark.find(); + obj.start = pos && pos.from; + obj.end = pos && pos.to; + return pos; + } + + /** + * @this {MozSection} new section + * @param {MozSection} old + * @returns {boolean} + */ + function isSameSection(old) { + return old && + old.start && + old.tocEntry.label === this.tocEntry.label && + !cmpPos(old.start, this.start) && + !cmpPos(old.end, this.end) && + old.funcs.length === this.funcs.length && + old.funcs.every(isSameFunc, this.funcs); + } + + /** @this {MozSectionFunc[]} new functions */ + function isSameFunc(func, i) { + return deepEqual(func, this[i], MozSectionFinder.EQ_SKIP_KEYS); + } +} + +/** @typedef CodeMirror.Pos + * @property {number} line + * @property {number} ch + */ diff --git a/edit/moz-section-widget.js b/edit/moz-section-widget.js new file mode 100644 index 00000000..e8f4cfe3 --- /dev/null +++ b/edit/moz-section-widget.js @@ -0,0 +1,447 @@ +/* global + $ + $create + CodeMirror + colorMimicry + messageBox + MozSectionFinder + msg + prefs + regExpTester + t + template + tryCatch +*/ +'use strict'; + +/* exported MozSectionWidget */ +function MozSectionWidget( + cm, + finder = MozSectionFinder(cm), + onDirectChange = () => 0 +) { + let TPL, EVENTS, CLICK_ROUTE; + const KEY = 'MozSectionWidget'; + const C_CONTAINER = '.applies-to'; + const C_LABEL = 'label'; + const C_LIST = '.applies-to-list'; + const C_ITEM = '.applies-to-item'; + const C_TYPE = '.applies-type'; + const C_VALUE = '.applies-value'; + /** @returns {MarkedFunc} */ + const getFuncFor = el => el.closest(C_ITEM)[KEY]; + /** @returns {MarkedFunc[]} */ + const getFuncsFor = el => el.closest(C_LIST)[KEY]; + /** @returns {MozSection} */ + const getSectionFor = el => el.closest(C_CONTAINER)[KEY]; + const {cmpPos} = CodeMirror; + let enabled = false; + let funcHeight = 0; + let actualStyle; + return { + toggle(enable) { + if (Boolean(enable) !== enabled) { + (enable ? init : destroy)(); + } + }, + }; + + function init() { + enabled = true; + TPL = { + container: + $create('div' + C_CONTAINER, [ + $create(C_LABEL, t('appliesLabel')), + $create('ul' + C_LIST), + ]), + listItem: + template.appliesTo.cloneNode(true), + appliesToEverything: + $create('li.applies-to-everything', t('appliesToEverything')), + }; + + $(C_VALUE, TPL.listItem).after( + $create('button.test-regexp', t('styleRegexpTestButton'))); + + CLICK_ROUTE = { + '.test-regexp': showRegExpTester, + /** + * @param {HTMLElement} elItem + * @param {MarkedFunc} func + */ + '.remove-applies-to'(elItem, func) { + const funcs = getFuncsFor(elItem); + if (funcs.length < 2) { + messageBox({ + contents: t('appliesRemoveError'), + buttons: [t('confirmClose')] + }); + return; + } + const i = funcs.indexOf(func); + const next = funcs[i + 1]; + const from = i ? funcs[i - 1].item.find(1) : func.item.find(-1); + const to = next ? next.item.find(-1) : func.item.find(1); + cm.replaceRange(i && next ? ', ' : '', from, to); + }, + /** + * @param {HTMLElement} elItem + * @param {MarkedFunc} func + */ + '.add-applies-to'(elItem, func) { + const pos = func.item.find(1); + cm.replaceRange(`, ${func.typeText}("")`, pos, pos); + }, + }; + + EVENTS = { + onchange({target: el}) { + EVENTS.oninput({target: el.closest(C_TYPE) || el}); + }, + oninput({target: el}) { + const part = + el.matches(C_VALUE) && 'value' || + el.matches(C_TYPE) && 'type'; + if (!part) return; + const func = getFuncFor(el); + const pos = func[part].find(); + if (part === 'type' && el.value !== func.typeText) { + func.typeText = func.item[KEY].dataset.type = el.value; + } + if (part === 'value' && func === getFuncsFor(el)[0]) { + const sec = getSectionFor(el); + sec.tocEntry.target = el.value; + if (!sec.tocEntry.label) onDirectChange([sec]); + } + cm.replaceRange(toDoubleslash(el.value), pos.from, pos.to, finder.IGNORE_ORIGIN); + }, + onclick(event) { + const {target} = event; + for (const selector in CLICK_ROUTE) { + const routed = target.closest(selector); + if (routed) { + const elItem = routed.closest(C_ITEM); + CLICK_ROUTE[selector](elItem, elItem[KEY], event); + return; + } + } + } + }; + + actualStyle = $create('style'); + + cm.on('optionChange', onCmOption); + msg.onExtension(onRuntimeMessage); + if (finder.sections.length) { + update(finder.sections, []); + } + finder.on(update); + requestAnimationFrame(updateWidgetStyle); + } + + function destroy() { + enabled = false; + cm.off('optionChange', onCmOption); + msg.off(onRuntimeMessage); + actualStyle.remove(); + actualStyle = null; + cm.operation(() => finder.sections.forEach(killWidget)); + finder.off(update); + } + + function onCmOption(cm, option) { + if (option === 'theme') { + updateWidgetStyle(); + } + } + + function onRuntimeMessage(msg) { + if (msg.reason === 'editPreview' && !$(`#stylus-${msg.style.id}`)) { + // no style element with this id means the style doesn't apply to the editor URL + return; + } + if (msg.style || msg.styles || + msg.prefs && 'disableAll' in msg.prefs || + msg.method === 'styleDeleted') { + requestAnimationFrame(updateWidgetStyle); + } + } + + function updateWidgetStyle() { + funcHeight = 0; + if (prefs.get('editor.theme') !== 'default' && + !tryCatch(() => $('#cm-theme').sheet.cssRules)) { + requestAnimationFrame(updateWidgetStyle); + return; + } + const MIN_LUMA = .05; + const MIN_LUMA_DIFF = .4; + const color = { + wrapper: colorMimicry.get(cm.display.wrapper), + gutter: colorMimicry.get(cm.display.gutters, { + bg: 'backgroundColor', + border: 'borderRightColor', + }), + line: colorMimicry.get('.CodeMirror-linenumber', null, cm.display.lineDiv), + comment: colorMimicry.get('span.cm-comment', null, cm.display.lineDiv), + }; + const hasBorder = + color.gutter.style.borderRightWidth !== '0px' && + !/transparent|\b0\)/g.test(color.gutter.style.borderRightColor); + const diff = { + wrapper: Math.abs(color.gutter.bgLuma - color.wrapper.foreLuma), + border: hasBorder ? Math.abs(color.gutter.bgLuma - color.gutter.borderLuma) : 0, + line: Math.abs(color.gutter.bgLuma - color.line.foreLuma), + }; + const preferLine = diff.line > diff.wrapper || diff.line > MIN_LUMA_DIFF; + const fore = preferLine ? color.line.fore : color.wrapper.fore; + + const border = fore.replace(/[\d.]+(?=\))/, MIN_LUMA_DIFF / 2); + const borderStyleForced = `1px ${hasBorder ? color.gutter.style.borderRightStyle : 'solid'} ${border}`; + + actualStyle.textContent = ` + ${C_CONTAINER} { + background-color: ${color.gutter.bg}; + border-top: ${borderStyleForced}; + border-bottom: ${borderStyleForced}; + } + ${C_CONTAINER} ${C_LABEL} { + color: ${fore}; + } + ${C_CONTAINER} input, + ${C_CONTAINER} button, + ${C_CONTAINER} select { + background: rgba(255, 255, 255, ${ + Math.max(MIN_LUMA, Math.pow(Math.max(0, color.gutter.bgLuma - MIN_LUMA * 2), 2)).toFixed(2) + }); + border: ${borderStyleForced}; + transition: none; + color: ${fore}; + } + ${C_CONTAINER} .svg-icon.select-arrow { + fill: ${fore}; + transition: none; + } + `; + document.documentElement.appendChild(actualStyle); + } + + /** + * @param {MozSection[]} added + * @param {MozSection[]} removed + * @param {number} cutAt + */ + function update(added, removed, cutAt = finder.sections.indexOf(added[0])) { + const isDelayed = added.isDelayed && (cm.startOperation(), true); + const toDelay = []; + const t0 = performance.now(); + let {viewFrom, viewTo} = cm.display; + for (const sec of added) { + const i = removed.findIndex(isReusableWidget, sec); + const old = removed[i]; + if (isDelayed || old || sec.end.line >= viewFrom && sec.start.line < viewTo) { + renderWidget(sec, old); + viewTo -= (sec.funcs.length || 1) * 1.25; + if (old) removed[i] = null; + if (performance.now() - t0 > 50) { + toDelay.push(...added.slice(added.indexOf(sec) + 1)); + break; + } + } else { + toDelay.push(sec); + } + } + // renumber + for (let i = Math.max(0, cutAt), {sections} = finder, sec; (sec = sections[i++]);) { + if (!toDelay.includes(sec)) { + const data = $(C_LABEL, sec.widget.node).dataset; + if (data.index !== `${i}`) data.index = `${i}`; + } + } + if (toDelay.length) { + toDelay.isDelayed = true; + setTimeout(update, 0, toDelay, removed); + } else { + removed.forEach(killWidget); + } + if (isDelayed) cm.endOperation(); + } + + /** @this {MozSection} */ + function isReusableWidget(r) { + return r && + r.widget && + r.widget.line.parent && + r.start && + !cmpPos(r.start, this.start); + } + + function renderWidget(sec, old) { + let widget = old && old.widget; + const height = funcHeight * (sec.funcs.length || 1) || undefined; + const node = renderContainer(sec, widget); + if (widget) { + widget.node = node; + if (height && height !== widget.height) { + widget.height = height; + widget.changed(); + } + } else { + widget = cm.addLineWidget(sec.start.line, node, { + coverGutter: true, + noHScroll: true, + above: true, + height, + }); + } + if (!funcHeight) { + funcHeight = node.offsetHeight / (sec.funcs.length || 1); + } + setProp(sec, 'widget', widget); + return widget; + } + + /** + * @param {MozSection} sec + * @param {LineWidget} oldWidget + * @returns {Node} + */ + function renderContainer(sec, oldWidget) { + const container = oldWidget ? oldWidget.node : TPL.container.cloneNode(true); + const elList = $(C_LIST, container); + const {funcs} = sec; + const oldItems = elList[KEY] || false; + const items = funcs.map((f, i) => renderFunc(f, oldItems[i])); + let slot = elList.firstChild; + for (const {item} of items) { + const el = item[KEY]; + if (el !== slot) { + elList.insertBefore(el, slot); + if (slot) slot.remove(); + slot = el; + } + slot = slot.nextSibling; + } + for (let i = funcs.length; oldItems && i < oldItems.length; i++) { + killFunc(oldItems[i]); + if (slot) { + const el = slot.nextSibling; + slot.remove(); + slot = el; + } + } + if (!funcs.length && (!oldItems || oldItems.length)) { + TPL.appliesToEverything.cloneNode(true); + } + setProp(sec, 'widgetFuncs', items); + elList[KEY] = items; + container[KEY] = sec; + container.classList.toggle('error', !sec.funcs.length); + return Object.assign(container, EVENTS); + } + + /** + * @param {MozSectionFunc} func + * @param {MarkedFunc} old + * @returns {MarkedFunc} + */ + function renderFunc(func, old = {}) { + const { + type, + value, + isQuoted = false, + start, + start: {line}, + typeEnd = {line, ch: start.ch + type.length}, + valuePos = {line, ch: typeEnd.ch + 1 + Boolean(isQuoted)}, + valueEnd = {line, ch: valuePos.ch + value.length}, + end = {line, ch: valueEnd.ch + Boolean(isQuoted) + 1}, + } = func; + const el = (old.item || {})[KEY] || TPL.listItem.cloneNode(true); + /** @namespace MarkedFunc */ + const res = el[KEY] = { + typeText: type, + item: markFuncPart(start, end, old.item, el), + type: markFuncPart(start, typeEnd, old.type, $(C_TYPE, el), type, toLowerCase), + value: markFuncPart(valuePos, valueEnd, old.value, $(C_VALUE, el), value, fromDoubleslash), + }; + if (el.dataset.type !== type) { + el.dataset.type = type; + } + return res; + } + + /** + * @param {CodeMirror.Pos} start + * @param {CodeMirror.Pos} end + * @param {TextMarker} marker + * @param {HTMLElement} el + * @param {string} [text] + * @param {function} [textTransform] + * @returns {TextMarker} + */ + function markFuncPart(start, end, marker, el, text, textTransform) { + if (marker) { + const pos = marker.find(); + if (!pos || + cmpPos(pos.from, start) || + cmpPos(pos.to, end) || + text != null && text !== cm.getRange(start, end)) { + marker.clear(); + marker = null; + } + } + if (!marker) { + marker = cm.markText(start, end, { + clearWhenEmpty: false, + inclusiveLeft: true, + inclusiveRight: true, + [KEY]: el, + }); + } + if (text != null) { + text = textTransform(text); + if (el.value !== text) el.value = text; + } + return marker; + } + + /** @type {MozSection} sec */ + function killWidget(sec) { + const w = sec && sec.widget; + if (w) { + w.clear(); + w.node[KEY].widgetFuncs.forEach(killFunc); + } + } + + /** @type {MarkedFunc} f */ + function killFunc(f) { + f.item.clear(); + f.type.clear(); + f.value.clear(); + } + + function showRegExpTester(el) { + const reFuncs = getFuncsFor(el).filter(f => f.typeText === 'regexp'); + regExpTester.toggle(true); + regExpTester.update(reFuncs.map(f => fromDoubleslash(f.value[KEY].value))); + } + + function fromDoubleslash(s) { + return /([^\\]|^)\\([^\\]|$)/.test(s) ? s : s.replace(/\\\\/g, '\\'); + } + + function toDoubleslash(s) { + return fromDoubleslash(s).replace(/\\/g, '\\\\'); + } + + function toLowerCase(s) { + return s.toLowerCase(); + } + + /** Adds a non-enumerable property so it won't be seen by deepEqual */ + function setProp(obj, name, value) { + return Object.defineProperty(obj, name, {value, configurable: true}); + } +} diff --git a/edit/sections-editor-section.js b/edit/sections-editor-section.js index dce07e93..d1446881 100644 --- a/edit/sections-editor-section.js +++ b/edit/sections-editor-section.js @@ -1,112 +1,43 @@ -/* global template cmFactory $ propertyToCss CssToProperty linter regExpTester - FIREFOX toggleContextMenuDelete initBeautifyButton showHelp t tryRegExp */ -/* exported createSection */ +/* global + $ + cmFactory + debounce + DocFuncMapper + editor + initBeautifyButton + linter + prefs + regExpTester + t + template + trimCommentLabel + tryRegExp +*/ 'use strict'; -function createResizeGrip(cm) { - const wrapper = cm.display.wrapper; - wrapper.classList.add('resize-grip-enabled'); - const resizeGrip = template.resizeGrip.cloneNode(true); - wrapper.appendChild(resizeGrip); - let lastClickTime = 0; - let initHeight; - let initY; - resizeGrip.onmousedown = event => { - initHeight = wrapper.offsetHeight; - initY = event.pageY; - if (event.button !== 0) { - return; - } - event.preventDefault(); - if (Date.now() - lastClickTime < 500) { - lastClickTime = 0; - toggleSectionHeight(cm); - return; - } - lastClickTime = Date.now(); - const minHeight = cm.defaultTextHeight() + - /* .CodeMirror-lines padding */ - cm.display.lineDiv.offsetParent.offsetTop + - /* borders */ - wrapper.offsetHeight - wrapper.clientHeight; - wrapper.style.pointerEvents = 'none'; - document.body.style.cursor = 's-resize'; - document.addEventListener('mousemove', resize); - document.addEventListener('mouseup', resizeStop); +/* exported createSection */ - function resize(e) { - const height = Math.max(minHeight, initHeight + e.pageY - initY); - if (height !== wrapper.offsetHeight) { - cm.setSize(null, height); - } - } - - function resizeStop() { - document.removeEventListener('mouseup', resizeStop); - document.removeEventListener('mousemove', resize); - wrapper.style.pointerEvents = ''; - document.body.style.cursor = ''; - } - }; - - function toggleSectionHeight(cm) { - if (cm.state.toggleHeightSaved) { - // restore previous size - cm.setSize(null, cm.state.toggleHeightSaved); - cm.state.toggleHeightSaved = 0; - } else { - // maximize - const wrapper = cm.display.wrapper; - const allBounds = $('#sections').getBoundingClientRect(); - const pageExtrasHeight = allBounds.top + window.scrollY + - parseFloat(getComputedStyle($('#sections')).paddingBottom); - const sectionEl = wrapper.parentNode; - const sectionExtrasHeight = sectionEl.clientHeight - wrapper.offsetHeight; - cm.state.toggleHeightSaved = wrapper.clientHeight; - cm.setSize(null, window.innerHeight - sectionExtrasHeight - pageExtrasHeight); - const bounds = sectionEl.getBoundingClientRect(); - if (bounds.top < 0 || bounds.bottom > window.innerHeight) { - window.scrollBy(0, bounds.top); - } - } - } -} - -function createSection({ - // data model - originalSection, - dirty, - // util - nextEditor, - prevEditor, - genId, - // emit events - // TODO: better names like `onRemoved`? Or make a real event emitter. - showMozillaFormatImport, - removeSection, - insertSectionAfter, - moveSectionUp, - moveSectionDown, - restoreSection, -}) { +/** @returns {EditorSection} */ +function createSection(originalSection, genId) { + const {dirty} = editor; const sectionId = genId(); const el = template.section.cloneNode(true); + const elLabel = $('.code-label', el); const cm = cmFactory.create(wrapper => { - el.insertBefore(wrapper, $('.code-label', el).nextSibling); - }, {value: originalSection.code}); + // making it tall during initial load so IntersectionObserver sees only one adjacent CM + wrapper.style.height = '100vh'; + elLabel.after(wrapper); + }, { + value: originalSection.code, + }); el.CodeMirror = cm; // used by getAssociatedEditor const changeListeners = new Set(); const appliesToContainer = $('.applies-to-list', el); const appliesTo = []; - for (const [key, fnName] of Object.entries(propertyToCss)) { - if (originalSection[key]) { - originalSection[key].forEach(value => - insertApplyAfter({type: fnName, value}) - ); - } - } + DocFuncMapper.forEachProp(originalSection, (type, value) => + insertApplyAfter({type, value})); if (!appliesTo.length) { insertApplyAfter({all: true}); } @@ -118,89 +49,74 @@ function createSection({ updateRegexpTester(); createResizeGrip(cm); - linter.enableForEditor(cm); - + /** @namespace EditorSection */ const section = { id: sectionId, el, cm, - render, - getModel, - remove, - destroy, - restore, - isRemoved: () => removed, - onChange, - off, - appliesTo + appliesTo, + getModel() { + const items = appliesTo.map(a => !a.all && [a.type, a.value]); + return DocFuncMapper.toSection(items, {code: cm.getValue()}); + }, + remove() { + linter.disableForEditor(cm); + el.classList.add('removed'); + removed = true; + appliesTo.forEach(a => a.remove()); + }, + render() { + cm.refresh(); + }, + destroy() { + cmFactory.destroy(cm); + }, + restore() { + linter.enableForEditor(cm); + el.classList.remove('removed'); + removed = false; + appliesTo.forEach(a => a.restore()); + cm.refresh(); + }, + onChange(fn) { + changeListeners.add(fn); + }, + off(fn) { + changeListeners.delete(fn); + }, + get removed() { + return removed; + }, + tocEntry: { + label: '', + get removed() { + return removed; + }, + }, }; + + prefs.subscribe('editor.toc.expanded', updateTocPrefToggled, {now: true}); + return section; - function onChange(fn) { - changeListeners.add(fn); - } - - function off(fn) { - changeListeners.delete(fn); - } - - function emitSectionChange() { + function emitSectionChange(origin) { for (const fn of changeListeners) { - fn(); + fn(origin); } } - function getModel() { - const section = { - code: cm.getValue() - }; - for (const apply of appliesTo) { - if (apply.all) { - continue; - } - const key = CssToProperty[apply.getType()]; - if (!section[key]) { - section[key] = []; - } - section[key].push(apply.getValue()); - } - return section; - } - function registerEvents() { cm.on('changes', () => { const newGeneration = cm.changeGeneration(); dirty.modify(`section.${sectionId}.code`, changeGeneration, newGeneration); changeGeneration = newGeneration; - emitSectionChange(); + emitSectionChange('code'); }); - cm.on('paste', (cm, event) => { - const text = event.clipboardData.getData('text') || ''; - if (/@-moz-document/i.test(text) && - /@-moz-document\s+(url|url-prefix|domain|regexp)\(/i - .test(text.replace(/\/\*([^*]|\*(?!\/))*(\*\/|$)/g, '')) - ) { - event.preventDefault(); - showMozillaFormatImport(text); - } - }); - if (!FIREFOX) { - cm.on('mousedown', (cm, event) => toggleContextMenuDelete.call(cm, event)); - } - cm.display.wrapper.addEventListener('keydown', event => - handleKeydown(cm, event), true); - - $('.applies-to-help', el).addEventListener('click', showAppliesToHelp); - $('.remove-section', el).addEventListener('click', () => removeSection(section)); - $('.add-section', el).addEventListener('click', () => insertSectionAfter(undefined, section)); - $('.clone-section', el).addEventListener('click', () => insertSectionAfter(getModel(), section)); - $('.move-section-up', el).addEventListener('click', () => moveSectionUp(section)); - $('.move-section-down', el).addEventListener('click', () => moveSectionDown(section)); - $('.restore-section', el).addEventListener('click', () => restoreSection(section)); - $('.test-regexp', el).addEventListener('click', () => { + cm.display.wrapper.on('keydown', event => handleKeydown(cm, event), true); + $('.test-regexp', el).onclick = () => { regExpTester.toggle(); updateRegexpTester(); - }); + }; initBeautifyButton($('.beautify-section', el), () => [cm]); } @@ -217,7 +133,7 @@ function createSection({ } // fallthrough case 'ArrowUp': - cm = line === 0 && prevEditor(cm, false); + cm = line === 0 && editor.prevEditor(cm, false); if (!cm) { return; } @@ -231,7 +147,7 @@ function createSection({ } // fallthrough case 'ArrowDown': - cm = line === cm.doc.size - 1 && nextEditor(cm, false); + cm = line === cm.doc.size - 1 && editor.nextEditor(cm, false); if (!cm) { return; } @@ -242,37 +158,9 @@ function createSection({ } } - function showAppliesToHelp(event) { - event.preventDefault(); - showHelp(t('appliesLabel'), t('appliesHelp')); - } - - function remove() { - linter.disableForEditor(cm); - el.classList.add('removed'); - removed = true; - appliesTo.forEach(a => a.remove()); - } - - function destroy() { - cmFactory.destroy(cm); - } - - function restore() { - linter.enableForEditor(cm); - el.classList.remove('removed'); - removed = false; - appliesTo.forEach(a => a.restore()); - render(); - } - - function render() { - cm.refresh(); - } - function updateRegexpTester() { - const regexps = appliesTo.filter(a => a.getType() === 'regexp') - .map(a => a.getValue()); + const regexps = appliesTo.filter(a => a.type === 'regexp') + .map(a => a.value); if (regexps.length) { el.classList.add('has-regexp'); regExpTester.update(regexps); @@ -282,6 +170,68 @@ function createSection({ } } + function updateTocEntry(origin) { + const te = section.tocEntry; + let changed; + if (origin === 'code' || !origin) { + const label = getLabelFromComment(); + if (te.label !== label) { + te.label = elLabel.dataset.text = label; + changed = true; + } + } + if (!te.label) { + const target = appliesTo[0].all ? null : appliesTo[0].value; + if (te.target !== target) { + te.target = target; + changed = true; + } + if (te.numTargets !== appliesTo.length) { + te.numTargets = appliesTo.length; + changed = true; + } + } + if (changed) editor.updateToc([section]); + } + + function updateTocEntryLazy(...args) { + debounce(updateTocEntry, 0, ...args); + } + + function updateTocFocus() { + editor.updateToc({focus: true, 0: section}); + } + + function updateTocPrefToggled(key, val) { + changeListeners[val ? 'add' : 'delete'](updateTocEntryLazy); + el.onOff(val, 'focusin', updateTocFocus); + if (val) { + updateTocEntry(); + if (el.contains(document.activeElement)) { + updateTocFocus(); + } + } + } + + function getLabelFromComment() { + let cmt = ''; + let inCmt; + cm.eachLine(({text}) => { + let i = 0; + if (!inCmt) { + i = text.search(/\S/); + if (i < 0) return; + inCmt = text[i] === '/' && text[i + 1] === '*'; + if (!inCmt) return true; + i += 2; + } + const j = text.indexOf('*/', i); + cmt = trimCommentLabel(text.slice(i, j >= 0 ? j : text.length)); + return j >= 0 || cmt; + }); + return cmt; + } + function insertApplyAfter(init, base) { const apply = createApply(init); appliesTo.splice(base ? appliesTo.indexOf(base) + 1 : appliesTo.length, 0, apply); @@ -290,7 +240,7 @@ function createSection({ if (appliesTo.length > 1 && appliesTo[0].all) { removeApply(appliesTo[0]); } - emitSectionChange(); + emitSectionChange('apply'); return apply; } @@ -303,7 +253,7 @@ function createSection({ if (!appliesTo.length) { insertApplyAfter({all: true}); } - emitSectionChange(); + emitSectionChange('apply'); } function createApply({type = 'url', value, all = false}) { @@ -315,14 +265,14 @@ function createSection({ const selectEl = !all && $('.applies-type', el); if (selectEl) { selectEl.value = type; - selectEl.addEventListener('change', () => { + selectEl.on('change', () => { const oldType = type; dirty.modify(`${dirtyPrefix}.type`, type, selectEl.value); type = selectEl.value; if (oldType === 'regexp' || type === 'regexp') { updateRegexpTester(); } - emitSectionChange(); + emitSectionChange('apply'); validate(); }); } @@ -330,15 +280,15 @@ function createSection({ const valueEl = !all && $('.applies-value', el); if (valueEl) { valueEl.value = value; - valueEl.addEventListener('input', () => { + valueEl.on('input', () => { dirty.modify(`${dirtyPrefix}.value`, value, valueEl.value); value = valueEl.value; if (type === 'regexp') { updateRegexpTester(); } - emitSectionChange(); + emitSectionChange('apply'); }); - valueEl.addEventListener('change', validate); + valueEl.on('change', validate); } restore(); @@ -349,19 +299,23 @@ function createSection({ remove, restore, el, - getType: () => type, - getValue: () => value, - valueEl // used by validator + valueEl, // used by validator + get type() { + return type; + }, + get value() { + return value; + }, }; const removeButton = $('.remove-applies-to', el); if (removeButton) { - removeButton.addEventListener('click', e => { + removeButton.on('click', e => { e.preventDefault(); removeApply(apply); }); } - $('.add-applies-to', el).addEventListener('click', e => { + $('.add-applies-to', el).on('click', e => { e.preventDefault(); const newApply = insertApplyAfter({type, value: ''}, apply); $('input', newApply.el).focus(); @@ -395,3 +349,72 @@ function createSection({ } } } + +function createResizeGrip(cm) { + const wrapper = cm.display.wrapper; + wrapper.classList.add('resize-grip-enabled'); + const resizeGrip = template.resizeGrip.cloneNode(true); + wrapper.appendChild(resizeGrip); + let lastClickTime = 0; + let initHeight; + let initY; + resizeGrip.onmousedown = event => { + initHeight = wrapper.offsetHeight; + initY = event.pageY; + if (event.button !== 0) { + return; + } + event.preventDefault(); + if (Date.now() - lastClickTime < 500) { + lastClickTime = 0; + toggleSectionHeight(cm); + return; + } + lastClickTime = Date.now(); + const minHeight = cm.defaultTextHeight() + + /* .CodeMirror-lines padding */ + cm.display.lineDiv.offsetParent.offsetTop + + /* borders */ + wrapper.offsetHeight - wrapper.clientHeight; + wrapper.style.pointerEvents = 'none'; + document.body.style.cursor = 's-resize'; + document.on('mousemove', resize); + document.on('mouseup', resizeStop); + + function resize(e) { + const height = Math.max(minHeight, initHeight + e.pageY - initY); + if (height !== wrapper.offsetHeight) { + cm.setSize(null, height); + } + } + + function resizeStop() { + document.off('mouseup', resizeStop); + document.off('mousemove', resize); + wrapper.style.pointerEvents = ''; + document.body.style.cursor = ''; + } + }; + + function toggleSectionHeight(cm) { + if (cm.state.toggleHeightSaved) { + // restore previous size + cm.setSize(null, cm.state.toggleHeightSaved); + cm.state.toggleHeightSaved = 0; + } else { + // maximize + const wrapper = cm.display.wrapper; + const allBounds = $('#sections').getBoundingClientRect(); + const pageExtrasHeight = allBounds.top + window.scrollY + + parseFloat(getComputedStyle($('#sections')).paddingBottom); + const sectionEl = wrapper.parentNode; + const sectionExtrasHeight = sectionEl.clientHeight - wrapper.offsetHeight; + cm.state.toggleHeightSaved = wrapper.clientHeight; + cm.setSize(null, window.innerHeight - sectionExtrasHeight - pageExtrasHeight); + const bounds = sectionEl.getBoundingClientRect(); + if (bounds.top < 0 || bounds.bottom > window.innerHeight) { + window.scrollBy(0, bounds.top); + } + } + } +} diff --git a/edit/sections-editor.js b/edit/sections-editor.js index 567a5bc4..a2c07773 100644 --- a/edit/sections-editor.js +++ b/edit/sections-editor.js @@ -1,75 +1,145 @@ -/* global showHelp toggleContextMenuDelete createSection - CodeMirror linter createLivePreview showCodeMirrorPopup - sectionsToMozFormat messageBox clipString - $ $$ $create t FIREFOX API - debounce */ -/* exported createSectionsEditor */ +/* global + $ + $$ + $create + API + clipString + CodeMirror + createLivePreview + createSection + debounce + editor + FIREFOX + ignoreChromeError + linter + messageBox + prefs + sectionsToMozFormat + showCodeMirrorPopup + showHelp + t +*/ 'use strict'; -function createSectionsEditor(editorBase) { - const {style, dirty} = editorBase; +/* exported SectionsEditor */ + +function SectionsEditor() { + const {style, dirty} = editor; + const container = $('#sections'); + /** @type {EditorSection[]} */ + const sections = []; + const xo = window.IntersectionObserver && + new IntersectionObserver(refreshOnViewListener, {rootMargin: '100%'}); + const livePreview = createLivePreview(null, style.id); let INC_ID = 0; // an increment id that is used by various object to track the order - - const container = $('#sections'); - const sections = []; + let sectionOrder = ''; + let headerOffset; // in compact mode the header is at the top so it reduces the available height container.classList.add('section-editor'); updateHeader(); - $('#to-mozilla').addEventListener('click', showMozillaFormat); - $('#to-mozilla-help').addEventListener('click', showToMozillaHelp); - $('#from-mozilla').addEventListener('click', () => showMozillaFormatImport()); - - document.addEventListener('wheel', scrollEntirePageOnCtrlShift, {passive: false}); + $('#to-mozilla').on('click', showMozillaFormat); + $('#to-mozilla-help').on('click', showToMozillaHelp); + $('#from-mozilla').on('click', () => showMozillaFormatImport()); + document.on('wheel', scrollEntirePageOnCtrlShift, {passive: false}); CodeMirror.defaults.extraKeys['Shift-Ctrl-Wheel'] = 'scrollWindow'; - if (!FIREFOX) { - $$([ - 'input:not([type])', - 'input[type="text"]', - 'input[type="search"]', - 'input[type="number"]', - ].join(',')) - .forEach(e => e.addEventListener('mousedown', toggleContextMenuDelete)); + $$('input:not([type]), input[type=text], input[type=search], input[type=number]') + .forEach(e => e.on('mousedown', toggleContextMenuDelete)); } - const xo = window.IntersectionObserver && new IntersectionObserver(entries => { - for (const {isIntersecting, target} of entries) { - if (isIntersecting) { - target.CodeMirror.refresh(); - xo.unobserve(target); - } - } - }, {rootMargin: '100%'}); - const refreshOnView = (cm, force) => - force || !xo ? - cm.refresh() : - xo.observe(cm.display.wrapper); + /** @namespace SectionsEditor */ + Object.assign(editor, { - let sectionOrder = ''; - let headerOffset; // in compact mode the header is at the top so it reduces the available height - const ready = initSections(style.sections, {pristine: true}); + sections, - const livePreview = createLivePreview(); - livePreview.show(Boolean(style.id)); + closestVisible, + updateLivePreview, - return Object.assign({}, editorBase, { - ready, - replaceStyle, - getEditors, - scrollToEditor, - getEditorTitle: cm => { - const index = sections.filter(s => !s.isRemoved()).findIndex(s => s.cm === cm); + getEditors() { + return sections.filter(s => !s.removed).map(s => s.cm); + }, + + getEditorTitle(cm) { + const index = editor.getEditors().indexOf(cm); return `${t('sectionCode')} ${index + 1}`; }, - save, - nextEditor, - prevEditor, - closestVisible, - getSearchableInputs, - updateLivePreview, + + getSearchableInputs(cm) { + return sections.find(s => s.cm === cm).appliesTo.map(a => a.valueEl).filter(Boolean); + }, + + jumpToEditor(i) { + const {cm} = sections[i] || {}; + if (cm) { + editor.scrollToEditor(cm); + cm.focus(); + } + }, + + nextEditor(cm, cycle = true) { + return cycle || cm !== findLast(sections, s => !s.removed).cm + ? nextPrevEditor(cm, 1) + : null; + }, + + prevEditor(cm, cycle = true) { + return cycle || cm !== sections.find(s => !s.removed).cm + ? nextPrevEditor(cm, -1) + : null; + }, + + async replaceStyle(newStyle, codeIsUpdated) { + dirty.clear('name'); + // FIXME: avoid recreating all editors? + if (codeIsUpdated !== false) { + await initSections(newStyle.sections, {replace: true, pristine: true}); + } + Object.assign(style, newStyle); + updateHeader(); + dirty.clear(); + // Go from new style URL to edit style URL + if (location.href.indexOf('id=') === -1 && style.id) { + history.replaceState({}, document.title, 'edit.html?id=' + style.id); + $('#heading').textContent = t('editStyleHeading'); + } + livePreview.show(Boolean(style.id)); + updateLivePreview(); + }, + + async save() { + if (!dirty.isDirty()) { + return; + } + let newStyle = getModel(); + if (!validate(newStyle)) { + return; + } + newStyle = await API.editSave(newStyle); + destroyRemovedSections(); + sessionStorage.justEditedStyleId = newStyle.id; + editor.replaceStyle(newStyle, false); + }, + + scrollToEditor(cm) { + const section = sections.find(s => s.cm === cm).el; + const bounds = section.getBoundingClientRect(); + if ( + (bounds.bottom > window.innerHeight && bounds.top > 0) || + (bounds.top < 0 && bounds.bottom < window.innerHeight) + ) { + if (bounds.top < 0) { + window.scrollBy(0, bounds.top - 1); + } else { + window.scrollBy(0, bounds.bottom - window.innerHeight + 1); + } + } + }, }); + editor.ready = initSections(style.sections, {pristine: true}); + + /** @param {EditorSection} section */ function fitToContent(section) { const {el, cm, cm: {display: {wrapper, sizer}}} = section; if (cm.display.renderedView) { @@ -90,18 +160,19 @@ function createSectionsEditor(editorBase) { cm.off('update', resize); const cmHeight = wrapper.offsetHeight; const maxHeight = (window.innerHeight - headerOffset) - (section.el.offsetHeight - cmHeight); - cm.setSize(null, Math.min(contentHeight, maxHeight)); + const fit = Math.min(contentHeight, maxHeight); + if (Math.abs(fit - cmHeight) > 1) { + cm.setSize(null, fit); + } } } function fitToAvailableSpace() { - const ch = container.offsetHeight; - let available = ch - sections[sections.length - 1].el.getBoundingClientRect().bottom + headerOffset; - if (available <= 1) available = window.innerHeight - ch - headerOffset; - const delta = Math.floor(available / sections.length); + const lastSectionBottom = sections[sections.length - 1].el.getBoundingClientRect().bottom; + const delta = Math.floor((window.innerHeight - lastSectionBottom) / sections.length); if (delta > 1) { sections.forEach(({cm}) => { - cm.setSize(null, cm.display.wrapper.offsetHeight + delta); + cm.setSize(null, cm.display.lastWrapHeight + delta); }); } } @@ -129,14 +200,12 @@ function createSectionsEditor(editorBase) { showHelp(t('styleMozillaFormatHeading'), t('styleToMozillaFormatHelp')); } - function getSearchableInputs(cm) { - return sections.find(s => s.cm === cm).appliesTo.map(a => a.valueEl).filter(Boolean); - } - - // priority: - // 1. associated CM for applies-to element - // 2. last active if visible - // 3. first visible + /** + priority: + 1. associated CM for applies-to element + 2. last active if visible + 3. first visible + */ function closestVisible(nearbyElement) { const cm = nearbyElement instanceof CodeMirror ? nearbyElement : @@ -181,7 +250,7 @@ function createSectionsEditor(editorBase) { } function findClosest() { - const editors = getEditors(); + const editors = editor.getEditors(); const last = editors.length - 1; let a = 0; let b = last; @@ -206,7 +275,7 @@ function createSectionsEditor(editorBase) { } const cm = editors[b]; if (distances[b] > 0) { - scrollToEditor(cm); + editor.scrollToEditor(cm); } return cm; } @@ -221,24 +290,6 @@ function createSectionsEditor(editorBase) { } } - function getEditors() { - return sections.filter(s => !s.isRemoved()).map(s => s.cm); - } - - function nextEditor(cm, cycle = true) { - if (!cycle && findLast(sections, s => !s.isRemoved()).cm === cm) { - return; - } - return nextPrevEditor(cm, 1); - } - - function prevEditor(cm, cycle = true) { - if (!cycle && sections.find(s => !s.isRemoved()).cm === cm) { - return; - } - return nextPrevEditor(cm, -1); - } - function findLast(arr, match) { for (let i = arr.length - 1; i >= 0; i--) { if (match(arr[i])) { @@ -248,32 +299,17 @@ function createSectionsEditor(editorBase) { } function nextPrevEditor(cm, direction) { - const editors = getEditors(); + const editors = editor.getEditors(); cm = editors[(editors.indexOf(cm) + direction + editors.length) % editors.length]; - scrollToEditor(cm); + editor.scrollToEditor(cm); cm.focus(); return cm; } - function scrollToEditor(cm) { - const section = sections.find(s => s.cm === cm).el; - const bounds = section.getBoundingClientRect(); - if ( - (bounds.bottom > window.innerHeight && bounds.top > 0) || - (bounds.top < 0 && bounds.bottom < window.innerHeight) - ) { - if (bounds.top < 0) { - window.scrollBy(0, bounds.top - 1); - } else { - window.scrollBy(0, bounds.bottom - window.innerHeight + 1); - } - } - } - function getLastActivatedEditor() { let result; for (const section of sections) { - if (section.isRemoved()) { + if (section.removed) { continue; } // .lastActive is initiated by codemirror-factory @@ -387,16 +423,18 @@ function createSectionsEditor(editorBase) { function updateSectionOrder() { const oldOrder = sectionOrder; - const validSections = sections.filter(s => !s.isRemoved()); + const validSections = sections.filter(s => !s.removed); sectionOrder = validSections.map(s => s.id).join(','); dirty.modify('sectionOrder', oldOrder, sectionOrder); container.dataset.sectionCount = validSections.length; linter.refreshReport(); + editor.updateToc(); } + /** @returns {Style} */ function getModel() { return Object.assign({}, style, { - sections: sections.filter(s => !s.isRemoved()).map(s => s.getModel()) + sections: sections.filter(s => !s.removed).map(s => s.getModel()) }); } @@ -407,7 +445,7 @@ function createSectionsEditor(editorBase) { } for (const section of sections) { for (const apply of section.appliesTo) { - if (apply.getType() !== 'regexp') { + if (apply.type !== 'regexp') { continue; } if (!apply.valueEl.reportValidity()) { @@ -419,25 +457,9 @@ function createSectionsEditor(editorBase) { return true; } - function save() { - if (!dirty.isDirty()) { - return; - } - const newStyle = getModel(); - if (!validate(newStyle)) { - return; - } - API.editSave(newStyle) - .then(newStyle => { - destroyRemovedSections(); - sessionStorage.justEditedStyleId = newStyle.id; - replaceStyle(newStyle, false); - }); - } - function destroyRemovedSections() { for (let i = 0; i < sections.length;) { - if (!sections[i].isRemoved()) { + if (!sections[i].removed) { i++; continue; } @@ -451,14 +473,14 @@ function createSectionsEditor(editorBase) { $('#name').value = style.customName || style.name || ''; $('#enabled').checked = style.enabled !== false; $('#url').href = style.url || ''; - editorBase.updateName(); + editor.updateName(); } function updateLivePreview() { - debounce(_updateLivePreview, 200); + debounce(updateLivePreviewNow, editor.previewDelay); } - function _updateLivePreview() { + function updateLivePreviewNow() { livePreview.update(getModel()); } @@ -492,7 +514,8 @@ function createSectionsEditor(editorBase) { setGlobalProgress(total - originalSections.length, total); if (!originalSections.length) { setGlobalProgress(); - fitToAvailableSpace(); + requestAnimationFrame(fitToAvailableSpace); + sections.forEach(({cm}) => setTimeout(linter.enableForEditor, 0, cm)); done(); } else { setTimeout(chunk); @@ -500,8 +523,9 @@ function createSectionsEditor(editorBase) { } } + /** @param {EditorSection} section */ function removeSection(section) { - if (sections.every(s => s.isRemoved() || s === section)) { + if (sections.every(s => s.removed || s === section)) { // TODO: hide remove button when `#sections[data-section-count=1]` throw new Error('Cannot remove last section'); } @@ -528,6 +552,7 @@ function createSectionsEditor(editorBase) { updateLivePreview(); } + /** @param {EditorSection} section */ function restoreSection(section) { section.restore(); updateSectionOrder(); @@ -535,40 +560,36 @@ function createSectionsEditor(editorBase) { updateLivePreview(); } + /** + * @param {StyleSection} [init] + * @param {EditorSection} [base] + * @param {boolean} [forceRefresh] + */ function insertSectionAfter(init, base, forceRefresh) { if (!init) { init = {code: '', urlPrefixes: ['http://example.com']}; } - const section = createSection({ - originalSection: init, - genId, - dirty, - showMozillaFormatImport, - removeSection, - restoreSection, - insertSectionAfter, - moveSectionUp, - moveSectionDown, - prevEditor, - nextEditor - }); + const section = createSection(init, genId); const {cm} = section; sections.splice(base ? sections.indexOf(base) + 1 : sections.length, 0, section); container.insertBefore(section.el, base ? base.el.nextSibling : null); refreshOnView(cm, forceRefresh); + registerEvents(section); if (!base || init.code) { // Fit a) during startup or b) when the clone button is clicked on a section with some code fitToContent(section); } if (base) { cm.focus(); - setTimeout(scrollToEditor, 0, cm); + setTimeout(editor.scrollToEditor, 0, cm); + linter.enableForEditor(cm); } updateSectionOrder(); section.onChange(updateLivePreview); updateLivePreview(); } + /** @param {EditorSection} section */ function moveSectionUp(section) { const index = sections.indexOf(section); if (index === 0) { @@ -580,6 +601,7 @@ function createSectionsEditor(editorBase) { updateSectionOrder(); } + /** @param {EditorSection} section */ function moveSectionDown(section) { const index = sections.indexOf(section); if (index === sections.length - 1) { @@ -591,21 +613,56 @@ function createSectionsEditor(editorBase) { updateSectionOrder(); } - async function replaceStyle(newStyle, codeIsUpdated) { - dirty.clear('name'); - // FIXME: avoid recreating all editors? - if (codeIsUpdated !== false) { - await initSections(newStyle.sections, {replace: true, pristine: true}); + /** @param {EditorSection} section */ + function registerEvents(section) { + const {el, cm} = section; + $('.applies-to-help', el).onclick = () => showHelp(t('appliesLabel'), t('appliesHelp')); + $('.remove-section', el).onclick = () => removeSection(section); + $('.add-section', el).onclick = () => insertSectionAfter(undefined, section); + $('.clone-section', el).onclick = () => insertSectionAfter(section.getModel(), section); + $('.move-section-up', el).onclick = () => moveSectionUp(section); + $('.move-section-down', el).onclick = () => moveSectionDown(section); + $('.restore-section', el).onclick = () => restoreSection(section); + cm.on('paste', maybeImportOnPaste); + if (!FIREFOX) { + cm.on('mousedown', (cm, event) => toggleContextMenuDelete.call(cm, event)); } - Object.assign(style, newStyle); - updateHeader(); - dirty.clear(); - // Go from new style URL to edit style URL - if (location.href.indexOf('id=') === -1 && style.id) { - history.replaceState({}, document.title, 'edit.html?id=' + style.id); - $('#heading').textContent = t('editStyleHeading'); + } + + function maybeImportOnPaste(cm, event) { + const text = event.clipboardData.getData('text') || ''; + if (/@-moz-document/i.test(text) && + /@-moz-document\s+(url|url-prefix|domain|regexp)\(/i + .test(text.replace(/\/\*([^*]|\*(?!\/))*(\*\/|$)/g, '')) + ) { + event.preventDefault(); + showMozillaFormatImport(text); + } + } + + function refreshOnView(cm, force) { + return force || !xo ? + cm.refresh() : + xo.observe(cm.display.wrapper); + } + + function refreshOnViewListener(entries) { + for (const {isIntersecting, target} of entries) { + if (isIntersecting) { + target.CodeMirror.refresh(); + xo.unobserve(target); + } + } + } + + function toggleContextMenuDelete(event) { + if (chrome.contextMenus && event.button === 2 && prefs.get('editor.contextDelete')) { + chrome.contextMenus.update('editor.contextDelete', { + enabled: Boolean( + this.selectionStart !== this.selectionEnd || + this.somethingSelected && this.somethingSelected() + ), + }, ignoreChromeError); } - livePreview.show(Boolean(style.id)); - updateLivePreview(); } } diff --git a/edit/source-editor.js b/edit/source-editor.js index a409a480..2e2d5be3 100644 --- a/edit/source-editor.js +++ b/edit/source-editor.js @@ -1,70 +1,98 @@ /* global - createAppliesToLineWidget messageBox + $ + $$ + $create + API + chromeSync + cmFactory + CodeMirror + createLivePreview + createMetaCompiler + debounce + editor + linter + messageBox + MozSectionFinder + MozSectionWidget + prefs sectionsToMozFormat - createMetaCompiler linter createLivePreview cmFactory $ $create API prefs t - chromeSync */ -/* exported createSourceEditor */ + t +*/ + 'use strict'; -function createSourceEditor(editorBase) { - const {style, dirty} = editorBase; +/* exported SourceEditor */ +function SourceEditor() { + const {style, dirty} = editor; + let savedGeneration; let placeholderName = ''; + let prevMode = NaN; - $('#mozilla-format-container').remove(); - $('#header').addEventListener('wheel', headerOnScroll); + $$.remove('.sectioned-only'); + $('#header').on('wheel', headerOnScroll); $('#sections').textContent = ''; $('#sections').appendChild($create('.single-editor')); - // normalize style if (!style.id) setupNewStyle(style); - const cm = cmFactory.create($('.single-editor'), { - value: style.sourceCode, + const cm = cmFactory.create($('.single-editor')); + const sectionFinder = MozSectionFinder(cm); + const sectionWidget = MozSectionWidget(cm, sectionFinder, editor.updateToc); + const livePreview = createLivePreview(preprocess, style.id); + /** @namespace SourceEditor */ + Object.assign(editor, { + sections: sectionFinder.sections, + replaceStyle, + getEditors: () => [cm], + scrollToEditor: () => {}, + getEditorTitle: () => '', + save, + prevEditor: nextPrevSection.bind(null, -1), + nextEditor: nextPrevSection.bind(null, 1), + jumpToEditor(i) { + const sec = sectionFinder.sections[i]; + if (sec) { + sectionFinder.updatePositions(sec); + jumpToPos(sec.start); + } + }, + closestVisible: () => cm, + getSearchableInputs: () => [], + updateLivePreview, }); - let savedGeneration = cm.changeGeneration(); - - const livePreview = createLivePreview(preprocess); - livePreview.show(Boolean(style.id)); - - cm.on('changes', () => { - dirty.modify('sourceGeneration', savedGeneration, cm.changeGeneration()); - updateLivePreview(); - }); - - cm.operation(initAppliesToLineWidget); - - const metaCompiler = createMetaCompiler(cm); - metaCompiler.onUpdated(meta => { + createMetaCompiler(cm, meta => { style.usercssData = meta; style.name = meta.name; style.url = meta.homepageURL || style.installationUrl; updateMeta(); }); - - updateMeta().then(() => { - - linter.enableForEditor(cm); - - let prevMode = NaN; - cm.on('optionChange', (cm, option) => { - if (option !== 'mode') return; - const mode = getModeName(); - if (mode === prevMode) return; - prevMode = mode; - linter.run(); - updateLinterSwitch(); - }); - - $('#editor.linter').addEventListener('change', updateLinterSwitch); - updateLinterSwitch(); - - setTimeout(() => { - if ((document.activeElement || {}).localName !== 'input') { - cm.focus(); - } - }); + updateMeta(); + cm.setValue(style.sourceCode); + prefs.subscribeMany({ + 'editor.linter': updateLinterSwitch, + 'editor.appliesToLineWidget': (k, val) => sectionWidget.toggle(val), + 'editor.toc.expanded': (k, val) => sectionFinder.onOff(editor.updateToc, val), + }, {now: true}); + cm.clearHistory(); + cm.markClean(); + savedGeneration = cm.changeGeneration(); + cm.on('changes', () => { + dirty.modify('sourceGeneration', savedGeneration, cm.changeGeneration()); + debounce(updateLivePreview, editor.previewDelay); }); + cm.on('optionChange', (cm, option) => { + if (option !== 'mode') return; + const mode = getModeName(); + if (mode === prevMode) return; + prevMode = mode; + linter.run(); + updateLinterSwitch(); + }); + debounce(linter.enableForEditor, 0, cm); + if (!$.isTextInput(document.activeElement)) { + cm.focus(); + } function preprocess(style) { return API.buildUsercss({ @@ -85,13 +113,6 @@ function createSourceEditor(editorBase) { livePreview.update(Object.assign({}, style, {sourceCode: cm.getValue()})); } - function initAppliesToLineWidget() { - const PREF_NAME = 'editor.appliesToLineWidget'; - const widget = createAppliesToLineWidget(cm); - widget.toggle(prefs.get(PREF_NAME)); - prefs.subscribe([PREF_NAME], (key, value) => widget.toggle(value)); - } - function updateLinterSwitch() { const el = $('#editor.linter'); el.value = getCurrentLinter(); @@ -158,8 +179,8 @@ function createSourceEditor(editorBase) { } $('#enabled').checked = style.enabled; $('#url').href = style.url; - editorBase.updateName(); - return cm.setPreprocessor((style.usercssData || {}).preprocessor); + editor.updateName(); + cm.setPreprocessor((style.usercssData || {}).preprocessor); } function replaceStyle(newStyle, codeIsUpdated) { @@ -272,68 +293,30 @@ function createSourceEditor(editorBase) { ); } - function nextPrevMozDocument(cm, dir) { - const MOZ_DOC = '@-moz-document'; - const cursor = cm.getCursor(); - const usePrevLine = dir < 0 && cursor.ch <= MOZ_DOC.length; - let line = cursor.line + (usePrevLine ? -1 : 0); - let start = usePrevLine ? 1e9 : cursor.ch + (dir > 0 ? 1 : -MOZ_DOC.length); - let found; - if (dir > 0) { - cm.doc.iter(cursor.line, cm.doc.size, goFind); - if (!found && cursor.line > 0) { - line = 0; - cm.doc.iter(0, cursor.line + 1, goFind); - } - } else { - let handle, parentLines; - let passesRemain = line < cm.doc.size - 1 ? 2 : 1; - let stopAtLine = 0; - while (passesRemain--) { - let indexInParent = 0; - while (line >= stopAtLine) { - if (!indexInParent--) { - handle = cm.getLineHandle(line); - parentLines = handle.parent.lines; - indexInParent = parentLines.indexOf(handle); - } else { - handle = parentLines[indexInParent]; - } - if (goFind(handle)) { - return true; - } - } - line = cm.doc.size - 1; - stopAtLine = cursor.line; - } + function nextPrevSection(dir) { + // ensure the data is ready in case the user wants to jump around a lot in a large style + sectionFinder.keepAliveFor(nextPrevSection, 10e3); + sectionFinder.updatePositions(); + const {sections} = sectionFinder; + const num = sections.length; + if (!num) return; + dir = dir < 0 ? -1 : 0; + const pos = cm.getCursor(); + let i = sections.findIndex(sec => CodeMirror.cmpPos(sec.start, pos) > Math.min(dir, 0)); + if (i < 0 && (!dir || CodeMirror.cmpPos(sections[num - 1].start, pos) < 0)) { + i = 0; } - function goFind({text}) { - // use the initial 'start' on cursor row... - let ch = start; - // ...and reset it for the rest - start = dir > 0 ? 0 : 1e9; - while (true) { - // indexOf is 1000x faster than toLowerCase().indexOf() so we're trying it first - ch = dir > 0 ? text.indexOf('@-', ch) : text.lastIndexOf('@-', ch); - if (ch < 0) { - line += dir; - return; - } - if (text.substr(ch, MOZ_DOC.length).toLowerCase() === MOZ_DOC && - cm.getTokenTypeAt({line, ch: ch + 1}) === 'def') { - break; - } - ch += dir * 3; - } - cm.setCursor(line, ch); - if (cm.cursorCoords().bottom > cm.display.scroller.clientHeight - 100) { - const margin = Math.min(100, cm.display.scroller.clientHeight / 4); - line += prefs.get('editor.appliesToLineWidget') ? 1 : 0; - cm.scrollIntoView({line, ch}, margin); - } - found = true; - return true; + jumpToPos(sections[(i + dir + num) % num].start); + } + + function jumpToPos(pos) { + const coords = cm.cursorCoords(pos, 'page'); + const b = cm.display.wrapper.getBoundingClientRect(); + if (coords.top < b.top + cm.defaultTextHeight() * 2 || + coords.bottom > b.bottom - 100) { + cm.scrollIntoView(pos, b.height / 2); } + cm.setCursor(pos, null, {scroll: false}); } function headerOnScroll({target, deltaY, deltaMode, shiftKey}) { @@ -358,18 +341,4 @@ function createSourceEditor(editorBase) { return (mode.name || mode || '') + (mode.helperType || ''); } - - return Object.assign({}, editorBase, { - ready: Promise.resolve(), - replaceStyle, - getEditors: () => [cm], - scrollToEditor: () => {}, - getEditorTitle: () => '', - save, - prevEditor: cm => nextPrevMozDocument(cm, -1), - nextEditor: cm => nextPrevMozDocument(cm, 1), - closestVisible: () => cm, - getSearchableInputs: () => [], - updateLivePreview, - }); } diff --git a/edit/util.js b/edit/util.js index 772292fc..8af544de 100644 --- a/edit/util.js +++ b/edit/util.js @@ -1,130 +1,161 @@ -/* global CodeMirror $create prefs */ -/* exported dirtyReporter memoize clipString sectionsToMozFormat createHotkeyInput */ +/* global + $create + CodeMirror + prefs +*/ 'use strict'; -function dirtyReporter() { - const dirty = new Map(); - const onchanges = []; +/* exported DirtyReporter */ +class DirtyReporter { + constructor() { + this._dirty = new Map(); + this._onchange = new Set(); + } - function add(obj, value) { - const saved = dirty.get(obj); + add(obj, value) { + const wasDirty = this.isDirty(); + const saved = this._dirty.get(obj); if (!saved) { - dirty.set(obj, {type: 'add', newValue: value}); + this._dirty.set(obj, {type: 'add', newValue: value}); } else if (saved.type === 'remove') { if (saved.savedValue === value) { - dirty.delete(obj); + this._dirty.delete(obj); } else { saved.newValue = value; saved.type = 'modify'; } } + this.notifyChange(wasDirty); } - function remove(obj, value) { - const saved = dirty.get(obj); + remove(obj, value) { + const wasDirty = this.isDirty(); + const saved = this._dirty.get(obj); if (!saved) { - dirty.set(obj, {type: 'remove', savedValue: value}); + this._dirty.set(obj, {type: 'remove', savedValue: value}); } else if (saved.type === 'add') { - dirty.delete(obj); + this._dirty.delete(obj); } else if (saved.type === 'modify') { saved.type = 'remove'; } + this.notifyChange(wasDirty); } - function modify(obj, oldValue, newValue) { - const saved = dirty.get(obj); + modify(obj, oldValue, newValue) { + const wasDirty = this.isDirty(); + const saved = this._dirty.get(obj); if (!saved) { if (oldValue !== newValue) { - dirty.set(obj, {type: 'modify', savedValue: oldValue, newValue}); + this._dirty.set(obj, {type: 'modify', savedValue: oldValue, newValue}); } } else if (saved.type === 'modify') { if (saved.savedValue === newValue) { - dirty.delete(obj); + this._dirty.delete(obj); } else { saved.newValue = newValue; } } else if (saved.type === 'add') { saved.newValue = newValue; } + this.notifyChange(wasDirty); } - function clear(obj) { + clear(obj) { + const wasDirty = this.isDirty(); if (obj === undefined) { - dirty.clear(); + this._dirty.clear(); } else { - dirty.delete(obj); + this._dirty.delete(obj); + } + this.notifyChange(wasDirty); + } + + isDirty() { + return this._dirty.size > 0; + } + + onChange(cb, add = true) { + this._onchange[add ? 'add' : 'delete'](cb); + } + + notifyChange(wasDirty) { + if (wasDirty !== this.isDirty()) { + this._onchange.forEach(cb => cb()); } } - function isDirty() { - return dirty.size > 0; + has(key) { + return this._dirty.has(key); } - - function onChange(cb) { - // make sure the callback doesn't throw - onchanges.push(cb); - } - - function wrap(obj) { - for (const key of ['add', 'remove', 'modify', 'clear']) { - obj[key] = trackChange(obj[key]); - } - return obj; - } - - function emitChange() { - for (const cb of onchanges) { - cb(); - } - } - - function trackChange(fn) { - return function () { - const dirty = isDirty(); - const result = fn.apply(null, arguments); - if (dirty !== isDirty()) { - emitChange(); - } - return result; - }; - } - - function has(key) { - return dirty.has(key); - } - - return wrap({add, remove, modify, clear, isDirty, onChange, has}); } - -function sectionsToMozFormat(style) { - const propertyToCss = { - urls: 'url', +/* exported DocFuncMapper */ +const DocFuncMapper = { + TO_CSS: { + urls: 'url', urlPrefixes: 'url-prefix', - domains: 'domain', - regexps: 'regexp', - }; - return style.sections.map(section => { - let cssMds = []; - for (const i in propertyToCss) { - if (section[i]) { - cssMds = cssMds.concat(section[i].map(v => - propertyToCss[i] + '("' + v.replace(/\\/g, '\\\\') + '")' - )); + domains: 'domain', + regexps: 'regexp', + }, + FROM_CSS: { + 'url': 'urls', + 'url-prefix': 'urlPrefixes', + 'domain': 'domains', + 'regexp': 'regexps', + }, + /** + * @param {Object} section + * @param {function(func:string, value:string)} fn + */ + forEachProp(section, fn) { + for (const [propName, func] of Object.entries(DocFuncMapper.TO_CSS)) { + const props = section[propName]; + if (props) props.forEach(value => fn(func, value)); + } + }, + /** + * @param {Array} funcItems + * @param {?Object} [section] + * @returns {Object} section + */ + toSection(funcItems, section = {}) { + for (const item of funcItems) { + const [func, value] = item || []; + const propName = DocFuncMapper.FROM_CSS[func]; + if (propName) { + const props = section[propName] || (section[propName] = []); + if (Array.isArray(value)) props.push(...value); + else props.push(value); } } - return cssMds.length ? - '@-moz-document ' + cssMds.join(', ') + ' {\n' + section.code + '\n}' : + return section; + }, +}; + +/* exported sectionsToMozFormat */ +function sectionsToMozFormat(style) { + return style.sections.map(section => { + const cssFuncs = []; + DocFuncMapper.forEachProp(section, (type, value) => + cssFuncs.push(`${type}("${value.replace(/\\/g, '\\\\')}")`)); + return cssFuncs.length ? + `@-moz-document ${cssFuncs.join(', ')} {\n${section.code}\n}` : section.code; }).join('\n\n'); } +/* exported trimCommentLabel */ +function trimCommentLabel(str, limit = 1000) { + // stripping /*** foo ***/ to foo + return clipString(str.replace(/^[!-/:;=\s]*|[-#$&(+,./:;<=>\s*]*$/g, ''), limit); +} +/* exported clipString */ function clipString(str, limit = 100) { return str.length <= limit ? str : str.substr(0, limit) + '...'; } -// this is a decorator. Cache the first call +/* exported memoize */ function memoize(fn) { let cached = false; let result; @@ -137,6 +168,7 @@ function memoize(fn) { }; } +/* exported createHotkeyInput */ /** * @param {!string} prefId * @param {?function(isEnter:boolean)} onDone diff --git a/global.css b/global.css index fa5ff877..ad92d486 100644 --- a/global.css +++ b/global.css @@ -212,8 +212,12 @@ select[disabled] + .select-arrow { :focus, .CodeMirror-focused, -[data-focused-via-click] input[type="text"]:focus, -[data-focused-via-click] input[type="number"]:focus { +/* Allowing click outline on text/search inputs and textareas */ +textarea[data-focused-via-click]:focus, +input:not([type])[data-focused-via-click]:focus, /* same as "text" */ +input[type="text"][data-focused-via-click]:focus, +input[type="search"][data-focused-via-click]:focus, +input[type="number"][data-focused-via-click]:focus { /* Using box-shadow instead of the ugly outline in new Chrome */ outline: none; box-shadow: 0 0 0 1px hsl(180, 100%, 38%), 0 0 3px hsla(180, 100%, 60%, .5); diff --git a/js/dom.js b/js/dom.js index a3db3148..2babfac6 100644 --- a/js/dom.js +++ b/js/dom.js @@ -7,21 +7,18 @@ if (!/^Win\d+/.test(navigator.platform)) { document.documentElement.classList.add('non-windows'); } -// make querySelectorAll enumeration code readable -// FIXME: avoid extending native? -['forEach', 'some', 'indexOf', 'map'].forEach(method => { - NodeList.prototype[method] = Array.prototype[method]; +Object.assign(EventTarget.prototype, { + on: addEventListener, + off: removeEventListener, + /** args: [el:EventTarget, type:string, fn:function, ?opts] */ + onOff(enable, ...args) { + (enable ? addEventListener : removeEventListener).apply(this, args); + }, }); -// polyfill for old browsers to enable [...results] and for-of -for (const type of [NodeList, NamedNodeMap, HTMLCollection, HTMLAllCollection]) { - if (!type.prototype[Symbol.iterator]) { - type.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator]; - } -} - -$.isTextLikeInput = el => - el.localName === 'input' && /^(text|search|number)$/.test(el.type); +$.isTextInput = (el = {}) => + el.localName === 'textarea' || + el.localName === 'input' && /^(text|search|number)$/.test(el.type); $.remove = (selector, base = document) => { const el = selector && typeof selector === 'string' ? $(selector, base) : selector; @@ -61,7 +58,7 @@ $$.remove = (selector, base = document) => { setTimeout(addTooltipsToEllipsized, 500); // throttle on continuous resizing let timer; - window.addEventListener('resize', () => { + window.on('resize', () => { clearTimeout(timer); timer = setTimeout(addTooltipsToEllipsized, 100); }); @@ -89,13 +86,13 @@ onDOMready().then(() => { // set language for CSS :lang and [FF-only] hyphenation document.documentElement.setAttribute('lang', chrome.i18n.getUILanguage()); // avoid adding # to the page URL when clicking dummy links -document.addEventListener('click', e => { +document.on('click', e => { if (e.target.closest('a[href="#"]')) { e.preventDefault(); } }); // update inputs on mousewheel when focused -document.addEventListener('wheel', event => { +document.on('wheel', event => { const el = document.activeElement; if (!el || el !== event.target && !el.contains(event.target)) { return; @@ -117,7 +114,7 @@ document.addEventListener('wheel', event => { function onDOMready() { return document.readyState !== 'loading' ? Promise.resolve() - : new Promise(resolve => document.addEventListener('DOMContentLoaded', resolve, {once: true})); + : new Promise(resolve => document.on('DOMContentLoaded', resolve, {once: true})); } @@ -152,12 +149,12 @@ function animateElement(el, cls = 'highlight', ...removeExtraClasses) { if (onDone) { const style = getComputedStyle(el); if (style.animationName === 'none' || !parseFloat(style.animationDuration)) { - el.removeEventListener('animationend', onDone); + el.off('animationend', onDone); onDone(); } } }); - el.addEventListener('animationend', onDone, {once: true}); + el.on('animationend', onDone, {once: true}); el.classList.add(cls); }); } @@ -175,8 +172,8 @@ function enforceInputRange(element) { doNotify(); } }; - element.addEventListener('change', onChange); - element.addEventListener('input', onChange); + element.on('change', onChange); + element.on('input', onChange); } @@ -320,7 +317,7 @@ function initCollapsibles({bindClickOn = 'h2'} = {}) { const key = el.dataset.pref; prefMap[key] = el; el.open = prefs.get(key); - (bindClickOn && $(bindClickOn, el) || el).addEventListener('click', onClick); + (bindClickOn && $(bindClickOn, el) || el).on('click', onClick); } prefs.subscribe(Object.keys(prefMap), (key, value) => { @@ -339,7 +336,7 @@ function initCollapsibles({bindClickOn = 'h2'} = {}) { } function saveState(el) { - if (!el.classList.contains('ignore-pref')) { + if (!el.matches('.compact-layout .ignore-pref-if-compact')) { prefs.set(el.dataset.pref, el.open); } } @@ -349,58 +346,41 @@ function initCollapsibles({bindClickOn = 'h2'} = {}) { function focusAccessibility() { // last event's focusedViaClick focusAccessibility.lastFocusedViaClick = false; - // tags of focusable elements; - // to avoid a full layout recalc we modify the closest one - focusAccessibility.ELEMENTS = [ - 'a', - 'button', - 'input', - 'label', - 'select', - 'summary', - ]; - // try to find a focusable parent for this many parentElement jumps: - const GIVE_UP_DEPTH = 4; - // allow outline on text/search inputs in addition to textareas - const isOutlineAllowed = el => - !focusAccessibility.ELEMENTS.includes(el.localName) || - $.isTextLikeInput(el); - - addEventListener('mousedown', suppressOutlineOnClick, {passive: true}); - addEventListener('keydown', keepOutlineOnTab, {passive: true}); - - function suppressOutlineOnClick({target}) { - for (let el = target, i = 0; el && i++ < GIVE_UP_DEPTH; el = el.parentElement) { - if (!isOutlineAllowed(el)) { - focusAccessibility.lastFocusedViaClick = true; - if (el.dataset.focusedViaClick === undefined) { - el.dataset.focusedViaClick = ''; - } - return; + // to avoid a full layout recalc due to changes on body/root + // we modify the closest focusable element (like input or button or anything with tabindex=0) + focusAccessibility.closest = el => { + let labelSeen; + for (; el; el = el.parentElement) { + if (el.localName === 'label' && el.control && !labelSeen) { + el = el.control; + labelSeen = true; + } + if (el.tabIndex >= 0) return el; + } + }; + // suppress outline on click + window.on('mousedown', ({target}) => { + const el = focusAccessibility.closest(target); + if (el) { + focusAccessibility.lastFocusedViaClick = true; + if (el.dataset.focusedViaClick === undefined) { + el.dataset.focusedViaClick = ''; } } - } - - function keepOutlineOnTab(event) { - if (event.key === 'Tab') { + }, {passive: true}); + // keep outline on Tab or Shift-Tab key + window.on('keydown', event => { + if (event.key === 'Tab' && !event.ctrlKey && !event.altKey && !event.metaKey) { focusAccessibility.lastFocusedViaClick = false; - setTimeout(keepOutlineOnTab, 0, true); - return; - } else if (event !== true) { - return; + setTimeout(() => { + let el = document.activeElement; + if (el) { + el = el.closest('[data-focused-via-click]'); + if (el) delete el.dataset.focusedViaClick; + } + }); } - let el = document.activeElement; - if (!el || isOutlineAllowed(el)) { - return; - } - if (el.dataset.focusedViaClick !== undefined) { - delete el.dataset.focusedViaClick; - } - el = el.closest('[data-focused-via-click]'); - if (el) { - delete el.dataset.focusedViaClick; - } - } + }, {passive: true}); } /** @@ -437,7 +417,7 @@ function setupLivePrefs( for (const id of IDs) { const element = $('#' + id); updateElement({id, element, force: true}); - element.addEventListener('change', onChange); + element.on('change', onChange); } prefs.subscribe(IDs, (id, value) => updateElement({id, value})); diff --git a/js/prefs.js b/js/prefs.js index 4434df6a..c3f19485 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -45,6 +45,7 @@ window.INJECTED !== 1 && (() => { 'manage.newUI.sort': 'title,asc', 'editor.options': {}, // CodeMirror.defaults.* + 'editor.toc.expanded': true, // UI element state: expanded/collapsed 'editor.options.expanded': true, // UI element state: expanded/collapsed 'editor.lint.expanded': true, // UI element state: expanded/collapsed 'editor.lineWrapping': true, // word wrap @@ -180,6 +181,11 @@ window.INJECTED !== 1 && (() => { if (now) fn(); } }, + subscribeMany(data, opts) { + for (const [k, fn] of Object.entries(data)) { + prefs.subscribe(k, fn, opts); + } + }, unsubscribe(keys, fn) { if (keys) { for (const key of keys) { diff --git a/js/sections-util.js b/js/sections-util.js index 48a2f9c1..68c08bbc 100644 --- a/js/sections-util.js +++ b/js/sections-util.js @@ -79,7 +79,7 @@ function styleSectionsEqual(a, b, {ignoreCode, checkSource} = {}) { function normalizeStyleSections({sections}) { // retain known properties in an arbitrarily predefined order - return (sections || []).map(section => ({ + return (sections || []).map(section => /** @namespace StyleSection */({ code: section.code || '', urls: section.urls || [], urlPrefixes: section.urlPrefixes || [], diff --git a/manage/incremental-search.js b/manage/incremental-search.js index 791cdd2c..8d6deb90 100644 --- a/manage/incremental-search.js +++ b/manage/incremental-search.js @@ -84,7 +84,7 @@ onDOMready().then(() => { if (event.altKey || event.metaKey || $('#message-box')) { return; } - const inTextInput = $.isTextLikeInput(event.target); + const inTextInput = $.isTextInput(event.target); const {key, code, ctrlKey: ctrl} = event; // `code` is independent of the current keyboard language if ((code === 'KeyF' && ctrl && !event.shiftKey) || @@ -94,17 +94,21 @@ onDOMready().then(() => { $('#search').focus(); return; } - if (ctrl || inTextInput || - key === ' ' && !input.value /* Space or Shift-Space is for page down/up */) { + if (ctrl || inTextInput && event.target !== input) { return; } const time = performance.now(); if (key.length === 1) { - input.focus(); if (time - prevTime > 1000) { input.value = ''; } - prevTime = time; + // Space or Shift-Space is for page down/up + if (key === ' ' && !input.value) { + input.blur(); + } else { + input.focus(); + prevTime = time; + } } else if (key === 'Enter' && focusedLink) { focusedLink.dispatchEvent(new MouseEvent('click', {bubbles: true})); diff --git a/msgbox/msgbox.js b/msgbox/msgbox.js index 3daff5d5..69a8edcc 100644 --- a/msgbox/msgbox.js +++ b/msgbox/msgbox.js @@ -68,7 +68,7 @@ function messageBox({ } switch (key) { case 'Enter': - if (target.closest(focusAccessibility.ELEMENTS.join(','))) { + if (focusAccessibility.closest(target)) { return; } break; diff --git a/vendor-overwrites/csslint/parserlib.js b/vendor-overwrites/csslint/parserlib.js index 34a9af64..4003e3c2 100644 --- a/vendor-overwrites/csslint/parserlib.js +++ b/vendor-overwrites/csslint/parserlib.js @@ -4435,14 +4435,23 @@ self.parserlib = (() => { const prefix = start.value.split('-')[1] || ''; do { this._ws(); - functions.push(this._documentFunction()); + functions.push(this._documentFunction() || stream.LT(1)); } while (stream.match(Tokens.COMMA)); - this._ws(); if (this.options.emptyDocument && stream.peek() !== Tokens.LBRACE) { this.fire({type: 'emptydocument', functions, prefix}, start); return; } + for (const fn of functions) { + if ((fn.type !== 'function' || !/^(url(-prefix)?|domain|regexp)$/i.test(fn.name)) && + fn.type !== 'uri') { + this.fire({ + type: 'error', + message: 'Expected url( or url-prefix( or domain( or regexp(, instead saw ' + + Tokens.name(fn.tokenType || fn.type) + ' ' + (fn.text || fn.value), + }, fn); + } + } stream.mustMatch(Tokens.LBRACE); this.fire({ From 4ac92a4f9b7859805d2d3b769674e9daf691736f Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 8 Nov 2020 20:27:06 +0300 Subject: [PATCH 038/291] unbork marks in linter report CodeMirror 5.58+ uses an additional class name for common stuff --- edit/linter-report.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/edit/linter-report.js b/edit/linter-report.js index 35029524..4387cb76 100644 --- a/edit/linter-report.js +++ b/edit/linter-report.js @@ -142,7 +142,7 @@ Object.assign(linter, (() => { anno = _anno; trElement.className = anno.severity; severity.dataset.rule = anno.rule; - severityIcon.className = `CodeMirror-lint-marker-${anno.severity}`; + severityIcon.className = `CodeMirror-lint-marker CodeMirror-lint-marker-${anno.severity}`; severityIcon.textContent = anno.severity; line.textContent = anno.from.line + 1; col.textContent = anno.from.ch + 1; From a94969e47d082e700b121c88b5d8e4c874b4d058 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 8 Nov 2020 20:28:52 +0300 Subject: [PATCH 039/291] remove padding from linter report items (icons already take care of proper spacing) --- edit/edit.css | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/edit/edit.css b/edit/edit.css index dcfe72db..e297939f 100644 --- a/edit/edit.css +++ b/edit/edit.css @@ -773,13 +773,15 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high #lint tr:hover { background-color: hsla(180, 50%, 36%, .2); } +#lint td { + padding: 0; +} #lint td[role="severity"] { font-size: 0; width: 16px; } #lint td[role="line"], #lint td[role="sep"] { text-align: right; - padding-right: 0; } #lint td[role="col"] { text-align: left; From bc8d8b235cc1e986c2ce2a3e7ebc57eaf557b3f2 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 8 Nov 2020 13:27:42 +0300 Subject: [PATCH 040/291] fix equalOrEmpty for empty strings --- background/update.js | 21 ++++++--- content/install-hook-userstyles.js | 53 ++++++++++------------- js/sections-util.js | 69 +++++++++--------------------- 3 files changed, 59 insertions(+), 84 deletions(-) diff --git a/background/update.js b/background/update.js index 33c2022c..c458426e 100644 --- a/background/update.js +++ b/background/update.js @@ -1,7 +1,18 @@ -/* global styleSectionsEqual prefs download tryJSONparse ignoreChromeError - calcStyleDigest getStyleWithNoCode debounce chromeLocal - usercss semverCompare styleJSONseemsValid - API_METHODS styleManager */ +/* global + API_METHODS + calcStyleDigest + chromeLocal + debounce + download + getStyleWithNoCode + ignoreChromeError + prefs + semverCompare + styleJSONseemsValid + styleManager + tryJSONparse + usercss +*/ 'use strict'; (() => { @@ -208,7 +219,7 @@ delete json.enabled; const newStyle = Object.assign({}, style, json); - if (styleSectionsEqual(json, style, {checkSource: true})) { + if (json.sourceCode === style.sourceCode) { // update digest even if save === false as there might be just a space added etc. return styleManager.installStyle(newStyle) .then(saved => { diff --git a/content/install-hook-userstyles.js b/content/install-hook-userstyles.js index 1adc4e89..f01f1a8f 100644 --- a/content/install-hook-userstyles.js +++ b/content/install-hook-userstyles.js @@ -264,40 +264,31 @@ .catch(() => null); } + /** + * The sections are checked in successive order because it matters when many sections + * match the same URL and they have rules with the same CSS specificity + * @param {Object} a - first style object + * @param {Object} b - second style object + * @returns {?boolean} + */ function styleSectionsEqual({sections: a}, {sections: b}) { - if (!a || !b) { - return undefined; + const targets = ['urls', 'urlPrefixes', 'domains', 'regexps']; + return a && b && a.length === b.length && a.every(sameSection); + function sameSection(secA, i) { + return equalOrEmpty(secA.code, b[i].code, 'string', (a, b) => a === b) && + targets.every(target => equalOrEmpty(secA[target], b[i][target], 'array', arrayMirrors)); } - if (a.length !== b.length) { - return false; + function equalOrEmpty(a, b, type, comparator) { + const typeA = type === 'array' ? Array.isArray(a) : typeof a === type; + const typeB = type === 'array' ? Array.isArray(b) : typeof b === type; + return typeA && typeB && comparator(a, b) || + (a == null || typeA && !a.length) && + (b == null || typeB && !b.length); } - // order of sections should be identical to account for the case of multiple - // sections matching the same URL because the order of rules is part of cascading - return a.every((sectionA, index) => propertiesEqual(sectionA, b[index])); - - function propertiesEqual(secA, secB) { - for (const name of ['urlPrefixes', 'urls', 'domains', 'regexps']) { - if (!equalOrEmpty(secA[name], secB[name], 'every', arrayMirrors)) { - return false; - } - } - return equalOrEmpty(secA.code, secB.code, 'substr', (a, b) => a === b); - } - - function equalOrEmpty(a, b, telltale, comparator) { - const typeA = a && typeof a[telltale] === 'function'; - const typeB = b && typeof b[telltale] === 'function'; - return ( - (a === null || a === undefined || (typeA && !a.length)) && - (b === null || b === undefined || (typeB && !b.length)) - ) || typeA && typeB && a.length === b.length && comparator(a, b); - } - - function arrayMirrors(array1, array2) { - return ( - array1.every(el => array2.includes(el)) && - array2.every(el => array1.includes(el)) - ); + function arrayMirrors(a, b) { + return a.length === b.length && + a.every(el => b.includes(el)) && + b.every(el => a.includes(el)); } } diff --git a/js/sections-util.js b/js/sections-util.js index 68c08bbc..aa0d01c7 100644 --- a/js/sections-util.js +++ b/js/sections-util.js @@ -23,57 +23,30 @@ function styleSectionGlobal(section) { } /** - * @param {Style} a - first style object - * @param {Style} b - second style object - * @param {Object} options - * @param {Boolean=} options.ignoreCode - - * true used by invalidateCache to determine if cached filters should be cleared - * @param {Boolean=} options.checkSource - - * true used by update check to compare the server response - * instead of sections that depend on @preprocessor - * @returns {Boolean|undefined} + * The sections are checked in successive order because it matters when many sections + * match the same URL and they have rules with the same CSS specificity + * @param {Object} a - first style object + * @param {Object} b - second style object + * @returns {?boolean} */ -function styleSectionsEqual(a, b, {ignoreCode, checkSource} = {}) { - if (checkSource && - typeof a.sourceCode === 'string' && - typeof b.sourceCode === 'string') { - return a.sourceCode === b.sourceCode; +function styleSectionsEqual({sections: a}, {sections: b}) { + const targets = ['urls', 'urlPrefixes', 'domains', 'regexps']; + return a && b && a.length === b.length && a.every(sameSection); + function sameSection(secA, i) { + return equalOrEmpty(secA.code, b[i].code, 'string', (a, b) => a === b) && + targets.every(target => equalOrEmpty(secA[target], b[i][target], 'array', arrayMirrors)); } - a = a.sections; - b = b.sections; - if (!a || !b) { - return undefined; + function equalOrEmpty(a, b, type, comparator) { + const typeA = type === 'array' ? Array.isArray(a) : typeof a === type; + const typeB = type === 'array' ? Array.isArray(b) : typeof b === type; + return typeA && typeB && comparator(a, b) || + (a == null || typeA && !a.length) && + (b == null || typeB && !b.length); } - if (a.length !== b.length) { - return false; - } - // order of sections should be identical to account for the case of multiple - // sections matching the same URL because the order of rules is part of cascading - return a.every((sectionA, index) => propertiesEqual(sectionA, b[index])); - - function propertiesEqual(secA, secB) { - for (const name of ['urlPrefixes', 'urls', 'domains', 'regexps']) { - if (!equalOrEmpty(secA[name], secB[name], 'every', arrayMirrors)) { - return false; - } - } - return ignoreCode || equalOrEmpty(secA.code, secB.code, 'substr', (a, b) => a === b); - } - - function equalOrEmpty(a, b, telltale, comparator) { - const typeA = a && typeof a[telltale] === 'function'; - const typeB = b && typeof b[telltale] === 'function'; - return ( - (a === null || a === undefined || (typeA && !a.length)) && - (b === null || b === undefined || (typeB && !b.length)) - ) || typeA && typeB && a.length === b.length && comparator(a, b); - } - - function arrayMirrors(array1, array2) { - return ( - array1.every(el => array2.includes(el)) && - array2.every(el => array1.includes(el)) - ); + function arrayMirrors(a, b) { + return a.length === b.length && + a.every(el => b.includes(el)) && + b.every(el => a.includes(el)); } } From 7d18376cf2983fae100203368462506c68bda1fd Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 8 Nov 2020 13:29:15 +0300 Subject: [PATCH 041/291] always use deepCopy for prefs.values for safety --- background/background.js | 2 +- js/prefs.js | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/background/background.js b/background/background.js index 109123f2..d90a63be 100644 --- a/background/background.js +++ b/background/background.js @@ -59,7 +59,7 @@ window.API_METHODS = Object.assign(window.API_METHODS || {}, { parseCss({code}) { return backgroundWorker.parseMozFormat({code}); }, - getPrefs: () => prefs.values, // will be deepCopy'd by invokeAPI handler + getPrefs: () => prefs.values, setPref: (key, value) => prefs.set(key, value), openEditor, diff --git a/js/prefs.js b/js/prefs.js index c3f19485..cba6e0d9 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -137,7 +137,9 @@ window.INJECTED !== 1 && (() => { const prefs = window.prefs = { initializing, defaults, - values, + get values() { + return deepCopy(values); + }, get(key) { return isKnown(key) && values[key]; }, From ff1fa072674e71ff94c636ea4c8974c6dc8e06c9 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 8 Nov 2020 13:31:07 +0300 Subject: [PATCH 042/291] import/export options in backup json * import options on demand * auto-grant declarativeContent * include lint configs and usercss template * simplify exportFile as crbug.com/798705 was fixed --- edit/linter-config-dialog.js | 2 +- edit/linter-engines.js | 4 +- edit/source-editor.js | 7 +- js/prefs.js | 1 + js/storage-util.js | 8 +- manage.html | 1 + manage/import-export.js | 264 +++++++++++++++++++---------------- manage/manage.css | 26 +--- options/options.js | 20 +-- 9 files changed, 174 insertions(+), 159 deletions(-) diff --git a/edit/linter-config-dialog.js b/edit/linter-config-dialog.js index c570963a..d357cb79 100644 --- a/edit/linter-config-dialog.js +++ b/edit/linter-config-dialog.js @@ -27,7 +27,7 @@ if (!linter) { return; } - const storageName = linter === 'stylelint' ? 'editorStylelintConfig' : 'editorCSSLintConfig'; + const storageName = chromeSync.LZ_KEY[linter]; const getRules = memoize(linter === 'stylelint' ? editorWorker.getStylelintRules : editorWorker.getCsslintRules); const linterTitle = linter === 'stylelint' ? 'Stylelint' : 'CSSLint'; diff --git a/edit/linter-engines.js b/edit/linter-engines.js index 65755434..8ec09144 100644 --- a/edit/linter-engines.js +++ b/edit/linter-engines.js @@ -4,13 +4,13 @@ (() => { registerLinters({ csslint: { - storageName: 'editorCSSLintConfig', + storageName: chromeSync.LZ_KEY.csslint, lint: csslint, validMode: mode => mode === 'css', getConfig: config => Object.assign({}, LINTER_DEFAULTS.CSSLINT, config) }, stylelint: { - storageName: 'editorStylelintConfig', + storageName: chromeSync.LZ_KEY.stylelint, lint: stylelint, validMode: () => true, getConfig: config => ({ diff --git a/edit/source-editor.js b/edit/source-editor.js index 2e2d5be3..ca8cd183 100644 --- a/edit/source-editor.js +++ b/edit/source-editor.js @@ -157,7 +157,7 @@ function SourceEditor() { style.sourceCode = ''; placeholderName = `${style.name || t('usercssReplaceTemplateName')} - ${new Date().toLocaleString()}`; - let code = await chromeSync.getLZValue('usercssTemplate'); + let code = await chromeSync.getLZValue(chromeSync.LZ_KEY.usercssTemplate); code = code || DEFAULT_CODE; code = code.replace(/@name(\s*)(?=[\r\n])/, (str, space) => `${str}${space ? '' : ' '}${placeholderName}`); @@ -247,9 +247,10 @@ function SourceEditor() { // save template if (err.code === 'missingValue' && meta.includes('@name')) { + const key = chromeSync.LZ_KEY.usercssTemplate; messageBox.confirm(t('usercssReplaceTemplateConfirmation')).then(ok => ok && - chromeSync.setLZValue('usercssTemplate', code) - .then(() => chromeSync.getLZValue('usercssTemplate')) + chromeSync.setLZValue(key, code) + .then(() => chromeSync.getLZValue(key)) .then(saved => saved !== code && messageBox.alert(t('syncStorageErrorSaving')))); return; } diff --git a/js/prefs.js b/js/prefs.js index cba6e0d9..dc7e812a 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -135,6 +135,7 @@ window.INJECTED !== 1 && (() => { // This direct assignment allows IDEs to provide correct autocomplete for methods const prefs = window.prefs = { + STORAGE_KEY, initializing, defaults, get values() { diff --git a/js/storage-util.js b/js/storage-util.js index 2e966523..42e2931a 100644 --- a/js/storage-util.js +++ b/js/storage-util.js @@ -35,7 +35,7 @@ const [chromeLocal, chromeSync] = (() => { setValue: (key, value) => wrapper.set({[key]: value}), getLZValue: key => wrapper.getLZValues([key]).then(data => data[key]), - getLZValues: keys => + getLZValues: (keys = Object.values(wrapper.LZ_KEY)) => Promise.all([ wrapper.get(keys), loadLZStringScript(), @@ -64,3 +64,9 @@ const [chromeLocal, chromeSync] = (() => { (window.LZString = window.LZString || window.LZStringUnsafe)); } })(); + +chromeSync.LZ_KEY = { + csslint: 'editorCSSLintConfig', + stylelint: 'editorStylelintConfig', + usercssTemplate: 'usercssTemplate', +}; diff --git a/manage.html b/manage.html index 28b885f5..7f57c575 100644 --- a/manage.html +++ b/manage.html @@ -169,6 +169,7 @@ + diff --git a/manage/import-export.js b/manage/import-export.js index 5c19b140..7c29d53c 100644 --- a/manage/import-export.js +++ b/manage/import-export.js @@ -1,6 +1,22 @@ -/* global messageBox styleSectionsEqual API onDOMready - tryJSONparse scrollElementIntoView $ $$ API $create t animateElement - styleJSONseemsValid bulkChangeQueue */ +/* global + $ + $$ + $create + animateElement + API + bulkChangeQueue + CHROME + chromeSync + deepEqual + messageBox + onDOMready + prefs + scrollElementIntoView + styleJSONseemsValid + styleSectionsEqual + t + tryJSONparse +*/ 'use strict'; const STYLISH_DUMP_FILE_EXT = '.txt'; @@ -21,9 +37,8 @@ onDOMready().then(() => { this.classList.remove('fadeout'); } }, - async ondragend() { - await animateElement(this, 'fadeout', 'dropzone'); - this.style.animationDuration = ''; + ondragend() { + animateElement(this, 'fadeout', 'dropzone'); }, ondragleave(event) { try { @@ -36,7 +51,6 @@ onDOMready().then(() => { } }, ondrop(event) { - this.ondragend(); if (event.dataTransfer.files.length) { event.preventDefault(); if ($('#only-updates input').checked) { @@ -44,6 +58,8 @@ onDOMready().then(() => { } importFromFile({file: event.dataTransfer.files[0]}); } + /* Run import first for a while, then run fadeout which is very CPU-intensive in Chrome */ + setTimeout(() => this.ondragend(), 250); }, }); }); @@ -69,25 +85,20 @@ function importFromFile({fileTypeFilter, file} = {}) { if (file || fileInput.value !== fileInput.initialValue) { file = file || fileInput.files[0]; if (file.size > 100e6) { - console.warn("100MB backup? I don't believe you."); - importFromString('').then(resolve); + messageBox.alert("100MB backup? I don't believe you."); + resolve(); return; } - document.body.style.cursor = 'wait'; const fReader = new FileReader(); fReader.onloadend = event => { fileInput.remove(); const text = event.target.result; - const maybeUsercss = !/^[\s\r\n]*\[/.test(text) && - (text.includes('==UserStyle==') || /==UserStyle==/i.test(text)); + const maybeUsercss = !/^\s*\[/.test(text) && /==UserStyle==/i.test(text); if (maybeUsercss) { messageBox.alert(t('dragDropUsercssTabstrip')); - return; + } else { + importFromString(text).then(resolve); } - importFromString(text).then(numStyles => { - document.body.style.cursor = ''; - resolve(numStyles); - }); }; fReader.readAsText(file, 'utf-8'); } @@ -96,51 +107,33 @@ function importFromFile({fileTypeFilter, file} = {}) { } -function importFromString(jsonString) { +async function importFromString(jsonString) { const json = tryJSONparse(jsonString); - if (!Array.isArray(json)) { - return Promise.reject(new Error('the backup is not a valid JSON file')); - } - let oldStyles; - let oldStylesById; - let oldStylesByName; + const oldStyles = Array.isArray(json) && json.length ? await API.getAllStyles() : []; + const oldStylesById = new Map(oldStyles.map(style => [style.id, style])); + const oldStylesByName = new Map(oldStyles.map(style => [style.name.trim(), style])); + const items = []; + const infos = []; const stats = { - added: {names: [], ids: [], legend: 'importReportLegendAdded'}, - unchanged: {names: [], ids: [], legend: 'importReportLegendIdentical'}, - metaAndCode: {names: [], ids: [], legend: 'importReportLegendUpdatedBoth'}, - metaOnly: {names: [], ids: [], legend: 'importReportLegendUpdatedMeta'}, - codeOnly: {names: [], ids: [], legend: 'importReportLegendUpdatedCode'}, - invalid: {names: [], legend: 'importReportLegendInvalid'}, + options: {names: [], isOptions: true, legend: 'optionsHeading'}, + added: {names: [], ids: [], legend: 'importReportLegendAdded', dirty: true}, + unchanged: {names: [], ids: [], legend: 'importReportLegendIdentical'}, + metaAndCode: {names: [], ids: [], legend: 'importReportLegendUpdatedBoth', dirty: true}, + metaOnly: {names: [], ids: [], legend: 'importReportLegendUpdatedMeta', dirty: true}, + codeOnly: {names: [], ids: [], legend: 'importReportLegendUpdatedCode', dirty: true}, + invalid: {names: [], legend: 'importReportLegendInvalid'}, }; - - return API.getAllStyles().then(styles => { - // make a copy of the current database, that may be used when we want to - // undo - oldStyles = styles; - oldStylesById = new Map( - oldStyles.map(style => [style.id, style])); - oldStylesByName = json.length && new Map( - oldStyles.map(style => [style.name.trim(), style])); - - const items = []; - json.forEach((item, i) => { - const info = analyze(item, i); - if (info) { - items.push({info, item}); - } - }); - bulkChangeQueue.length = 0; - bulkChangeQueue.time = performance.now(); - return API.importManyStyles(items.map(i => i.item)) - .then(styles => { - for (let i = 0; i < styles.length; i++) { - updateStats(styles[i], items[i].info); - } - }); - }) - .then(done); + await Promise.all(json.map(analyze)); + bulkChangeQueue.length = 0; + bulkChangeQueue.time = performance.now(); + (await API.importManyStyles(items)) + .forEach((style, i) => updateStats(style, infos[i])); + return done(); function analyze(item, index) { + if (item && !item.id && item[prefs.STORAGE_KEY]) { + return analyzeStorage(item); + } if (typeof item !== 'object' || !styleJSONseemsValid(item)) { stats.invalid.names.push(`#${index}: ${limitString(item && item.name || '')}`); return; @@ -161,17 +154,32 @@ function importFromString(jsonString) { item.id = byName.id; oldStyle = byName; } - const oldStyleKeys = oldStyle && Object.keys(oldStyle); - const metaEqual = oldStyleKeys && - oldStyleKeys.length === Object.keys(item).length && - oldStyleKeys.every(k => k === 'sections' || oldStyle[k] === item[k]); + const metaEqual = oldStyle && deepEqual(oldStyle, item, ['sections', '_rev']); const codeEqual = oldStyle && styleSectionsEqual(oldStyle, item); if (metaEqual && codeEqual) { stats.unchanged.names.push(oldStyle.name); stats.unchanged.ids.push(oldStyle.id); - return; + } else { + items.push(item); + infos.push({oldStyle, metaEqual, codeEqual}); + } + } + + async function analyzeStorage(storage) { + analyzePrefs(storage[prefs.STORAGE_KEY], Object.keys(prefs.defaults), prefs.values, true); + delete storage[prefs.STORAGE_KEY]; + if (Object.keys(storage).length) { + analyzePrefs(storage, Object.values(chromeSync.LZ_KEY), await chromeSync.getLZValues()); + } + } + + function analyzePrefs(obj, validKeys, values, isPref) { + for (const [key, val] of Object.entries(obj || {})) { + const isValid = validKeys.includes(key); + if (!isValid || !deepEqual(val, values[key])) { + stats.options.names.push({name: key, val, isValid, isPref}); + } } - return {oldStyle, metaEqual, codeEqual}; } function sameStyle(oldStyle, newStyle) { @@ -201,31 +209,14 @@ function importFromString(jsonString) { } function done() { - const numChanged = stats.metaAndCode.names.length + - stats.metaOnly.names.length + - stats.codeOnly.names.length + - stats.added.names.length; - const report = Object.keys(stats) - .filter(kind => stats[kind].names.length) - .map(kind => { - const {ids, names, legend} = stats[kind]; - const listItemsWithId = (name, i) => - $create('div', {dataset: {id: ids[i]}}, name); - const listItems = name => - $create('div', name); - const block = - $create('details', {dataset: {id: kind}}, [ - $create('summary', - $create('b', names.length + ' ' + t(legend))), - $create('small', - names.map(ids ? listItemsWithId : listItems)), - ]); - return block; - }); scrollTo(0, 0); + const entries = Object.entries(stats); + const numChanged = entries.reduce((sum, [, val]) => + sum + (val.dirty ? val.names.length : 0), 0); + const report = entries.map(renderStats).filter(Boolean); messageBox({ title: t('importReportTitle'), - contents: report.length ? report : t('importReportUnchanged'), + contents: $create('#import', report.length ? report : t('importReportUnchanged')), buttons: [t('confirmClose'), numChanged && t('undo')], onshow: bindClick, }) @@ -234,7 +225,61 @@ function importFromString(jsonString) { undo(); } }); - return Promise.resolve(numChanged); + } + + function renderStats([id, {ids, names, legend, isOptions}]) { + return names.length && + $create('details', {dataset: {id}, open: isOptions}, [ + $create('summary', + $create('b', (isOptions ? '' : names.length + ' ') + t(legend))), + $create('small', + names.map(ids ? listItemsWithId : isOptions ? listOptions : listItems, ids)), + isOptions && names.some(_ => _.isValid) && + $create('button', {onclick: importOptions}, t('importLabel')), + ]); + } + + function listOptions({name, isValid}) { + return $create(isValid ? 'div' : 'del', + name + (isValid ? '' : ` (${t(stats.invalid.legend)})`)); + } + + function listItems(name) { + return $create('div', name); + } + + /** @this stats..ids */ + function listItemsWithId(name, i) { + return $create('div', {dataset: {id: this[i]}}, name); + } + + async function importOptions() { + // Must acquire the permission before setting the pref + if (CHROME && !chrome.declarativeContent && + stats.options.names.find(_ => _.name === 'styleViaXhr' && _.isValid && _.val)) { + await new Promise(resolve => + chrome.permissions.request({permissions: ['declarativeContent']}, resolve)); + } + const oldStorage = await chromeSync.get(); + for (const {name, val, isValid, isPref} of stats.options.names) { + if (isValid) { + if (isPref) { + prefs.set(name, val); + } else { + chromeSync.setLZValue(name, val); + } + } + } + const label = this.textContent; + this.textContent = t('undo'); + this.onclick = async () => { + const curKeys = Object.keys(await chromeSync.get()); + const keysToRemove = curKeys.filter(k => !oldStorage.hasOwnProperty(k)); + await chromeSync.set(oldStorage); + await chromeSync.remove(keysToRemove); + this.textContent = label; + this.onclick = importOptions; + }; } function undo() { @@ -289,39 +334,20 @@ function importFromString(jsonString) { } -function exportToFile() { - API.getAllStyles().then(styles => { - // https://crbug.com/714373 - document.documentElement.appendChild( - $create('iframe', { - onload() { - const text = JSON.stringify(styles, null, '\t'); - const type = 'application/json'; - this.onload = null; - this.contentDocument.body.appendChild( - $create('a', { - href: URL.createObjectURL(new Blob([text], {type})), - download: generateFileName(), - type, - }) - ).dispatchEvent(new MouseEvent('click')); - }, - // we can't use display:none as some browsers are ignoring such iframes - style: ` - all: unset; - width: 0; - height: 0; - position: fixed; - opacity: 0; - border: none; - `.replace(/;/g, '!important;'), - }) - ); - // we don't remove the iframe or the object URL because the browser may show - // a download dialog and we don't know how long it'll take until the user confirms it - // (some browsers like Vivaldi can't download if we revoke the URL) - }); - +async function exportToFile() { + const data = [ + Object.assign({ + [prefs.STORAGE_KEY]: prefs.values, + }, await chromeSync.getLZValues()), + ...await API.getAllStyles(), + ]; + const text = JSON.stringify(data, null, ' '); + const type = 'application/json'; + $create('a', { + href: URL.createObjectURL(new Blob([text], {type})), + download: generateFileName(), + type, + }).dispatchEvent(new MouseEvent('click')); function generateFileName() { const today = new Date(); const dd = ('0' + today.getDate()).substr(-2); diff --git a/manage/manage.css b/manage/manage.css index 95652b15..419b0762 100644 --- a/manage/manage.css +++ b/manage/manage.css @@ -913,22 +913,6 @@ a:hover { white-space: nowrap; } -#import ul { - margin-left: 0; - padding-left: 0; - list-style: none; -} - -#import li { - margin-bottom: .5em; -} - -#import pre { - background: #eee; - overflow: auto; - margin: 0 0 .5em 0; -} - /* drag-n-drop on import button */ .dropzone:after { background-color: rgba(0, 0, 0, 0.7); @@ -954,18 +938,22 @@ a:hover { } /* post-import report */ -#message-box details:not([data-id="invalid"]) div:hover { +#import details:not([data-id="invalid"]) div:hover { background-color: rgba(128, 128, 128, .3); } -#message-box details:not(:last-child) { +#import details:not(:last-child) { margin-bottom: 1em; } -#message-box details small div { +#import details small > * { margin-left: 1.5em; } +#import details > button { + margin: .5em 1.25em 0; +} + .update-history-log { font-size: 11px; white-space: pre; diff --git a/options/options.js b/options/options.js index d3d3ab01..4d0a1062 100644 --- a/options/options.js +++ b/options/options.js @@ -38,25 +38,17 @@ if (FIREFOX && 'update' in (chrome.commands || {})) { }); } -if (CHROME) { +if (CHROME && !chrome.declarativeContent) { // Show the option as disabled until the permission is actually granted const el = $('#styleViaXhr'); + prefs.initializing.then(() => { + el.checked = false; + }); el.addEventListener('click', () => { - if (el.checked && !chrome.declarativeContent) { - chrome.permissions.request({permissions: ['declarativeContent']}, ok => { - if (chrome.runtime.lastError || !ok) { - el.checked = false; - } - }); + if (el.checked) { + chrome.permissions.request({permissions: ['declarativeContent']}, ignoreChromeError); } }); - if (!chrome.declarativeContent) { - prefs.initializing.then(() => { - if (prefs.get('styleViaXhr')) { - el.checked = false; - } - }); - } } // actions From 30b9378d2cbf140816c185b8649489bc8cb6fb8a Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 9 Nov 2020 22:59:42 +0300 Subject: [PATCH 043/291] use mousewheel to change a focused input[type=range] --- js/dom.js | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/js/dom.js b/js/dom.js index 2babfac6..d8bafda8 100644 --- a/js/dom.js +++ b/js/dom.js @@ -97,10 +97,13 @@ document.on('wheel', event => { if (!el || el !== event.target && !el.contains(event.target)) { return; } - if (el.tagName === 'SELECT') { - const old = el.selectedIndex; - el.selectedIndex = Math.max(0, Math.min(el.length - 1, old + Math.sign(event.deltaY))); - if (el.selectedIndex !== old) { + const isSelect = el.tagName === 'SELECT'; + if (isSelect || el.tagName === 'INPUT' && el.type === 'range') { + const key = isSelect ? 'selectedIndex' : 'valueAsNumber'; + const old = el[key]; + const rawVal = old + Math.sign(event.deltaY) * (el.step || 1); + el[key] = Math.max(el.min || 0, Math.min(el.max || el.length - 1, rawVal)); + if (el[key] !== old) { el.dispatchEvent(new Event('change', {bubbles: true})); } event.preventDefault(); From eb70e5a2aaf3eb0485c8c705f7b8f19a71e438f7 Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 10 Nov 2020 20:29:23 +0300 Subject: [PATCH 044/291] update stylus-lang dependency to 0.54.7 --- background/background-worker.js | 12 +- package-lock.json | 137 +++++++++++++----- package.json | 2 +- tools/build-vendor.js | 2 +- vendor/stylus-lang-bundle/README.md | 4 +- .../stylus-lang-bundle/stylus-renderer.min.js | 105 ++++++++++++++ vendor/stylus-lang-bundle/stylus.min.js | 6 - 7 files changed, 212 insertions(+), 56 deletions(-) create mode 100644 vendor/stylus-lang-bundle/stylus-renderer.min.js delete mode 100644 vendor/stylus-lang-bundle/stylus.min.js diff --git a/background/background-worker.js b/background/background-worker.js index b4d7294b..d1908b1c 100644 --- a/background/background-worker.js +++ b/background/background-worker.js @@ -90,17 +90,11 @@ function getUsercssCompiler(preprocessor) { }, stylus: { preprocess(source, vars) { - loadScript('/vendor/stylus-lang-bundle/stylus.min.js'); + loadScript('/vendor/stylus-lang-bundle/stylus-renderer.min.js'); return new Promise((resolve, reject) => { const varDef = Object.keys(vars).map(key => `${key} = ${vars[key].value};\n`).join(''); - if (!Error.captureStackTrace) Error.captureStackTrace = () => {}; - self.stylus(varDef + source).render((err, output) => { - if (err) { - reject(err); - } else { - resolve(output); - } - }); + new self.StylusRenderer(varDef + source) + .render((err, output) => err ? reject(err) : resolve(output)); }); } }, diff --git a/package-lock.json b/package-lock.json index d871fa70..d6797a9f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1182,8 +1182,7 @@ "atob": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" }, "atomic-sleep": { "version": "1.0.0", @@ -1265,8 +1264,7 @@ "balanced-match": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" }, "base": { "version": "0.11.2", @@ -1447,7 +1445,6 @@ "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2038,8 +2035,7 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" }, "concat-stream": { "version": "1.6.2", @@ -2144,6 +2140,25 @@ "integrity": "sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==", "dev": true }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "css-parse": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", + "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "requires": { + "css": "^2.0.0" + } + }, "css-select": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/css-select/-/css-select-1.2.0.tgz", @@ -2217,8 +2232,7 @@ "decode-uri-component": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" }, "decompress-response": { "version": "3.3.0", @@ -3260,6 +3274,11 @@ "es5-ext": "~0.10.14" } }, + "event-lite": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/event-lite/-/event-lite-0.1.2.tgz", + "integrity": "sha512-HnSYx1BsJ87/p6swwzv+2v6B4X+uxUteoDfRxsAb1S1BePzQqOLevVmkdA15GHJVd9A9Ok6wygUR18Hu0YeV9g==" + }, "event-to-promise": { "version": "0.8.0", "resolved": "https://registry.npmjs.org/event-to-promise/-/event-to-promise-0.8.0.tgz", @@ -3850,8 +3869,7 @@ "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "dev": true + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" }, "fsevents": { "version": "2.1.2", @@ -3995,7 +4013,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, "requires": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -4315,7 +4332,6 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "dev": true, "requires": { "once": "^1.3.0", "wrappy": "1" @@ -4324,8 +4340,7 @@ "inherits": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" }, "ini": { "version": "1.3.5", @@ -5318,7 +5333,6 @@ "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "dev": true, "requires": { "brace-expansion": "^1.1.7" } @@ -5805,7 +5819,6 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "dev": true, "requires": { "wrappy": "1" } @@ -5999,6 +6012,11 @@ "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", "dev": true }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==" + }, "path-dirname": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", @@ -6014,8 +6032,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" }, "path-is-inside": { "version": "1.0.2", @@ -6481,8 +6498,7 @@ "resolve-url": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" }, "responselike": { "version": "1.0.2", @@ -6570,14 +6586,12 @@ "safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" }, "semver": { "version": "5.6.0", @@ -6996,14 +7010,12 @@ "source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" }, "source-map-resolve": { "version": "0.5.3", "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", - "dev": true, "requires": { "atob": "^2.1.2", "decode-uri-component": "^0.2.0", @@ -7025,8 +7037,7 @@ "source-map-url": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" }, "spawn-sync": { "version": "1.0.15", @@ -7288,10 +7299,59 @@ "resolved": "https://registry.npmjs.org/stylelint-bundle/-/stylelint-bundle-8.0.0.tgz", "integrity": "sha512-kASuh8U4SbfDh12plCbwmIvttR8P/+Y33OwJ2t5GZuradF2Hk9dP27U5cPyqK8HAPw7wbr/LHYwkjQiSL7gh3A==" }, + "stylus": { + "version": "github:stylus/stylus#59bc665db295981d4e3f702e7275c5589a3c6d15", + "from": "github:stylus/stylus#dev", + "requires": { + "css-parse": "~2.0.0", + "debug": "~3.1.0", + "glob": "^7.1.6", + "mkdirp": "~1.0.4", + "safer-buffer": "^2.1.2", + "sax": "~1.2.4", + "semver": "^6.3.0", + "source-map": "^0.7.3" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + }, + "mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==" + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==" + }, + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==" + } + } + }, "stylus-lang-bundle": { - "version": "0.54.5", - "resolved": "https://registry.npmjs.org/stylus-lang-bundle/-/stylus-lang-bundle-0.54.5.tgz", - "integrity": "sha512-UGd0rNe1aiXAMzOUNiIoH7Y4qVN6poYHZTt/tM6vJ4UWS8negVxds4H25Rm+TDJH8clkd+R8n+3VIaa3C7LbVw==" + "version": "github:openstyles/stylus-lang-bundle#bf8d6972c7583538bd126540b1388f7daba1a570", + "from": "github:openstyles/stylus-lang-bundle#v0.54.7", + "requires": { + "event-lite": "^0.1.2", + "path-browserify": "^1.0.1", + "stylus": "github:stylus/stylus#dev", + "tiny-sha1": "^0.2.1" + } }, "supports-color": { "version": "5.5.0", @@ -7444,6 +7504,11 @@ "globrex": "^0.1.1" } }, + "tiny-sha1": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tiny-sha1/-/tiny-sha1-0.2.1.tgz", + "integrity": "sha1-onRkudPxv4LpMaRrGqPfmcqSbF4=" + }, "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", @@ -7786,8 +7851,7 @@ "urix": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" }, "url-parse-lax": { "version": "3.0.0", @@ -8045,8 +8109,7 @@ "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "dev": true + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "write": { "version": "1.0.3", diff --git a/package.json b/package.json index d45040db..5987b01c 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ "lz-string-unsafe": "^1.4.4-fork-1", "semver-bundle": "^0.1.1", "stylelint-bundle": "^8.0.0", - "stylus-lang-bundle": "^0.54.5", + "stylus-lang-bundle": "github:openstyles/stylus-lang-bundle#v0.54.7", "usercss-meta": "^0.9.0", "webext-launch-web-auth-flow": "^0.1.0" }, diff --git a/tools/build-vendor.js b/tools/build-vendor.js index 41279fb2..8ebf6512 100644 --- a/tools/build-vendor.js +++ b/tools/build-vendor.js @@ -52,7 +52,7 @@ const files = { 'https://github.com/stylelint/stylelint/raw/{VERSION}/LICENSE → LICENSE' ], 'stylus-lang-bundle': [ - 'stylus.min.js' + 'dist/stylus-renderer.min.js → stylus-renderer.min.js' ], 'usercss-meta': [ 'dist/usercss-meta.min.js → usercss-meta.min.js' diff --git a/vendor/stylus-lang-bundle/README.md b/vendor/stylus-lang-bundle/README.md index ede4337e..14ea2e9c 100644 --- a/vendor/stylus-lang-bundle/README.md +++ b/vendor/stylus-lang-bundle/README.md @@ -1,5 +1,5 @@ -## stylus-lang-bundle v0.54.5 +## stylus-lang-bundle v0.54.7 Following files are copied from npm (node_modules): -* stylus.min.js +* stylus-renderer.min.js: dist\stylus-renderer.min.js diff --git a/vendor/stylus-lang-bundle/stylus-renderer.min.js b/vendor/stylus-lang-bundle/stylus-renderer.min.js new file mode 100644 index 00000000..fed970d0 --- /dev/null +++ b/vendor/stylus-lang-bundle/stylus-renderer.min.js @@ -0,0 +1,105 @@ +var StylusRenderer=function(){"use strict";function assertPath(t){if("string"!=typeof t)throw new TypeError("Path must be a string. Received "+JSON.stringify(t))}function normalizeStringPosix(t,e){for(var n,i="",r=0,o=-1,a=0,h=0;h<=t.length;++h){if(h2){var l=i.lastIndexOf("/");if(l!==i.length-1){-1===l?(i="",r=0):r=(i=i.slice(0,l)).length-1-i.lastIndexOf("/"),o=h,a=0;continue}}else if(2===i.length||1===i.length){i="",r=0,o=h,a=0;continue}e&&(i.length>0?i+="/..":i="..",r=2)}else i.length>0?i+="/"+t.slice(o+1,h):i=t.slice(o+1,h),r=h-o-1;o=h,a=0}else 46===n&&-1!==a?++a:a=-1}return i}var t={resolve:function resolve(){for(var t,e="",n=!1,i=arguments.length-1;i>=-1&&!n;i--){var r;i>=0?r=arguments[i]:(void 0===t&&(t=process.cwd()),r=t),assertPath(r),0!==r.length&&(e=r+"/"+e,n=47===r.charCodeAt(0))}return e=normalizeStringPosix(e,!n),n?e.length>0?"/"+e:"/":e.length>0?e:"."},normalize:function normalize(t){if(assertPath(t),0===t.length)return".";var e=47===t.charCodeAt(0),n=47===t.charCodeAt(t.length-1);return 0!==(t=normalizeStringPosix(t,!e)).length||e||(t="."),t.length>0&&n&&(t+="/"),e?"/"+t:t},isAbsolute:function isAbsolute(t){return assertPath(t),t.length>0&&47===t.charCodeAt(0)},join:function join(){if(0===arguments.length)return".";for(var e,n=0;n0&&(void 0===e?e=i:e+="/"+i)}return void 0===e?".":t.normalize(e)},relative:function relative(e,n){if(assertPath(e),assertPath(n),e===n)return"";if((e=t.resolve(e))===(n=t.resolve(n)))return"";for(var i=1;il){if(47===n.charCodeAt(a+u))return n.slice(a+u+1);if(0===u)return n.slice(a+u)}else o>l&&(47===e.charCodeAt(i+u)?c=u:0===u&&(c=0));break}var f=e.charCodeAt(i+u);if(f!==n.charCodeAt(a+u))break;47===f&&(c=u)}var d="";for(u=i+c+1;u<=r;++u)u!==r&&47!==e.charCodeAt(u)||(0===d.length?d+="..":d+="/..");return d.length>0?d+n.slice(a+c):(a+=c,47===n.charCodeAt(a)&&++a,n.slice(a))},_makeLong:function _makeLong(t){return t},dirname:function dirname(t){if(assertPath(t),0===t.length)return".";for(var e=t.charCodeAt(0),n=47===e,i=-1,r=!0,o=t.length-1;o>=1;--o)if(47===(e=t.charCodeAt(o))){if(!r){i=o;break}}else r=!1;return-1===i?n?"/":".":n&&1===i?"//":t.slice(0,i)},basename:function basename(t,e){if(void 0!==e&&"string"!=typeof e)throw new TypeError('"ext" argument must be a string');assertPath(t);var n,i=0,r=-1,o=!0;if(void 0!==e&&e.length>0&&e.length<=t.length){if(e.length===t.length&&e===t)return"";var a=e.length-1,h=-1;for(n=t.length-1;n>=0;--n){var l=t.charCodeAt(n);if(47===l){if(!o){i=n+1;break}}else-1===h&&(o=!1,h=n+1),a>=0&&(l===e.charCodeAt(a)?-1==--a&&(r=n):(a=-1,r=h))}return i===r?r=h:-1===r&&(r=t.length),t.slice(i,r)}for(n=t.length-1;n>=0;--n)if(47===t.charCodeAt(n)){if(!o){i=n+1;break}}else-1===r&&(o=!1,r=n+1);return-1===r?"":t.slice(i,r)},extname:function extname(t){assertPath(t);for(var e=-1,n=0,i=-1,r=!0,o=0,a=t.length-1;a>=0;--a){var h=t.charCodeAt(a);if(47!==h)-1===i&&(r=!1,i=a+1),46===h?-1===e?e=a:1!==o&&(o=1):-1!==e&&(o=-1);else if(!r){n=a+1;break}}return-1===e||-1===i||0===o||1===o&&e===i-1&&e===n+1?"":t.slice(e,i)},format:function format(t){if(null===t||"object"!=typeof t)throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof t);return function _format(t,e){var n=e.dir||e.root,i=e.base||(e.name||"")+(e.ext||"");return n?n===e.root?n+i:n+t+i:i}("/",t)},parse:function parse(t){assertPath(t);var e={root:"",dir:"",base:"",ext:"",name:""};if(0===t.length)return e;var n,i=t.charCodeAt(0),r=47===i;r?(e.root="/",n=1):n=0;for(var o=-1,a=0,h=-1,l=!0,c=t.length-1,u=0;c>=n;--c)if(47!==(i=t.charCodeAt(c)))-1===h&&(l=!1,h=c+1),46===i?-1===o?o=c:1!==u&&(u=1):-1!==o&&(u=-1);else if(!l){a=c+1;break}return-1===o||-1===h||0===u||1===u&&o===h-1&&o===a+1?-1!==h&&(e.base=e.name=0===a&&r?t.slice(1,h):t.slice(a,h)):(0===a&&r?(e.name=t.slice(1,o),e.base=t.slice(1,h)):(e.name=t.slice(a,o),e.base=t.slice(a,h)),e.ext=t.slice(o,h)),a>0?e.dir=t.slice(0,a-1):r&&(e.dir="/"),e},sep:"/",delimiter:":",win32:null,posix:null}; +/*! + * Stylus - Token + * Copyright (c) Automattic + * MIT Licensed + */ +let e;t.posix=t;var n=e=e=function Token(t,e){this.type=t,this.val=e};n.prototype.inspect=function(){var t=" "+nodeUtil.inspect(this.val);return"[Token:"+this.lineno+":"+this.column+" "+this.type+""+(this.val?t:"")+"]"},n.prototype.toString=function(){return(void 0===this.val?this.type:this.val).toString()};var i=1e3,r=60*i,o=60*r,a=24*o;function plural(t,e,n){if(!(t0)return function parse(t){if(!((t=String(t)).length>100)){var e=/^((?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|years?|yrs?|y)?$/i.exec(t);if(e){var n=parseFloat(e[1]);switch((e[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return 315576e5*n;case"days":case"day":case"d":return n*a;case"hours":case"hour":case"hrs":case"hr":case"h":return n*o;case"minutes":case"minute":case"mins":case"min":case"m":return n*r;case"seconds":case"second":case"secs":case"sec":case"s":return n*i;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return n;default:return}}}}(t);if("number"===n&&!1===isNaN(t))return e.long?function fmtLong(t){return plural(t,a,"day")||plural(t,o,"hour")||plural(t,r,"minute")||plural(t,i,"second")||t+" ms"}(t):function fmtShort(t){return t>=a?Math.round(t/a)+"d":t>=o?Math.round(t/o)+"h":t>=r?Math.round(t/r)+"m":t>=i?Math.round(t/i)+"s":t+"ms"}(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))},h.instances=[],h.names=[],h.skips=[],h.formatters={};const l=h;function load(){var t;try{t=l.storage.debug}catch(t){}return!t&&"undefined"!=typeof process&&"env"in process&&(t=process.env.DEBUG),t}l.log=function log(){return"object"==typeof console&&console.log&&Function.prototype.apply.call(console.log,console,arguments)},l.formatArgs=function formatArgs(t){var e=this.useColors;if(t[0]=(e?"%c":"")+this.namespace+(e?" %c":" ")+t[0]+(e?"%c ":" ")+"+"+l.humanize(this.diff),e){var n="color: "+this.color;t.splice(1,0,n,"color: inherit");var i=0,r=0;t[0].replace(/%[a-zA-Z%]/g,(function(t){"%%"!==t&&(i++,"%c"===t&&(r=i))})),t.splice(r,0,n)}},l.save=function save(t){try{null==t?l.storage.removeItem("debug"):l.storage.debug=t}catch(t){}},l.load=load,l.useColors=function useColors(){return!("undefined"==typeof window||!window.process||"renderer"!==window.process.type)||("undefined"==typeof navigator||!navigator.userAgent||!navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&("undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},l.storage="undefined"!=typeof chrome&&void 0!==chrome.storage?chrome.storage.local:function localstorage(){try{return window.localStorage}catch(t){}} +/*! + * Stylus - Visitor + * Copyright (c) Automattic + * MIT Licensed + */(),l.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],l.formatters.j=function(t){try{return JSON.stringify(t)}catch(t){return"[UnexpectedJSONParseError]: "+t.message}},l.enable(load());var c=function Visitor(t){this.root=t};c.prototype.visit=function(t,e){var n="visit"+t.constructor.name;return this[n]?this[n](t):t}; +/*! + * Stylus - units + * Copyright (c) Automattic + * MIT Licensed + */ +var u=["em","ex","ch","rem","vw","vh","vmin","vmax","cm","mm","in","pt","pc","px","deg","grad","rad","turn","s","ms","Hz","kHz","dpi","dpcm","dppx","x","%","fr"],f=function Stack(){Array.apply(this,arguments)}; +/*! + * Stylus - Stack + * Copyright (c) Automattic + * MIT Licensed + */f.prototype.__proto__=Array.prototype,f.prototype.push=function(t){return t.stack=this,t.parent=this.currentFrame,[].push.apply(this,arguments)},f.prototype.__defineGetter__("currentFrame",(function(){return this[this.length-1]})),f.prototype.getBlockFrame=function(t){for(var e=0;e + * MIT Licensed + */ +var d=function Scope(){this.locals={}};d.prototype.add=function(t){this.locals[t.name]=t.val},d.prototype.lookup=function(t){return function hasOwnProperty(t,e){return Object.prototype.hasOwnProperty.call(t,e)}(this.locals,t)?this.locals[t]:void 0},d.prototype.inspect=function(){var t=Object.keys(this.locals).map((function(t){return"@"+t}));return"[Scope"+(t.length?" "+t.join(", "):"")+"]"};var m=function Frame(t){this._scope=!1===t.scope?null:new d,this.block=t};m.prototype.__defineGetter__("scope",(function(){return this._scope||this.parent.scope})),m.prototype.lookup=function(t){return this.scope.lookup(t)},m.prototype.inspect=function(){return"[Frame "+(!1===this.block.scope?"scope-less":this.scope.inspect())+"]"};const _export_sync_=t=>"functions/index.styl"===t?[t]:[];function notImplemented(){throw new Error("Not implemented")}const _export_statSync_=t=>"functions/index.styl"===t?{mtime:0}:notImplemented(),_export_readFileSync_=t=>"functions/index.styl"===t?"called-from = ()\n\nvendors = moz webkit o ms official\n\n// stringify the given arg\n\n-string(arg)\n type(arg) + ' ' + arg\n\n// require a color\n\nrequire-color(color)\n unless color is a 'color'\n error('RGB or HSL value expected, got a ' + -string(color))\n\n// require a unit\n\nrequire-unit(n)\n unless n is a 'unit'\n error('unit expected, got a ' + -string(n))\n\n// require a string\n\nrequire-string(str)\n unless str is a 'string' or str is a 'ident'\n error('string expected, got a ' + -string(str))\n\n// Math functions\n\nabs(n) { math(n, 'abs') }\nmin(a, b) { a < b ? a : b }\nmax(a, b) { a > b ? a : b }\n\n// Trigonometrics\nPI = -math-prop('PI')\n\nradians-to-degrees(angle)\n angle * (180 / PI)\n\ndegrees-to-radians(angle)\n angle * (PI / 180)\n\nsin(n)\n n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n round(math(n, 'sin'), 9)\n\ncos(n)\n n = unit(n) == 'deg' ? degrees-to-radians(unit(n, '')) : unit(n, '')\n round(math(n, 'cos'), 9)\n\n// Rounding Math functions\n\nceil(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'ceil') / multiplier\n\nfloor(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'floor') / multiplier\n\nround(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'round') / multiplier\n\n// return the sum of the given numbers\n\nsum(nums)\n sum = 0\n sum += n for n in nums\n\n// return the average of the given numbers\n\navg(nums)\n sum(nums) / length(nums)\n\n// return a unitless number, or pass through\n\nremove-unit(n)\n if typeof(n) is \"unit\"\n unit(n, \"\")\n else\n n\n\n// convert a percent to a decimal, or pass through\n\npercent-to-decimal(n)\n if unit(n) is \"%\"\n remove-unit(n) / 100\n else\n n\n\n// check if n is an odd number\n\nodd(n)\n 1 == n % 2\n\n// check if n is an even number\n\neven(n)\n 0 == n % 2\n\n// check if color is light\n\nlight(color)\n lightness(color) >= 50%\n\n// check if color is dark\n\ndark(color)\n lightness(color) < 50%\n\n// desaturate color by amount\n\ndesaturate(color, amount)\n adjust(color, 'saturation', - amount)\n\n// saturate color by amount\n\nsaturate(color = '', amount = 100%)\n if color is a 'color'\n adjust(color, 'saturation', amount)\n else\n unquote( \"saturate(\" + color + \")\" )\n\n// darken by the given amount\n\ndarken(color, amount)\n adjust(color, 'lightness', - amount)\n\n// lighten by the given amount\n\nlighten(color, amount)\n adjust(color, 'lightness', amount)\n\n// decrease opacity by amount\n\nfade-out(color, amount)\n color - rgba(black, percent-to-decimal(amount))\n\n// increase opacity by amount\n\nfade-in(color, amount)\n color + rgba(black, percent-to-decimal(amount))\n\n// spin hue by a given amount\n\nspin(color, amount)\n color + unit(amount, deg)\n\n// mix two colors by a given amount\n\nmix(color1, color2, weight = 50%)\n unless weight in 0..100\n error(\"Weight must be between 0% and 100%\")\n\n if length(color1) == 2\n weight = color1[0]\n color1 = color1[1]\n\n else if length(color2) == 2\n weight = 100 - color2[0]\n color2 = color2[1]\n\n require-color(color1)\n require-color(color2)\n\n p = unit(weight / 100, '')\n w = p * 2 - 1\n\n a = alpha(color1) - alpha(color2)\n\n w1 = (((w * a == -1) ? w : (w + a) / (1 + w * a)) + 1) / 2\n w2 = 1 - w1\n\n channels = (red(color1) red(color2)) (green(color1) green(color2)) (blue(color1) blue(color2))\n rgb = ()\n\n for pair in channels\n push(rgb, floor(pair[0] * w1 + pair[1] * w2))\n\n a1 = alpha(color1) * p\n a2 = alpha(color2) * (1 - p)\n alpha = a1 + a2\n\n rgba(rgb[0], rgb[1], rgb[2], alpha)\n\n// invert colors, leave alpha intact\n\ninvert(color = '')\n if color is a 'color'\n rgba(#fff - color, alpha(color))\n else\n unquote( \"invert(\" + color + \")\" )\n\n// give complement of the given color\n\ncomplement( color )\n spin( color, 180 )\n\n// give grayscale of the given color\n\ngrayscale( color = '' )\n if color is a 'color'\n desaturate( color, 100% )\n else\n unquote( \"grayscale(\" + color + \")\" )\n\n// mix the given color with white\n\ntint( color, percent )\n mix( white, color, percent )\n\n// mix the given color with black\n\nshade( color, percent )\n mix( black, color, percent )\n\n// return the last value in the given expr\n\nlast(expr)\n expr[length(expr) - 1]\n\n// return keys in the given pairs or object\n\nkeys(pairs)\n ret = ()\n if type(pairs) == 'object'\n for key in pairs\n push(ret, key)\n else\n for pair in pairs\n push(ret, pair[0]);\n ret\n\n// return values in the given pairs or object\n\nvalues(pairs)\n ret = ()\n if type(pairs) == 'object'\n for key, val in pairs\n push(ret, val)\n else\n for pair in pairs\n push(ret, pair[1]);\n ret\n\n// join values with the given delimiter\n\njoin(delim, vals...)\n buf = ''\n vals = vals[0] if length(vals) == 1\n for val, i in vals\n buf += i ? delim + val : val\n\n// add a CSS rule to the containing block\n\n// - This definition allows add-property to be used as a mixin\n// - It has the same effect as interpolation but allows users\n// to opt for a functional style\n\nadd-property-function = add-property\nadd-property(name, expr)\n if mixin\n {name} expr\n else\n add-property-function(name, expr)\n\nprefix-classes(prefix)\n -prefix-classes(prefix, block)\n\n// Caching mixin, use inside your functions to enable caching by extending.\n\n$stylus_mixin_cache = {}\ncache()\n $key = (current-media() or 'no-media') + '__' + called-from[0] + '__' + arguments\n if $key in $stylus_mixin_cache\n @extend {\"$cache_placeholder_for_\" + $stylus_mixin_cache[$key]}\n else if 'cache' in called-from\n {block}\n else\n $id = length($stylus_mixin_cache)\n\n &,\n /$cache_placeholder_for_{$id}\n $stylus_mixin_cache[$key] = $id\n {block}\n\n// Percentage function to convert a number, e.g. \".45\", into a percentage, e.g. \"45%\"\n\npercentage(num)\n return unit(num * 100, '%')\n\n// Returns the position of a `value` within a `list`\n\nindex(list, value)\n for val, i in list\n return i if val == value\n":notImplemented(); +/*! + * Stylus - Selector Parser + * Copyright (c) Automattic + * MIT Licensed + */ +var v=[">","+","~"],y=function SelectorParser(t,e,n){this.str=t,this.stack=e||[],this.parts=n||[],this.pos=0,this.level=2,this.nested=!0,this.ignore=!1};y.prototype.skip=function(t){this.str=this.str.substr(t),this.pos+=t},y.prototype.skipSpaces=function(){for(;" "==this.str[0];)this.skip(1)},y.prototype.advance=function(){return this.root()||this.relative()||this.initial()||this.escaped()||this.parent()||this.partial()||this.char()},y.prototype.root=function(){this.pos||"/"!=this.str[0]||"deep"==this.str.slice(1,5)||(this.nested=!1,this.skip(1))},y.prototype.relative=function(t){if((!this.pos||t)&&"../"==this.str.slice(0,3)){for(this.nested=!1,this.skip(3);this.relative(!0);)this.level++;if(!this.raw){var e=this.stack[this.stack.length-this.level];if(e)return e;this.ignore=!0}}},y.prototype.initial=function(){if(!this.pos&&"~"==this.str[0]&&"/"==this.str[1])return this.nested=!1,this.skip(2),this.stack[0]},y.prototype.escaped=function(){if("\\"==this.str[0]){var t=this.str[1];if("&"==t||"^"==t)return this.skip(2),t}},y.prototype.parent=function(){if("&"==this.str[0]){if(this.nested=!1,!this.pos&&(!this.stack.length||this.raw)){for(var t=0;" "==this.str[++t];);if(~v.indexOf(this.str[t]))return void this.skip(t+1)}if(this.skip(1),!this.raw)return this.stack[this.stack.length-1]}},y.prototype.partial=function(){if("^"==this.str[0]&&"["==this.str[1]){this.skip(2),this.skipSpaces();var t=this.range();if(this.skipSpaces(),"]"!=this.str[0])return"^[";if(this.nested=!1,this.skip(1),t)return t;this.ignore=!0}},y.prototype.number=function(){var t=0,e="";for("-"==this.str[t]&&(e+=this.str[t++]);this.str.charCodeAt(t)>=48&&this.str.charCodeAt(t)<=57;)e+=this.str[t++];if(e)return this.skip(t),Number(e)},y.prototype.range=function(){var t,e=this.number();if(".."==this.str.slice(0,2)){this.skip(2);var n=this.number(),i=this.parts.length;if(e<0&&(e=i+e-1),n<0&&(n=i+n-1),e>n){var r=e;e=n,n=r}n0?(100-i[e])*r/100:i[e]*(r/100)),i[e]+=r,i.rgba}function rgba(t,e,n,i){switch(arguments.length){case 1:return _export_assertColor_(t),t.rgba;case 2:_export_assertColor_(t);var r=t.rgba;return _export_assertType_(e,"unit","alpha"),"%"==(i=e.clone()).type&&(i.val/=100),new Dt.RGBA(r.r,r.g,r.b,i.val);default:_export_assertType_(t,"unit","red"),_export_assertType_(e,"unit","green"),_export_assertType_(n,"unit","blue"),_export_assertType_(i,"unit","alpha");var o="%"==t.type?Math.round(2.55*t.val):t.val,a="%"==e.type?Math.round(2.55*e.val):e.val,h="%"==n.type?Math.round(2.55*n.val):n.val;return(i=i.clone())&&"%"==i.type&&(i.val/=100),new Dt.RGBA(o,a,h,i.val)}}function alpha(t,e){return t=t.rgba,e?rgba(new Dt.Unit(t.r),new Dt.Unit(t.g),new Dt.Unit(t.b),e):new Dt.Unit(t.a,"")}function basename$1(e,n){return _export_assertString_(e,"path"),t.basename(e.val,n&&n.val)}function blend(t,e){return _export_assertColor_(t),t=t.rgba,e=e||new Dt.RGBA(255,255,255,1),_export_assertColor_(e),e=e.rgba,new Dt.RGBA(t.r*t.a+e.r*(1-t.a),t.g*t.a+e.g*(1-t.a),t.b*t.a+e.b*(1-t.a),t.a+e.a-t.a*e.a)}function blue(t,e){return t=t.rgba,e?rgba(new Dt.Unit(t.r),new Dt.Unit(t.g),e,new Dt.Unit(t.a)):new Dt.Unit(t.b,"")}(x=function addProperty(t,e){_export_assertType_(t,"expression","name"),t=_export_unwrap_(t).first,_export_assertString_(t,"name"),_export_assertType_(e,"expression","expr");var n=new Dt.Property([t],e),i=this.closestBlock,r=i.nodes.length,o=i.nodes.slice(0,i.index),a=i.nodes.slice(i.index++,r);return o.push(n),i.nodes=o.concat(a),n}).raw=!0,adjust.params=["color","prop","amount"],rgba.params=["red","green","blue","alpha"],alpha.params=["color","value"],(_=function(t,e,n){_export_assertPresent_(t,"number"),_export_assertPresent_(e,"base"),t=_export_unwrap_(t).nodes[0].val,e=_export_unwrap_(e).nodes[0].val,n=n&&_export_unwrap_(n).nodes[0].val||2;for(var i=Number(t).toString(e);i.length(t/=255)?t/12.92:Math.pow((t+.055)/1.055,2.4)}return _export_assertColor_(t),t=t.rgba,new Dt.Unit(.2126*processChannel(t.r)+.7152*processChannel(t.g)+.0722*processChannel(t.b))}function contrast(t,e){if("rgba"!=t.nodeName&&"hsla"!=t.nodeName)return new Dt.Literal("contrast("+(t.isNull?"":t.toString())+")");var n=new Dt.Object;function contrast(t,e){1>t.a&&(t=blend(t,e));var n=luminosity(e).val+.05,i=luminosity(t).val+.05,r=n/i;return i>n&&(r=1/r),Math.round(10*r)/10}if(t=t.rgba,e=e||new Dt.RGBA(255,255,255,1),_export_assertColor_(e),1<=(e=e.rgba).a){var i=new Dt.Unit(contrast(t,e));n.set("ratio",i),n.set("error",new Dt.Unit(0)),n.set("min",i),n.set("max",i)}else{var r=contrast(t,blend(e,new Dt.RGBA(0,0,0,1))),o=contrast(t,blend(e,new Dt.RGBA(255,255,255,1))),a=Math.max(r,o);function processChannel(t,n){return Math.min(Math.max(0,(t-n*e.a)/(1-e.a)),255)}var h=new Dt.RGBA(processChannel(t.r,e.r),processChannel(t.g,e.g),processChannel(t.b,e.b),1),l=contrast(t,blend(e,h));n.set("ratio",new Dt.Unit(Math.round(50*(l+a))/100)),n.set("error",new Dt.Unit(Math.round(50*(a-l))/100)),n.set("min",new Dt.Unit(l)),n.set("max",new Dt.Unit(a))}return n}function convert(t){return _export_assertString_(t,"str"),_export_parseString_(t.string)}function define(t,e,n){_export_assertType_(t,"string","name"),e=_export_unwrap_(e);var i=this.currentScope;n&&n.toBoolean().isTrue&&(i=this.global.scope);var r=new Dt.Ident(t.val,e);return i.add(r),Dt.null}function dirname(e){return _export_assertString_(e,"path"),t.dirname(e.val).replace(/\\/g,"/")}function error(t){_export_assertType_(t,"string","msg");var e=new Error(t.val);throw e.fromStylus=!0,e}function extname(e){return _export_assertString_(e,"path"),t.extname(e.val)}function green(t,e){return t=t.rgba,e?rgba(new Dt.Unit(t.r),e,new Dt.Unit(t.b),new Dt.Unit(t.a)):new Dt.Unit(t.g,"")}function hsla(t,e,n,i){switch(arguments.length){case 1:return _export_assertColor_(t),t.hsla;case 2:_export_assertColor_(t);var r=t.hsla;return _export_assertType_(e,"unit","alpha"),"%"==(i=e.clone()).type&&(i.val/=100),new Dt.HSLA(r.h,r.s,r.l,i.val);default:return _export_assertType_(t,"unit","hue"),_export_assertType_(e,"unit","saturation"),_export_assertType_(n,"unit","lightness"),_export_assertType_(i,"unit","alpha"),(i=i.clone())&&"%"==i.type&&(i.val/=100),new Dt.HSLA(t.val,e.val,n.val,i.val)}}function hsl(t,e,n){return 1==arguments.length?(_export_assertColor_(t,"color"),t.hsla):hsla(t,e,n,new Dt.Unit(1))}function hue(t,e){if(e){var n=t.hsla;return hsla(e,new Dt.Unit(n.s),new Dt.Unit(n.l),new Dt.Unit(n.a))}return component(t,new Dt.String("hue"))}component.params=["color","name"],luminosity.params=["color"],contrast.params=["top","bottom"],convert.params=["str"],define.params=["name","expr","global"],dirname.params=["p"],error.params=["msg"],extname.params=["p"],green.params=["color","value"],hsla.params=["hue","saturation","lightness","alpha"],hsl.params=["hue","saturation","lightness"],hue.params=["color","value"];const noop=()=>noop;function json(t,e,n){_export_assertString_(t,"path"),t=t.string;var i=_export_lookup_(t,this.options.paths,this.options.filename),r=e&&"object"==e.nodeName&&e;if(!i){if(r&&r.get("optional").toBoolean().isTrue)return Dt.null;throw new Error("failed to locate .json file "+t)}var o=JSON.parse(_export_readFileSync_(i));if(r)return function convert(t,e){var n=new Dt.Object,i=e.get("leave-strings").toBoolean();for(var r in t){var o=t[r];"object"==typeof o?n.set(r,convert(o,e)):("string"==(o=_export_coerce_(o)).nodeName&&i.isFalse&&(o=_export_parseString_(o.string)),n.set(r,o))}return n}(o,r);oldJson.call(this,o,e,n)}function oldJson(t,e,n){n?(_export_assertString_(n,"namePrefix"),n=n.val):n="";var i=(e=e?e.toBoolean():new Dt.Boolean(e)).isTrue?this.currentScope:this.global.scope;!function convert(t,e){for(var r in e=e?e+"-":"",t){var o=t[r],a=e+r;"object"==typeof o?convert(o,a):("string"==(o=_export_coerce_(o)).nodeName&&(o=_export_parseString_(o.string)),i.add({name:n+a,val:o}))}}(t)}let A,F,O,L,B,j,P,I;function lightness(t,e){if(e){var n=t.hsla;return hsla(new Dt.Unit(n.h),new Dt.Unit(n.s),e,new Dt.Unit(n.a))}return component(t,new Dt.String("lightness"))}function lookup(t){_export_assertType_(t,"string","name");var e=this.lookup(t.val);return e?this.visit(e):Dt.null}function match(t,e,n){_export_assertType_(t,"string","pattern"),_export_assertString_(e,"val");var i=new RegExp(t.val,function validateFlags(t){return!!(t=t&&t.string)&&t.split("").every((function(t){return~"igm".indexOf(t)}))}(n)?n.string:"");return e.string.match(i)}function math(t,e){return _export_assertType_(t,"unit","n"),_export_assertString_(e,"fn"),new Dt.Unit(Math[e.string](t.val),t.type)}function operate(t,e,n){return _export_assertType_(t,"string","op"),_export_assertPresent_(e,"left"),_export_assertPresent_(n,"right"),e.operate(t.val,n)}function range(t,e,n){if(_export_assertType_(t,"unit","start"),_export_assertType_(e,"unit","stop"),n){if(_export_assertType_(n,"unit","step"),0==n.val)throw new Error('ArgumentError: "step" argument must not be zero')}else n=new Dt.Unit(1);for(var i=new Dt.Expression,r=t.val;r<=e.val;r+=n.val)i.push(new Dt.Unit(r,t.type));return i}function red(t,e){return t=t.rgba,e?rgba(e,new Dt.Unit(t.g),new Dt.Unit(t.b),new Dt.Unit(t.a)):new Dt.Unit(t.r,"")}function remove(t,e){return _export_assertType_(t,"object","object"),_export_assertString_(e,"key"),delete t.vals[e.string],t}function replace(t,e,n){_export_assertString_(t,"pattern"),_export_assertString_(e,"replacement"),_export_assertString_(n,"val"),t=new RegExp(t.string,"g");var i=n.string.replace(t,e.string);return n instanceof Dt.Ident?new Dt.Ident(i):new Dt.String(i)}function rgb(t,e,n){switch(arguments.length){case 1:_export_assertColor_(t);var i=t.rgba;return new Dt.RGBA(i.r,i.g,i.b,1);default:return rgba(t,e,n,new Dt.Unit(1))}}json.params=["path","local","namePrefix"],(A=function length(t){if(t){if(t.nodes){var e=_export_unwrap_(t).nodes;return 1==e.length&&"object"==e[0].nodeName?e[0].length:1==e.length&&"string"==e[0].nodeName?e[0].val.length:e.length}return 1}return 0}).raw=!0,lightness.params=["color","value"],(F=function listSeparator(t){return t=_export_unwrap_(t),new Dt.String(t.isList?",":" ")}).raw=!0,lookup.params=["name"],match.params=["pattern","val","flags"],math.params=["n","fn"],(O=function merge(t){_export_assertPresent_(t,"dest"),t=_export_unwrap_(t).first,_export_assertType_(t,"object","dest");for(var e=_export_unwrap_(arguments[arguments.length-1]).first,n=!0===e.val,i=1,r=arguments.length-n;i=0;--o)if("property"===t.nodes[o].nodeName){i=o;break}n&&(this.buf+=this.out(this.compress?"{":" {\n"),++this.indents),o=0;for(var a=t.nodes.length;o-1)return n.toString().replace("0.",".")+e}return(i?parseFloat(n.toFixed(15)):n).toString()+e},G.prototype.visitGroup=function(t){var e=this.keyframe?[]:this.stack,n=this.compress?",":",\n";if(e.push(t.nodes),t.block.hasProperties){var i=_export_compileSelectors_.call(this,e),r=i.length;if(r){this.keyframe&&(n=this.compress?",":", ");for(var o=0;o0&&!~r.indexOf("&")&&(r="/"+r),(o=new Dt.Selector([new Dt.Literal(r)])).val=r,o.block=t.block,t.nodes[i++]=o}})),n.push(t.nodes);var r=_export_compileSelectors_(n,!0);return r.forEach((function(e){i[e]=i[e]||[],i[e].push(t)})),this.extend(t,r),n.pop(),t},q.prototype.visitFunction=function(){return Dt.null},q.prototype.visitMedia=function(t){var e,n=[],i=this.closestGroup(t.block);return function mergeQueries(e){e.nodes.forEach((function(i,r){switch(i.nodeName){case"media":i.val=t.val.merge(i.val),n.push(i),e.nodes[r]=Dt.null;break;case"block":mergeQueries(i);break;default:i.block&&i.block.nodes&&mergeQueries(i.block)}}))}(t.block),this.bubble(t),n.length&&n.forEach((function(t){i?i.block.push(t):this.root.nodes.splice(++this.rootIndex,0,t),t=this.visit(t),e=t.block.parent,!t.bubbled||i&&"group"!=e.node.nodeName||(t.group.block=t.block.nodes[0].block,t.block.nodes[0]=t.group)}),this),t},q.prototype.visitSupports=function(t){return this.bubble(t),t},q.prototype.visitAtrule=function(t){return t.block&&(t.block=this.visit(t.block)),t},q.prototype.visitKeyframes=function(t){var e=t.block.nodes.filter((function(t){return t.block&&t.block.hasProperties}));return t.frames=e.length,t},q.prototype.visitImport=function(t){return this.imports.push(t),this.hoist?Dt.null:t},q.prototype.visitCharset=function(t){return this.charset=t,this.hoist?Dt.null:t},q.prototype.extend=function(t,e){var n=this.map,i=this,r=this.closestGroup(t.block);t.extends.forEach((function(t){var o=n[t.selector];if(!o){if(t.optional)return;if(!(o=i._checkForPrefixedGroups(t.selector))){var a=new Error('Failed to @extend "'+t.selector+'"');throw a.lineno=t.lineno,a.column=t.column,a}}e.forEach((function(t){var n=new Dt.Selector;n.val=t,n.inherits=!1,o.forEach((function(t){r&&r==t||i.extend(t,e),t.push(n)}))}))})),t.block=this.visit(t.block)},q.prototype._checkForPrefixedGroups=function(t){for(var e=[],n=this.map,i=null,r=0;r1&&(n.isList?pushToStack(n.nodes,t):t.push(parse$1(n.nodes.map((function(t){return _export_assertString_(t,"selector"),t.string})).join(" "))))}else e.length>1&&pushToStack(e,t);return t.length?_export_compileSelectors_(t).join(","):"&"}).raw=!0,(J=function(t){return(t=_export_unwrap_(t)).nodes.shift()}).raw=!0,split.params=["delim","val"],substr.params=["val","start","length"],($=function slice(t,e,n){if(e=e&&e.nodes[0].val,n=n&&n.nodes[0].val,(t=_export_unwrap_(t).nodes).length>1)return _export_coerce_(t.slice(e,n),!0);var i=t[0].string.slice(e,n);return t[0]instanceof Dt.Ident?new Dt.Ident(i):new Dt.String(i)}).raw=!0,tan.params=["angle"],transparentify.params=["top","bottom","alpha"],type.params=["node"],unit.params=["unit","type"],unquote.params=["string"],(z=function(t){t=_export_unwrap_(t);for(var e=1,n=arguments.length;e1)e.push(new Dt.String(r.map((function(t){return((i=new y(t.val).parse().nested)&&n?"& ":"")+t.val})).join(",")));else{var o=r[0].val;i=new y(o).parse().nested,e.push(new Dt.String((i&&n?"& ":"")+o))}}else e.push(new Dt.String("&"));return e},H.shift=J,H.split=split,H.substr=substr,H.slice=$,H.tan=tan,H.trace=function trace(){return console.log(this.stack),Dt.null},H.transparentify=transparentify,H.type=H.typeof=H["type-of"]=type,H.unit=unit,H.unquote=unquote,H.unshift=H.prepend=z,H.use=use,H.warn=warn,H["-math-prop"]=math$1,H["-prefix-classes"]=prefixClasses; +/*! + * Stylus - colors + * Copyright (c) Automattic + * MIT Licensed + */ +var D={aliceblue:[240,248,255,1],antiquewhite:[250,235,215,1],aqua:[0,255,255,1],aquamarine:[127,255,212,1],azure:[240,255,255,1],beige:[245,245,220,1],bisque:[255,228,196,1],black:[0,0,0,1],blanchedalmond:[255,235,205,1],blue:[0,0,255,1],blueviolet:[138,43,226,1],brown:[165,42,42,1],burlywood:[222,184,135,1],cadetblue:[95,158,160,1],chartreuse:[127,255,0,1],chocolate:[210,105,30,1],coral:[255,127,80,1],cornflowerblue:[100,149,237,1],cornsilk:[255,248,220,1],crimson:[220,20,60,1],cyan:[0,255,255,1],darkblue:[0,0,139,1],darkcyan:[0,139,139,1],darkgoldenrod:[184,134,11,1],darkgray:[169,169,169,1],darkgreen:[0,100,0,1],darkgrey:[169,169,169,1],darkkhaki:[189,183,107,1],darkmagenta:[139,0,139,1],darkolivegreen:[85,107,47,1],darkorange:[255,140,0,1],darkorchid:[153,50,204,1],darkred:[139,0,0,1],darksalmon:[233,150,122,1],darkseagreen:[143,188,143,1],darkslateblue:[72,61,139,1],darkslategray:[47,79,79,1],darkslategrey:[47,79,79,1],darkturquoise:[0,206,209,1],darkviolet:[148,0,211,1],deeppink:[255,20,147,1],deepskyblue:[0,191,255,1],dimgray:[105,105,105,1],dimgrey:[105,105,105,1],dodgerblue:[30,144,255,1],firebrick:[178,34,34,1],floralwhite:[255,250,240,1],forestgreen:[34,139,34,1],fuchsia:[255,0,255,1],gainsboro:[220,220,220,1],ghostwhite:[248,248,255,1],gold:[255,215,0,1],goldenrod:[218,165,32,1],gray:[128,128,128,1],green:[0,128,0,1],greenyellow:[173,255,47,1],grey:[128,128,128,1],honeydew:[240,255,240,1],hotpink:[255,105,180,1],indianred:[205,92,92,1],indigo:[75,0,130,1],ivory:[255,255,240,1],khaki:[240,230,140,1],lavender:[230,230,250,1],lavenderblush:[255,240,245,1],lawngreen:[124,252,0,1],lemonchiffon:[255,250,205,1],lightblue:[173,216,230,1],lightcoral:[240,128,128,1],lightcyan:[224,255,255,1],lightgoldenrodyellow:[250,250,210,1],lightgray:[211,211,211,1],lightgreen:[144,238,144,1],lightgrey:[211,211,211,1],lightpink:[255,182,193,1],lightsalmon:[255,160,122,1],lightseagreen:[32,178,170,1],lightskyblue:[135,206,250,1],lightslategray:[119,136,153,1],lightslategrey:[119,136,153,1],lightsteelblue:[176,196,222,1],lightyellow:[255,255,224,1],lime:[0,255,0,1],limegreen:[50,205,50,1],linen:[250,240,230,1],magenta:[255,0,255,1],maroon:[128,0,0,1],mediumaquamarine:[102,205,170,1],mediumblue:[0,0,205,1],mediumorchid:[186,85,211,1],mediumpurple:[147,112,219,1],mediumseagreen:[60,179,113,1],mediumslateblue:[123,104,238,1],mediumspringgreen:[0,250,154,1],mediumturquoise:[72,209,204,1],mediumvioletred:[199,21,133,1],midnightblue:[25,25,112,1],mintcream:[245,255,250,1],mistyrose:[255,228,225,1],moccasin:[255,228,181,1],navajowhite:[255,222,173,1],navy:[0,0,128,1],oldlace:[253,245,230,1],olive:[128,128,0,1],olivedrab:[107,142,35,1],orange:[255,165,0,1],orangered:[255,69,0,1],orchid:[218,112,214,1],palegoldenrod:[238,232,170,1],palegreen:[152,251,152,1],paleturquoise:[175,238,238,1],palevioletred:[219,112,147,1],papayawhip:[255,239,213,1],peachpuff:[255,218,185,1],peru:[205,133,63,1],pink:[255,192,203,1],plum:[221,160,221,1],powderblue:[176,224,230,1],purple:[128,0,128,1],red:[255,0,0,1],rosybrown:[188,143,143,1],royalblue:[65,105,225,1],saddlebrown:[139,69,19,1],salmon:[250,128,114,1],sandybrown:[244,164,96,1],seagreen:[46,139,87,1],seashell:[255,245,238,1],sienna:[160,82,45,1],silver:[192,192,192,1],skyblue:[135,206,235,1],slateblue:[106,90,205,1],slategray:[112,128,144,1],slategrey:[112,128,144,1],snow:[255,250,250,1],springgreen:[0,255,127,1],steelblue:[70,130,180,1],tan:[210,180,140,1],teal:[0,128,128,1],thistle:[216,191,216,1],tomato:[255,99,71,1],transparent:[0,0,0,0],turquoise:[64,224,208,1],violet:[238,130,238,1],wheat:[245,222,179,1],white:[255,255,255,1],whitesmoke:[245,245,245,1],yellow:[255,255,0,1],yellowgreen:[154,205,50,1],rebeccapurple:[102,51,153,1]},Q=t.extname,W={".gif":"image/gif",".png":"image/png",".jpg":"image/jpeg",".jpeg":"image/jpeg",".svg":"image/svg+xml",".webp":"image/webp",".ttf":"application/x-font-ttf",".eot":"application/vnd.ms-fontobject",".woff":"application/font-woff",".woff2":"application/font-woff2"};const _module_exports_$k=function(t){var e=(t=t||{}).paths||[],n=null!=t.limit?t.limit:3e4,i=t.mimes||W;function fn(t,r){var o=new G(t),a="base64";o.isURL=!0,t=function parse$2(t){return new URL(t)}(t=t.nodes.map((function(t){return o.visit(t)})).join(""));var h,l,c=Q(t.pathname),u=i[c],f=t.hash||"",d=new Dt.Literal('url("'+t.href+'")'),m=e.concat(this.paths);if(!u)return d;if(t.protocol)return d;var v=_export_lookup_(t.pathname,m);return v?(h=_export_readFileSync_(v),!1!==n&&h.length>n?d:(r&&"utf8"==r.first.val.toLowerCase()?(a="charset=utf-8",l=h.toString().replace(/\s+/g," ").replace(/[{}\|\\\^~\[\]`"<>#%]/g,(function(t){return"%"+t[0].charCodeAt(0).toString(16).toUpperCase()})).trim()):l=h.toString(a)+f,new Dt.Literal('url("data:'+u+";"+a+","+l+'")'))):(he.emit("file not found","File "+d+" could not be found, literal url retained!"),d)}return fn.raw=!0,fn};_module_exports_$k.mimes=W;var K=t.dirname,Z=l("stylus:evaluator");function importFile(t,e,n){var i,r=this.importStack,o=te;if(t.once){if(this.requireHistory[e])return Dt.null;if(this.requireHistory[e]=!0,n&&!this.includeCSS)return t}if(~r.indexOf(e))throw new Error("import loop has been found");var a=_export_readFileSync_(e);if(!a.trim())return Dt.null;if(t.path=e,t.dirname=K(e),i=_export_statSync_(e),t.mtime=i.mtime,this.paths.push(t.dirname),this.options._imports&&this.options._imports.push(t.clone()),r.push(e),Dt.filename=e,n&&((n=new Dt.Literal(a.replace(/\r\n?/g,"\n"))).lineno=n.column=1,!this.resolveURL))return n;var h=new Dt.Block,l=new o(a,_export_merge_({root:h},this.options));try{h=l.parse()}catch(t){var c=l.lexer.lineno,u=l.lexer.column;if(n&&this.includeCSS&&this.resolveURL)return this.warn("ParseError: "+e+":"+c+":"+u+". This file included as-is"),n;throw t.filename=e,t.lineno=c,t.column=u,t.input=a,t}(h=h.clone(this.currentBlock)).parent=this.currentBlock,h.scope=!1;var f=this.visit(h);return r.pop(),this.resolveURL&&!this.resolveURL.nocheck||this.paths.pop(),f}var V=function Evaluator(t,e){e=e||{},c.call(this,t);var n=this.functions=e.functions||{};this.stack=new f,this.imports=e.imports||[],this.globals=e.globals||{},this.paths=e.paths||[],this.prefix=e.prefix||"",this.filename=e.filename,this.includeCSS=e["include css"],this.resolveURL=n.url&&"resolver"==n.url.name&&n.url.options,this.paths.push(K(e.filename||".")),this.stack.push(this.global=new m(t)),this.warnings=e.warn,this.options=e,this.calling=[],this.importStack=[],this.requireHistory={},this.return=0};V.prototype.__proto__=c.prototype;var Y=c.prototype.visit;function CoercionError(t){this.name="CoercionError",this.message=t,Error.captureStackTrace&&Error.captureStackTrace(this,CoercionError)}V.prototype.visit=function(t){try{return Y.call(this,t)}catch(e){if(e.filename)throw e;e.lineno=t.lineno,e.column=t.column,e.filename=t.filename,e.stylusStack=this.stack.toString();try{e.input=_export_readFileSync_(e.filename)}catch(t){}throw e}},V.prototype.setup=function(){var t=this.root,e=[];this.populateGlobalScope(),this.imports.forEach((function(t){var n=new Dt.Expression;n.push(new Dt.String(t)),e.push(new Dt.Import(n))}),this),t.nodes=e.concat(t.nodes)},V.prototype.populateGlobalScope=function(){var t=this.global.scope;Object.keys(D).forEach((function(e){var n=D[e],i=new Dt.RGBA(n[0],n[1],n[2],n[3]),r=new Dt.Ident(e,i);i.name=e,t.add(r)})),t.add(new Dt.Ident("embedurl",new Dt.Function("embedurl",_module_exports_$k({limit:!1}))));var e=this.globals;Object.keys(e).forEach((function(n){var i=e[n];i.nodeName||(i=new Dt.Literal(i)),t.add(new Dt.Ident(n,i))}))},V.prototype.evaluate=function(){return Z("eval %s",this.filename),this.setup(),this.visit(this.root)},V.prototype.visitGroup=function(t){return t.nodes=t.nodes.map((function(t){return t.val=this.interpolate(t),Z("ruleset %s",t.val),t}),this),t.block=this.visit(t.block),t},V.prototype.visitReturn=function(t){throw t.expr=this.visit(t.expr),t},V.prototype.visitMedia=function(t){return t.block=this.visit(t.block),t.val=this.visit(t.val),t},V.prototype.visitQueryList=function(t){var e,n;if(t.nodes.forEach(this.visit,this),1==t.nodes.length&&(n=t.nodes[0],e=this.lookup(n.type))){if(!(e=e.first.string))return t;var i=new te(e,this.options);t=this.visit(i.queries())}return t},V.prototype.visitQuery=function(t){return t.predicate=this.visit(t.predicate),t.type=this.visit(t.type),t.nodes.forEach(this.visit,this),t},V.prototype.visitFeature=function(t){return t.name=this.interpolate(t),t.expr&&(this.return++,t.expr=this.visit(t.expr),this.return--),t},V.prototype.visitObject=function(t){for(var e in t.vals)t.vals[e]=this.visit(t.vals[e]);return t},V.prototype.visitMember=function(t){var e=t.left,n=t.right,i=this.visit(e).first;if("object"!=i.nodeName)throw new Error(e.toString()+" has no property ."+n);return t.val&&(this.return++,i.set(n.name,this.visit(t.val)),this.return--),i.get(n.name)},V.prototype.visitKeyframes=function(t){var e;return t.fabricated?t:(t.val=this.interpolate(t).trim(),(e=this.lookup(t.val))&&(t.val=e.first.string||e.first.name),t.block=this.visit(t.block),"official"!=t.prefix?t:(this.vendors.forEach((function(e){if("ms"!=e){var n=t.clone();n.val=t.val,n.prefix=e,n.block=t.block,n.fabricated=!0,this.currentBlock.push(n)}}),this),Dt.null))},V.prototype.visitFunction=function(t){var e=this.stack.currentFrame.scope.lookup(t.name);return e&&this.warn("local "+e.nodeName+' "'+t.name+'" previously defined in this scope'),this.functions[t.name]&&this.warn('user-defined function "'+t.name+'" is already defined'),H[t.name]&&this.warn('built-in function "'+t.name+'" is already defined'),t},V.prototype.visitEach=function(t){this.return++;var e,n,i=_export_unwrap_(this.visit(t.expr)),r=i.nodes.length,o=new Dt.Ident(t.val),a=new Dt.Ident(t.key||"__index__"),h=this.currentScope,l=this.currentBlock,c=[],u=this;function visitBody(n,i){h.add(i),h.add(n),e=u.visit(t.block.clone()),c=c.concat(e.nodes)}if(this.return--,t.block.scope=!1,1==r&&"object"==i.nodes[0].nodeName)for(var f in(n=i.nodes[0]).vals)o.val=new Dt.String(f),a.val=n.get(f),visitBody(a,o);else for(var d=0;d200)throw new RangeError("Maximum stylus call stack size exceeded");"expression"==i.nodeName&&(i=i.first),this.return++;var r=this.visit(t.args);for(var o in r.map)r.map[o]=this.visit(r.map[o].clone());return this.return--,i.fn?(Z("%s is built-in",t),n=this.invokeBuiltin(i.fn,r)):"function"==i.nodeName&&(Z("%s is user-defined",t),t.block&&(t.block=this.visit(t.block)),n=this.invokeFunction(i,r,t.block)),this.calling.pop(),this.ignoreColors=!1,n},V.prototype.visitIdent=function(t){var e;if(t.property)return(e=this.lookupProperty(t.name))?this.visit(e.expr.clone()):Dt.null;if(t.val.isNull){var n=this.lookup(t.name);return n&&t.mixin&&this.mixinNode(n),n?this.visit(n):t}return this.return++,t.val=this.visit(t.val),this.return--,this.currentScope.add(t),t.val},V.prototype.visitBinOp=function(t){if("is defined"==t.op)return this.isDefined(t.left);this.return++;var e=t.op,n=this.visit(t.left),i="||"==e||"&&"==e?t.right:this.visit(t.right),r=t.val?this.visit(t.val):null;this.return--;try{return this.visit(n.operate(e,i,r))}catch(t){if("CoercionError"==t.name)switch(e){case"==":return Dt.false;case"!=":return Dt.true}throw t}},V.prototype.visitUnaryOp=function(t){var e=t.op,n=this.visit(t.expr);switch("!"!=e&&(n=n.first.clone(),_export_assertType_(n,"unit")),e){case"-":n.val=-n.val;break;case"+":n.val=+n.val;break;case"~":n.val=~n.val;break;case"!":return n.toBoolean().negate()}return n},V.prototype.visitTernary=function(t){return this.visit(t.cond).toBoolean().isTrue?this.visit(t.trueExpr):this.visit(t.falseExpr)},V.prototype.visitExpression=function(t){for(var e=0,n=t.nodes.length;e1)for(var o=0;o=":return Dt.Boolean(this.hash>=e.hash);case"<=":return Dt.Boolean(this.hash<=e.hash);case">":return Dt.Boolean(this.hash>e.hash);case"<":return Dt.Boolean(this.hash=r:--i>r);return o}return X.prototype.operate.call(this,t,e)},ct.prototype.coerce=function(t){if("unit"==t.nodeName){var e=this,n=t,i=lt[e.type],r=lt[n.type];if(i&&r&&i.label==r.label){var o=n.val*(r.val/i.val);return new Dt.Unit(o,e.type)}return new Dt.Unit(n.val,e.type)}if("string"==t.nodeName){if("%"==t.val)return new Dt.Unit(0,"%");var a=parseFloat(t.val);return isNaN(a)&&X.prototype.coerce.call(this,t),new Dt.Unit(a)}return X.prototype.coerce.call(this,t)}; +/*! + * Stylus - String + * Copyright (c) Automattic + * MIT Licensed + */ +var pt=H.s,ut=function String(t,e){X.call(this),this.val=t,this.string=t,this.prefixed=!1,this.quote="string"!=typeof e?"'":e};let ft;ut.prototype.__proto__=X.prototype,ut.prototype.toString=function(){return this.quote+this.val+this.quote},ut.prototype.clone=function(){var t=new ut(this.val,this.quote);return t.lineno=this.lineno,t.column=this.column,t.filename=this.filename,t},ut.prototype.toJSON=function(){return{__type:"String",val:this.val,quote:this.quote,lineno:this.lineno,column:this.column,filename:this.filename}},ut.prototype.toBoolean=function(){return Dt.Boolean(this.val.length)},ut.prototype.coerce=function(t){switch(t.nodeName){case"string":return t;case"expression":return new ut(t.nodes.map((function(t){return this.coerce(t).val}),this).join(" "));default:return new ut(t.toString())}},ut.prototype.operate=function(t,e){switch(t){case"%":(i=new Dt.Expression).push(this);var n="expression"==e.nodeName?_export_unwrap_(e).nodes:[e];return pt.apply(null,[i].concat(n));case"+":var i;return(i=new Dt.Expression).push(new ut(this.val+this.coerce(e).val)),i;default:return X.prototype.operate.call(this,t,e)}};var dt=ft=ft=function HSLA(t,e,n,i){X.call(this),this.h=clampDegrees(t),this.s=clampPercentage(e),this.l=clampPercentage(n),this.a=function clampAlpha(t){return Math.max(0,Math.min(t,1))}(i),this.hsla=this};function clampDegrees(t){return(t%=360)>=0?t:360+t}function clampPercentage(t){return Math.max(0,Math.min(t,100))}dt.prototype.__proto__=X.prototype,dt.prototype.toString=function(){return"hsla("+this.h+","+this.s.toFixed(0)+"%,"+this.l.toFixed(0)+"%,"+this.a+")"},dt.prototype.clone=function(t){var e=new dt(this.h,this.s,this.l,this.a);return e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e},dt.prototype.toJSON=function(){return{__type:"HSLA",h:this.h,s:this.s,l:this.l,a:this.a,lineno:this.lineno,column:this.column,filename:this.filename}},dt.prototype.__defineGetter__("rgba",(function(){return Dt.RGBA.fromHSLA(this)})),dt.prototype.__defineGetter__("hash",(function(){return this.rgba.toString()})),dt.prototype.add=function(t,e,n){return new dt(this.h+t,this.s+e,this.l+n,this.a)},dt.prototype.sub=function(t,e,n){return this.add(-t,-e,-n)},dt.prototype.operate=function(t,e){switch(t){case"==":case"!=":case"<=":case">=":case"<":case">":case"is a":case"||":case"&&":return this.rgba.operate(t,e);default:return this.rgba.operate(t,e).hsla}},ft.fromRGBA=function(t){var e,n,i=t.r/255,r=t.g/255,o=t.b/255,a=t.a,h=Math.min(i,r,o),l=Math.max(i,r,o),c=(l+h)/2,u=l-h;switch(l){case h:e=0;break;case i:e=60*(r-o)/u;break;case r:e=60*(o-i)/u+120;break;case o:e=60*(i-r)/u+240}return n=l==h?0:c<.5?u/(2*c):u/(2-2*c),new dt(e%=360,n*=100,c*=100,a)},dt.prototype.adjustLightness=function(t){return this.l=clampPercentage(this.l+this.l*(t/100)),this},dt.prototype.adjustHue=function(t){return this.h=clampDegrees(this.h+t),this};var mt=H.adjust;let vt;var yt=vt=vt=function RGBA(t,e,n,i){X.call(this),this.r=clamp(t),this.g=clamp(e),this.b=clamp(n),this.a=function clampAlpha$1(t){return Math.max(0,Math.min(t,1))}(i),this.name="",this.rgba=this};function clamp(t){return Math.max(0,Math.min(t.toFixed(0),255))}yt.prototype.__proto__=X.prototype,yt.withoutClamping=function(t,e,n,i){var r=new yt(0,0,0,0);return r.r=t,r.g=e,r.b=n,r.a=i,r},yt.prototype.clone=function(){var t=new yt(this.r,this.g,this.b,this.a);return t.raw=this.raw,t.name=this.name,t.lineno=this.lineno,t.column=this.column,t.filename=this.filename,t},yt.prototype.toJSON=function(){return{__type:"RGBA",r:this.r,g:this.g,b:this.b,a:this.a,raw:this.raw,name:this.name,lineno:this.lineno,column:this.column,filename:this.filename}},yt.prototype.toBoolean=function(){return Dt.true},yt.prototype.__defineGetter__("hsla",(function(){return ft.fromRGBA(this)})),yt.prototype.__defineGetter__("hash",(function(){return this.toString()})),yt.prototype.add=function(t,e,n,i){return new yt(this.r+t,this.g+e,this.b+n,this.a+i)},yt.prototype.sub=function(t,e,n,i){return new yt(this.r-t,this.g-e,this.b-n,1==i?this.a:this.a-i)},yt.prototype.multiply=function(t){return new yt(this.r*t,this.g*t,this.b*t,this.a)},yt.prototype.divide=function(t){return new yt(this.r/t,this.g/t,this.b/t,this.a)},yt.prototype.operate=function(t,e){switch("in"!=t&&(e=e.first),t){case"is a":if("string"==e.nodeName&&"color"==e.string)return Dt.true;break;case"+":switch(e.nodeName){case"unit":var n=e.val;switch(e.type){case"%":return mt(this,new Dt.String("lightness"),e);case"deg":return this.hsla.adjustHue(n).rgba;default:return this.add(n,n,n,0)}case"rgba":return this.add(e.r,e.g,e.b,e.a);case"hsla":return this.hsla.add(e.h,e.s,e.l)}break;case"-":switch(e.nodeName){case"unit":switch(n=e.val,e.type){case"%":return mt(this,new Dt.String("lightness"),new Dt.Unit(-n,"%"));case"deg":return this.hsla.adjustHue(-n).rgba;default:return this.sub(n,n,n,0)}case"rgba":return this.sub(e.r,e.g,e.b,e.a);case"hsla":return this.hsla.sub(e.h,e.s,e.l)}break;case"*":switch(e.nodeName){case"unit":return this.multiply(e.val)}break;case"/":switch(e.nodeName){case"unit":return this.divide(e.val)}}return X.prototype.operate.call(this,t,e)},yt.prototype.toString=function(){function pad(t){return t<16?"0"+t.toString(16):t.toString(16)}if("transparent"==this.name)return this.name;if(1==this.a){var t=pad(this.r),e=pad(this.g),n=pad(this.b);return t[0]==t[1]&&e[0]==e[1]&&n[0]==n[1]?"#"+t[0]+e[0]+n[0]:"#"+t+e+n}return"rgba("+this.r+","+this.g+","+this.b+","+ +this.a.toFixed(3)+")"},vt.fromHSLA=function(t){var e=t.h/360,n=t.s/100,i=t.l/100,r=t.a,o=i<=.5?i*(n+1):i+n-i*n,a=2*i-o,h=255*hue(e+1/3),l=255*hue(e),c=255*hue(e-1/3);function hue(t){return t<0&&++t,t>1&&--t,6*t<1?a+(o-a)*t*6:2*t<1?o:3*t<2?a+(o-a)*(2/3-t)*6:a}return new yt(h,l,c,r)};var gt=function Ident(t,e,n){X.call(this),this.name=t,this.string=t,this.val=e||Dt.null,this.mixin=!!n};gt.prototype.__defineGetter__("isEmpty",(function(){return null==this.val})),gt.prototype.__defineGetter__("hash",(function(){return this.name})),gt.prototype.__proto__=X.prototype,gt.prototype.clone=function(t){var e=new gt(this.name);return e.val=this.val.clone(t,e),e.mixin=this.mixin,e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e.property=this.property,e.rest=this.rest,e},gt.prototype.toJSON=function(){return{__type:"Ident",name:this.name,val:this.val,mixin:this.mixin,property:this.property,rest:this.rest,lineno:this.lineno,column:this.column,filename:this.filename}},gt.prototype.toString=function(){return this.name},gt.prototype.coerce=function(t){switch(t.nodeName){case"ident":case"string":case"literal":return new gt(t.string);case"unit":return new gt(t.toString());default:return X.prototype.coerce.call(this,t)}},gt.prototype.operate=function(t,e){var n=e.first;switch(t){case"-":if("unit"==n.nodeName){var i=new Dt.Expression;return(n=n.clone()).val=-n.val,i.push(this),i.push(n),i}case"+":return new Dt.Ident(this.string+this.coerce(n).string)}return X.prototype.operate.call(this,t,e)};var kt=function Group(){X.call(this),this.nodes=[],this.extends=[]};kt.prototype.__proto__=X.prototype,kt.prototype.push=function(t){this.nodes.push(t)},kt.prototype.__defineGetter__("block",(function(){return this.nodes[0].block})),kt.prototype.__defineSetter__("block",(function(t){for(var e=0,n=this.nodes.length;e + * MIT Licensed + */ +var _t=function Atrule(t){X.call(this),this.type=t};function hasOutput(t){var e=t.nodes;return!e.every((function(t){return"group"==t.nodeName&&t.hasOnlyPlaceholders}))&&e.some((function(t){switch(t.nodeName){case"property":case"literal":case"import":return!0;case"block":return hasOutput(t);default:if(t.block)return hasOutput(t.block)}}))}_t.prototype.__proto__=X.prototype,_t.prototype.__defineGetter__("hasOnlyProperties",(function(){if(!this.block)return!1;for(var t=this.block.nodes,e=0,n=t.length;e + * MIT Licensed + */ +var jt=function Namespace(t,e){X.call(this),this.val=t,this.prefix=e};jt.prototype.__proto__=X.prototype,jt.prototype.toString=function(){return"@namespace "+(this.prefix?this.prefix+" ":"")+this.val},jt.prototype.toJSON=function(){return{__type:"Namespace",val:this.val,prefix:this.prefix,lineno:this.lineno,column:this.column,filename:this.filename}};var Pt=function Import(t,e){X.call(this),this.path=t,this.once=e||!1};Pt.prototype.__proto__=X.prototype,Pt.prototype.clone=function(t){var e=new Pt;return e.path=this.path.nodeName?this.path.clone(t,e):this.path,e.once=this.once,e.mtime=this.mtime,e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e},Pt.prototype.toJSON=function(){return{__type:"Import",path:this.path,once:this.once,mtime:this.mtime,lineno:this.lineno,column:this.column,filename:this.filename}};var It=function Extend(t){X.call(this),this.selectors=t};It.prototype.__proto__=X.prototype,It.prototype.clone=function(){return new It(this.selectors)},It.prototype.toString=function(){return"@extend "+this.selectors.join(", ")},It.prototype.toJSON=function(){return{__type:"Extend",selectors:this.selectors,lineno:this.lineno,column:this.column,filename:this.filename}};var Ut={}.constructor,Rt=function Object(){X.call(this),this.vals={},this.keys={}};Rt.prototype.__proto__=X.prototype,Rt.prototype.setValue=function(t,e){return this.vals[t]=e,this},Rt.prototype.set=Rt.prototype.setValue,Rt.prototype.setKey=function(t,e){return this.keys[t]=e,this},Rt.prototype.__defineGetter__("length",(function(){return Ut.keys(this.vals).length})),Rt.prototype.get=function(t){return this.vals[t]||Dt.null},Rt.prototype.has=function(t){return t in this.vals},Rt.prototype.operate=function(t,e){switch(t){case".":case"[]":return this.get(e.hash);case"==":var n,i,r=this.vals;if("object"!=e.nodeName||this.length!=e.length)return Dt.false;for(var o in r)if(n=r[o],i=e.vals[o],n.operate(t,i).isFalse)return Dt.false;return Dt.true;case"!=":return this.operate("==",e).negate();default:return X.prototype.operate.call(this,t,e)}},Rt.prototype.toBoolean=function(){return Dt.Boolean(this.length)},Rt.prototype.toBlock=function(){var t,e,n="{";for(t in this.vals)if("object"==(e=this.get(t)).first.nodeName)n+=t+" "+e.first.toBlock();else switch(t){case"@charset":n+=t+" "+e.first.toString()+";";break;default:n+=t+":"+toString(e)+";"}return n+"}";function toString(t){return t.nodes?t.nodes.map(toString).join(t.isList?",":" "):"literal"==t.nodeName&&","==t.val?"\\,":t.toString()}},Rt.prototype.clone=function(t){var e,n=new Rt;for(e in n.lineno=this.lineno,n.column=this.column,n.filename=this.filename,this.vals)n.vals[e]=this.vals[e].clone(t,n);for(e in this.keys)n.keys[e]=this.keys[e].clone(t,n);return n},Rt.prototype.toJSON=function(){return{__type:"Object",vals:this.vals,keys:this.keys,lineno:this.lineno,column:this.column,filename:this.filename}},Rt.prototype.toString=function(){var t={};for(var e in this.vals)t[e]=this.vals[e].toString();return JSON.stringify(t)};var Gt=function Function(t,e,n){X.call(this),this.name=t,this.params=e,this.block=n,"function"==typeof e&&(this.fn=e)};Gt.prototype.__defineGetter__("arity",(function(){return this.params.length})),Gt.prototype.__proto__=X.prototype,Gt.prototype.__defineGetter__("hash",(function(){return"function "+this.name})),Gt.prototype.clone=function(t){if(this.fn)var e=new Gt(this.name,this.fn);else(e=new Gt(this.name)).params=this.params.clone(t,e),e.block=this.block.clone(t,e);return e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e},Gt.prototype.toString=function(){return this.fn?this.name+"("+this.fn.toString().match(/^function *\w*\((.*?)\)/).slice(1).join(", ")+")":this.name+"("+this.params.nodes.join(", ")+")"},Gt.prototype.toJSON=function(){var t={__type:"Function",name:this.name,lineno:this.lineno,column:this.column,filename:this.filename};return this.fn?t.fn=this.fn:(t.params=this.params,t.block=this.block),t};var Mt=function Property(t,e){X.call(this),this.segments=t,this.expr=e};Mt.prototype.__proto__=X.prototype,Mt.prototype.clone=function(t){var e=new Mt(this.segments);return e.name=this.name,this.literal&&(e.literal=this.literal),e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e.segments=this.segments.map((function(n){return n.clone(t,e)})),this.expr&&(e.expr=this.expr.clone(t,e)),e},Mt.prototype.toJSON=function(){var t={__type:"Property",segments:this.segments,name:this.name,lineno:this.lineno,column:this.column,filename:this.filename};return this.expr&&(t.expr=this.expr),this.literal&&(t.literal=this.literal),t},Mt.prototype.toString=function(){return"property("+this.segments.join("")+", "+this.expr+")"},Mt.prototype.operate=function(t,e,n){return this.expr.operate(t,e,n)};var qt=function Selector(t){X.call(this),this.inherits=!0,this.segments=t,this.optional=!1};qt.prototype.__proto__=X.prototype,qt.prototype.toString=function(){return this.segments.join("")+(this.optional?" !optional":"")},qt.prototype.__defineGetter__("isPlaceholder",(function(){return this.val&&~this.val.substr(0,2).indexOf("$")})),qt.prototype.clone=function(t){var e=new qt;return e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e.inherits=this.inherits,e.val=this.val,e.segments=this.segments.map((function(n){return n.clone(t,e)})),e.optional=this.optional,e},qt.prototype.toJSON=function(){return{__type:"Selector",inherits:this.inherits,segments:this.segments,optional:this.optional,val:this.val,lineno:this.lineno,column:this.column,filename:this.filename}};var Tt=function Expression(t){X.call(this),this.nodes=[],this.isList=t};Tt.prototype.__defineGetter__("isEmpty",(function(){return!this.nodes.length})),Tt.prototype.__defineGetter__("first",(function(){return this.nodes[0]?this.nodes[0].first:Dt.null})),Tt.prototype.__defineGetter__("hash",(function(){return this.nodes.map((function(t){return t.hash})).join("::")})),Tt.prototype.__proto__=X.prototype,Tt.prototype.clone=function(t){var e=new this.constructor(this.isList);return e.preserve=this.preserve,e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e.nodes=this.nodes.map((function(n){return n.clone(t,e)})),e},Tt.prototype.push=function(t){this.nodes.push(t)},Tt.prototype.operate=function(t,e,n){switch(t){case"[]=":var i=this,r=_export_unwrap_(e).nodes;return n=_export_unwrap_(n),r.forEach((function(t){if(u=i.nodes.length,"unit"==t.nodeName){for(var e=t.val<0?u+t.val:t.val,r=e;e-- >u;)i.nodes[e]=Dt.null;i.nodes[r]=n}else t.string&&(o=i.nodes[0])&&"object"==o.nodeName&&o.set(t.string,n.clone())})),n;case"[]":var o,a=new Dt.Expression,h=_export_unwrap_(this).nodes;return(r=_export_unwrap_(e).nodes).forEach((function(t){"unit"==t.nodeName?o=h[t.val<0?h.length+t.val:t.val]:"object"==h[0].nodeName&&(o=h[0].get(t.string)),o&&a.push(o)})),a.isEmpty?Dt.null:_export_unwrap_(a);case"||":return this.toBoolean().isTrue?this:e;case"in":return X.prototype.operate.call(this,t,e);case"!=":return this.operate("==",e,n).negate();case"==":var l,c,u=this.nodes.length;if(e=e.toExpression(),u!=e.nodes.length)return Dt.false;for(var f=0;f1?Dt.true:this.first.toBoolean()},Tt.prototype.toString=function(){return"("+this.nodes.map((function(t){return t.toString()})).join(this.isList?", ":" ")+")"},Tt.prototype.toJSON=function(){return{__type:"Expression",isList:this.isList,preserve:this.preserve,lineno:this.lineno,column:this.column,filename:this.filename,nodes:this.nodes}};var Jt={Expression:Tt},$t=function Arguments(){Jt.Expression.call(this),this.map={}};$t.prototype.__proto__=Jt.Expression.prototype,$t.fromExpression=function(t){var e=new $t,n=t.nodes.length;e.lineno=t.lineno,e.column=t.column,e.isList=t.isList;for(var i=0;i + * MIT Licensed + */ +var zt=function Atblock(){X.call(this)};zt.prototype.__defineGetter__("nodes",(function(){return this.block.nodes})),zt.prototype.__proto__=X.prototype,zt.prototype.clone=function(t){var e=new zt;return e.block=this.block.clone(t,e),e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e},zt.prototype.toString=function(){return"@block"},zt.prototype.toJSON=function(){return{__type:"Atblock",block:this.block,lineno:this.lineno,column:this.column,fileno:this.fileno}}; +/*! + * Stylus - supports + * Copyright (c) Automattic + * MIT Licensed + */ +var Ht=function Supports(t){_t.call(this,"supports"),this.condition=t};Ht.prototype.__proto__=_t.prototype,Ht.prototype.clone=function(t){var e=new Ht;return e.condition=this.condition.clone(t,e),e.block=this.block.clone(t,e),e.lineno=this.lineno,e.column=this.column,e.filename=this.filename,e},Ht.prototype.toJSON=function(){return{__type:"Supports",condition:this.condition,block:this.block,lineno:this.lineno,column:this.column,filename:this.filename}},Ht.prototype.toString=function(){return"@supports "+this.condition}; +/*! + * Stylus - nodes + * Copyright (c) Automattic + * MIT Licensed + */ +const Dt={};function ParseError(t){this.name="ParseError",this.message=t,Error.captureStackTrace&&Error.captureStackTrace(this,ParseError)}function SyntaxError(t){this.name="SyntaxError",this.message=t,Error.captureStackTrace&&Error.captureStackTrace(this,ParseError)}Dt.lineno=null,Dt.column=null,Dt.filename=null,Dt.Node=X,Dt.Root=tt,Dt.Null=et,Dt.Each=nt,Dt.If=it,Dt.Call=rt,Dt.UnaryOp=st,Dt.BinOp=ot,Dt.Ternary=at,Dt.Block=ht,Dt.Unit=ct,Dt.String=ut,Dt.HSLA=ft,Dt.RGBA=vt,Dt.Ident=gt,Dt.Group=kt,Dt.Literal=wt,Dt.Boolean=bt,Dt.Return=xt,Dt.Media=St,Dt.QueryList=Ct,Dt.Query=Et,Dt.Feature=Nt,Dt.Params=At,Dt.Comment=Ft,Dt.Keyframes=Ot,Dt.Member=Lt,Dt.Charset=Bt,Dt.Namespace=jt,Dt.Import=Pt,Dt.Extend=It,Dt.Object=Rt,Dt.Function=Gt,Dt.Property=Mt,Dt.Selector=qt,Dt.Expression=Tt,Dt.Arguments=$t,Dt.Atblock=zt,Dt.Atrule=_t,Dt.Supports=Ht,Dt.true=new Dt.Boolean(!0),Dt.false=new Dt.Boolean(!1),Dt.null=new Dt.Null,ParseError.prototype.__proto__=Error.prototype,SyntaxError.prototype.__proto__=Error.prototype;const Qt=Lexer;var Wt={and:"&&",or:"||",is:"==",isnt:"!=","is not":"!=",":=":"?="};function Lexer(t,e){function comment(t,e,n,i){var r=i.lastIndexOf("/*",n)>i.lastIndexOf("*/",n),o=i.lastIndexOf("//",n),a=i.lastIndexOf("\n",n),h=0,l=0;if(~o&&o>a)for(;a!=n;){if("'"==i[a]&&(l?l--:l++),'"'==i[a]&&(h?h--:h++),"/"==i[a]&&"/"==i[a+1]){r=!l&&!h;break}++a}return r?t:","===e&&/^[,\t\n]+$/.test(t)?t.replace(/\n/,"\r"):e+"\r"}this.stash=[],this.indentStack=[],this.indentRe=null,this.lineno=1,this.column=1,"\ufeff"==t.charAt(0)&&(t=t.slice(1)),this.str=t.replace(/\s+$/,"\n").replace(/\r\n?/g,"\n").replace(/\\ *\n/g,"\r").replace(/([,(:](?!\/\/[^ ])) *(?:\/\/[^\n]*|\/\*.*?\*\/)?\n\s*/g,comment).replace(/\s*\n[ \t]*([,)])/g,comment)}Lexer.prototype={inspect:function(){for(var t,e=this.str,n=[];"eos"!=(t=this.next()).type;)n.push(t.inspect());return this.str=e,n.concat(t.inspect()).join("\n")},lookahead:function(t){for(var e=t-this.stash.length;e-- >0;)this.stash.push(this.advance());return this.stash[--t]},skip:function(t){var e=t[0];t=e?e.length:t,this.str=this.str.substr(t),e?this.move(e):this.column+=t},move:function(t){var e=t.match(/\n/g),n=t.lastIndexOf("\n");e&&(this.lineno+=e.length),this.column=~n?t.length-n:this.column+t.length},next:function(){var t=this.stashed()||this.advance();return this.prev=t,t},isPartOfSelector:function(){var t=this.stash[this.stash.length-1]||this.prev;switch(t&&t.type){case"color":return 2==t.val.raw.length;case".":case"[":return!0}return!1},advance:function(){var t=this.column,e=this.lineno,n=this.eos()||this.null()||this.sep()||this.keyword()||this.urlchars()||this.comment()||this.newline()||this.escaped()||this.important()||this.literal()||this.anonFunc()||this.atrule()||this.function()||this.brace()||this.paren()||this.color()||this.string()||this.unit()||this.namedop()||this.boolean()||this.unicode()||this.ident()||this.op()||function(){var n=this.eol();return n&&(t=n.column,e=n.lineno),n}.call(this)||this.space()||this.selector();return n.lineno=e,n.column=t,n},peek:function(){return this.lookahead(1)},stashed:function(){return this.stash.shift()},eos:function(){if(!this.str.length)return this.indentStack.length?(this.indentStack.shift(),new e("outdent")):new e("eos")},urlchars:function(){var t;if(this.isURL)return(t=/^[\/:@.;?&=*!,<>#%0-9]+/.exec(this.str))?(this.skip(t),new e("literal",new Dt.Literal(t[0]))):void 0},sep:function(){var t;if(t=/^;[ \t]*/.exec(this.str))return this.skip(t),new e(";")},eol:function(){if("\r"==this.str[0]){for(++this.lineno,this.skip(1),this.column=1;this.space(););return this.advance()}},space:function(){var t;if(t=/^([ \t]+)/.exec(this.str))return this.skip(t),new e("space")},escaped:function(){var t;if(t=/^\\(.)[ \t]*/.exec(this.str)){var n=t[1];return this.skip(t),new e("ident",new Dt.Literal(n))}},literal:function(){var t;if(t=/^@css[ \t]*\{/.exec(this.str)){this.skip(t);for(var n,i,r=1,o="";n=this.str[0];){switch(this.str=this.str.substr(1),n){case"{":++r;break;case"}":--r;break;case"\n":case"\r":++this.lineno}if(o+=n,!r)break}return o=o.replace(/\s*}$/,""),(i=new Dt.Literal(o)).css=!0,new e("literal",i)}},important:function(){var t;if(t=/^!important[ \t]*/.exec(this.str))return this.skip(t),new e("ident",new Dt.Literal("!important"))},brace:function(){var t;if(t=/^([{}])/.exec(this.str)){this.skip(1);var n=t[1];return new e(n,n)}},paren:function(){var t;if(t=/^([()])([ \t]*)/.exec(this.str)){var n=t[1];this.skip(t),")"==n&&(this.isURL=!1);var i=new e(n,n);return i.space=t[2],i}},null:function(){var t;if(t=/^(null)\b[ \t]*/.exec(this.str))return this.skip(t),this.isPartOfSelector()?new e("ident",new Dt.Ident(t[0])):new e("null",Dt.null)},keyword:function(){var t;if(t=/^(return|if|else|unless|for|in)\b[ \t]*/.exec(this.str)){var n=t[1];return this.skip(t),this.isPartOfSelector()?new e("ident",new Dt.Ident(t[0])):new e(n,n)}},namedop:function(){var t,n;if(t=/^(not|and|or|is a|is defined|isnt|is not|is)(?!-)\b([ \t]*)/.exec(this.str)){var i=t[1];return this.skip(t),(n=this.isPartOfSelector()?new e("ident",new Dt.Ident(t[0])):new e(i=Wt[i]||i,i)).space=t[2],n}},op:function(){var t;if(t=/^([.]{1,3}|&&|\|\||[!<>=?:]=|\*\*|[-+*\/%]=?|[,=?:!~<>&\[\]])([ \t]*)/.exec(this.str)){var n=t[1];this.skip(t);var i=new e(n=Wt[n]||n,n);return i.space=t[2],this.isURL=!1,i}},anonFunc:function(){var t;if("@"==this.str[0]&&"("==this.str[1])return this.skip(2),(t=new e("function",new Dt.Ident("anonymous"))).anonymous=!0,t},atrule:function(){var t;if(t=/^@(?!apply)(?:-(\w+)-)?([a-zA-Z0-9-_]+)[ \t]*/.exec(this.str)){this.skip(t);var n=t[1],i=t[2];switch(i){case"require":case"import":case"charset":case"namespace":case"media":case"scope":case"supports":return new e(i);case"document":return new e("-moz-document");case"block":return new e("atblock");case"extend":case"extends":return new e("extend");case"keyframes":return new e(i,n);default:return new e("atrule",n?"-"+n+"-"+i:i)}}},comment:function(){if("/"==this.str[0]&&"/"==this.str[1])return-1==(t=this.str.indexOf("\n"))&&(t=this.str.length),this.skip(t),this.advance();if("/"==this.str[0]&&"*"==this.str[1]){var t;-1==(t=this.str.indexOf("*/"))&&(t=this.str.length);var n=this.str.substr(0,t+2),i=n.split(/\n|\r/).length-1,r=!0,o=!1;return this.lineno+=i,this.skip(t+2),"!"==n[2]&&(n=n.replace("*!","*"),r=!1),this.prev&&";"==this.prev.type&&(o=!0),new e("comment",new Dt.Comment(n,r,o))}},boolean:function(){var t;if(t=/^(true|false)\b([ \t]*)/.exec(this.str)){var n=Dt.Boolean("true"==t[1]);this.skip(t);var i=new e("boolean",n);return i.space=t[2],i}},unicode:function(){var t;if(t=/^u\+[0-9a-f?]{1,6}(?:-[0-9a-f]{1,6})?/i.exec(this.str))return this.skip(t),new e("literal",new Dt.Literal(t[0]))},function:function(){var t;if(t=/^(-*[_a-zA-Z$][-\w\d$]*)\(([ \t]*)/.exec(this.str)){var n=t[1];this.skip(t),this.isURL="url"==n;var i=new e("function",new Dt.Ident(n));return i.space=t[2],i}},ident:function(){var t;if(t=/^-*([_a-zA-Z$]|@apply)[-\w\d$]*/.exec(this.str))return this.skip(t),new e("ident",new Dt.Ident(t[0]))},newline:function(){var t,n;if(this.indentRe?t=this.indentRe.exec(this.str):((t=(n=/^\n([\t]*)[ \t]*/).exec(this.str))&&!t[1].length&&(t=(n=/^\n([ \t]*)/).exec(this.str)),t&&t[1].length&&(this.indentRe=n)),t){var i,r=t[1].length;if(this.skip(t)," "===this.str[0]||"\t"===this.str[0])throw new SyntaxError("Invalid indentation. You can use tabs or spaces to indent, but not both.");if("\n"==this.str[0])return this.advance();if(this.indentStack.length&&rr;)this.stash.push(new e("outdent")),this.indentStack.shift();i=this.stash.pop()}else r&&r!=this.indentStack[0]?(this.indentStack.unshift(r),i=new e("indent")):i=new e("newline");return i}},unit:function(){var t;if(t=/^(-)?(\d+\.\d+|\d+|\.\d+)(%|[a-zA-Z]+)?[ \t]*/.exec(this.str)){this.skip(t);var n=parseFloat(t[2]);"-"==t[1]&&(n=-n);var i=new Dt.Unit(n,t[3]);return i.raw=t[0],new e("unit",i)}},string:function(){var t;if(t=/^("[^"]*"|'[^']*')[ \t]*/.exec(this.str)){var n=t[1],i=t[0][0];return this.skip(t),n=n.slice(1,-1).replace(/\\n/g,"\n"),new e("string",new Dt.String(n,i))}},color:function(){return this.rrggbbaa()||this.rrggbb()||this.rgba()||this.rgb()||this.nn()||this.n()},n:function(){var t;if(t=/^#([a-fA-F0-9]{1})[ \t]*/.exec(this.str)){this.skip(t);var n=parseInt(t[1]+t[1],16),i=new Dt.RGBA(n,n,n,1);return i.raw=t[0],new e("color",i)}},nn:function(){var t;if(t=/^#([a-fA-F0-9]{2})[ \t]*/.exec(this.str)){this.skip(t);var n=parseInt(t[1],16),i=new Dt.RGBA(n,n,n,1);return i.raw=t[0],new e("color",i)}},rgb:function(){var t;if(t=/^#([a-fA-F0-9]{3})[ \t]*/.exec(this.str)){this.skip(t);var n=t[1],i=parseInt(n[0]+n[0],16),r=parseInt(n[1]+n[1],16),o=parseInt(n[2]+n[2],16),a=new Dt.RGBA(i,r,o,1);return a.raw=t[0],new e("color",a)}},rgba:function(){var t;if(t=/^#([a-fA-F0-9]{4})[ \t]*/.exec(this.str)){this.skip(t);var n=t[1],i=parseInt(n[0]+n[0],16),r=parseInt(n[1]+n[1],16),o=parseInt(n[2]+n[2],16),a=parseInt(n[3]+n[3],16),h=new Dt.RGBA(i,r,o,a/255);return h.raw=t[0],new e("color",h)}},rrggbb:function(){var t;if(t=/^#([a-fA-F0-9]{6})[ \t]*/.exec(this.str)){this.skip(t);var n=t[1],i=parseInt(n.substr(0,2),16),r=parseInt(n.substr(2,2),16),o=parseInt(n.substr(4,2),16),a=new Dt.RGBA(i,r,o,1);return a.raw=t[0],new e("color",a)}},rrggbbaa:function(){var t;if(t=/^#([a-fA-F0-9]{8})[ \t]*/.exec(this.str)){this.skip(t);var n=t[1],i=parseInt(n.substr(0,2),16),r=parseInt(n.substr(2,2),16),o=parseInt(n.substr(4,2),16),a=parseInt(n.substr(6,2),16),h=new Dt.RGBA(i,r,o,a/255);return h.raw=t[0],new e("color",h)}},selector:function(){var t;if(t=/^\^|.*?(?=\/\/(?![^\[]*\])|[,\n{])/.exec(this.str)){var n=t[0];return this.skip(t),new e("selector",n)}}};var NullCache=function(){};NullCache.prototype.set=function(t,e){},NullCache.prototype.get=function(t){},NullCache.prototype.has=function(t){return!1},NullCache.prototype.key=function(t,e){return""};var Kt=65407===new Uint16Array(new Uint8Array([127,255]).buffer)[0];function hexify(t){for(var e="",n=8;n--;)e+=(t>>>(n<<2)&15).toString(16);return e}function parity(t,e,n){return t^e^n}function majority(t,e,n){return t&e^t&n^e&n}function rotateLeft(t,e){return t<>>32-e}var Zt=new Uint32Array(80),MemoryCache=function(t){t=t||{},this.limit=t["cache limit"]||256,this._cache={},this.length=0,this.head=this.tail=null};MemoryCache.prototype.set=function(t,e){var n,i=e.clone();i.filename=Dt.filename,i.lineno=Dt.lineno,i.column=Dt.column,n={key:t,value:i},this._cache[t]=n,this.tail?(this.tail.next=n,n.prev=this.tail):this.head=n,this.tail=n,this.length++==this.limit&&this.purge()},MemoryCache.prototype.get=function(t){var e=this._cache[t],n=e.value.clone();return e==this.tail||(e.next&&(e==this.head&&(this.head=e.next),e.next.prev=e.prev),e.prev&&(e.prev.next=e.next),e.next=null,e.prev=this.tail,this.tail&&(this.tail.next=e),this.tail=e),n},MemoryCache.prototype.has=function(t){return!!this._cache[t]},MemoryCache.prototype.key=function(t,e){var n=function createHash(){let t="";return{update:function update(e){t+=e},digest:function digest(){return function sha1(t){if(!(t instanceof Uint8Array))throw new TypeError("Input data must be a Uint8Array.");var e,n=new ArrayBuffer(function align(t,e){var n=e-1;return t+n&~n}(t.byteLength+9,64)),i=new Uint32Array(n),r=new Uint8Array(n);if(r.set(t),r[t.byteLength]=128,Kt)for(var o=0,a=i.length;o>24&255|e>>8&65280|e<<8&16711680|e<<24&4278190080;var h,l=8*t.byteLength;i[i.length-2]=l/Math.pow(2,32),i[i.length-1]=l;for(var c=1732584193,u=4023233417,f=2562383102,d=271733878,m=3285377520,v=void 0,y=void 0,g=void 0,k=void 0,w=void 0,b=void 0,x=void 0,_=0,S=i.length;_","=",":","&","&&","~","{","}",".","..","/"],Xt=["matches","not","dir","lang","any-link","link","visited","local-link","target","scope","hover","active","focus","drop","current","past","future","enabled","disabled","read-only","read-write","placeholder-shown","checked","indeterminate","valid","invalid","in-range","out-of-range","required","optional","user-error","root","empty","blank","nth-child","nth-last-child","first-child","last-child","only-child","nth-of-type","nth-last-of-type","first-of-type","last-of-type","only-of-type","nth-match","nth-last-match","nth-column","nth-last-column","first-line","first-letter","before","after","selection"],te=function Parser(t,e){var n=this;e=e||{},Parser.cache=Parser.cache||Parser.getCache(e),this.hash=Parser.cache.key(t,e),this.lexer={},Parser.cache.has(this.hash)||(this.lexer=new Qt(t,e)),this.prefix=e.prefix||"",this.root=e.root||new Dt.Root,this.state=["root"],this.stash=[],this.parens=0,this.css=0,this.state.pop=function(){n.prevState=[].pop.call(this)}}; +/*! + * Stylus - Parser + * Copyright (c) Automattic + * MIT Licensed + */te.getCache=function(t){return!1===t.cache?getCache(!1):getCache(t.cache||"memory",t)},te.prototype={constructor:te,currentState:function(){return this.state[this.state.length-1]},previousState:function(){return this.state[this.state.length-2]},parse:function(){var t=this.parent=this.root;if(te.cache.has(this.hash))"block"==(t=te.cache.get(this.hash)).nodeName&&(t.constructor=Dt.Root);else{for(;"eos"!=this.peek().type&&(this.skipWhitespace(),"eos"!=this.peek().type);){var e=this.statement();this.accept(";"),e||this.error("unexpected token {peek}, not allowed at the root level"),t.push(e)}te.cache.set(this.hash,t)}return t},error:function(t){var e=this.peek().type,n=null==this.peek().val?"":" "+this.peek().toString();throw n.trim()==e.trim()&&(n=""),new ParseError(t.replace("{peek}",'"'+e+n+'"'))},accept:function(t){if(t==this.peek().type)return this.next()},expect:function(t){return t!=this.peek().type&&this.error('expected "'+t+'", got {peek}'),this.next()},next:function(){var t=this.stash.length?this.stash.pop():this.lexer.next(),e=t.lineno,n=t.column||1;return t.val&&t.val.nodeName&&(t.val.lineno=e,t.val.column=n),Dt.lineno=e,Dt.column=n,Vt.lexer("%s %s",t.type,t.val||""),t},peek:function(){return this.lexer.peek()},lookahead:function(t){return this.lexer.lookahead(t)},isSelectorToken:function(t){var e=this.lookahead(t).type;switch(e){case"for":return this.bracketed;case"[":return this.bracketed=!0,!0;case"]":return this.bracketed=!1,!0;default:return~Yt.indexOf(e)}},isPseudoSelector:function(t){var e=this.lookahead(t).val;return e&&~Xt.indexOf(e.name)},lineContains:function(t){for(var e,n=1;e=this.lookahead(n++);){if(~["indent","outdent","newline","eos"].indexOf(e.type))return;if(t==e.type)return!0}},selectorToken:function(){if(this.isSelectorToken(1)){if("{"==this.peek().type){if(!this.lineContains("}"))return;for(var t,e=0;t=this.lookahead(++e);){if("}"==t.type){if(2==e||3==e&&"space"==this.lookahead(e-1).type)return;break}if(":"==t.type)return}}return this.next()}},skip:function(t){for(;~t.indexOf(this.peek().type);)this.next()},skipWhitespace:function(){this.skip(["space","indent","outdent","newline"])},skipNewlines:function(){for(;"newline"==this.peek().type;)this.next()},skipSpaces:function(){for(;"space"==this.peek().type;)this.next()},skipSpacesAndComments:function(){for(;"space"==this.peek().type||"comment"==this.peek().type;)this.next()},looksLikeFunctionDefinition:function(t){return"indent"==this.lookahead(t).type||"{"==this.lookahead(t).type},looksLikeSelector:function(t){var e,n,i=1;if(t&&":"==this.lookahead(i+1).type&&(this.lookahead(i+1).space||"indent"==this.lookahead(i+2).type))return!1;for(;"ident"==this.lookahead(i).type&&("newline"==this.lookahead(i+1).type||","==this.lookahead(i+1).type);)i+=2;for(;this.isSelectorToken(i)||","==this.lookahead(i).type;){if("selector"==this.lookahead(i).type)return!0;if("&"==this.lookahead(i+1).type)return!0;if(i>1&&"ident"===this.lookahead(i-1).type&&"."===this.lookahead(i).type&&"ident"===this.lookahead(i+1).type){for(;e=this.lookahead(i+2);){if(-1!==["indent","outdent","{",";","eos","selector","media","if","atrule",")","}","unit","[","for","function"].indexOf(e.type)){if("["!==e.type){if(this.isPseudoSelector(i+2))return!0;if(")"===e.type&&this.lookahead(i+3)&&"}"===this.lookahead(i+3).type)break;return-1===["outdent",";","eos","media","if","atrule",")","}","unit","for","function"].indexOf(e.type)}for(;(e=this.lookahead(i+3))&&"]"!==e.type;){if(~[".","unit"].indexOf(e.type))return!1;i+=1}}i+=1}return!0}if("."==this.lookahead(i).type&&"ident"==this.lookahead(i+1).type)return!0;if("*"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return!0;if(":"==this.lookahead(i).type&&":"==this.lookahead(i+1).type)return!0;if("color"==this.lookahead(i).type&&"newline"==this.lookahead(i-1).type)return!0;if(this.looksLikeAttributeSelector(i))return!0;if(("="==this.lookahead(i).type||"function"==this.lookahead(i).type)&&"{"==this.lookahead(i+1).type)return!1;if(":"==this.lookahead(i).type&&!this.isPseudoSelector(i+1)&&this.lineContains("."))return!1;if("{"==this.lookahead(i).type?n=!0:"}"==this.lookahead(i).type&&(n=!1),n&&":"==this.lookahead(i).type)return!0;if("space"==this.lookahead(i).type&&"{"==this.lookahead(i+1).type)return!0;if(":"==this.lookahead(i++).type&&!this.lookahead(i-1).space&&this.isPseudoSelector(i))return!0;if("space"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type&&"{"==this.lookahead(i+2).type)return!0;if(","==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return!0}if(","==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return!0;if("{"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return!0;if(this.css&&(";"==this.lookahead(i).type||"}"==this.lookahead(i-1).type))return!1;for(;!~["indent","outdent","newline","for","if",";","}","eos"].indexOf(this.lookahead(i).type);)++i;return"indent"==this.lookahead(i).type||void 0},looksLikeAttributeSelector:function(t){var e=this.lookahead(t).type;return!("="!=e||!this.bracketed)||("ident"==e||"string"==e)&&"]"==this.lookahead(t+1).type&&("newline"==this.lookahead(t+2).type||this.isSelectorToken(t+2))&&!this.lineContains(":")&&!this.lineContains("=")},looksLikeKeyframe:function(){var t,e=2;switch(this.lookahead(e).type){case"{":case"indent":case",":return!0;case"newline":for(;"unit"==this.lookahead(++e).type||"newline"==this.lookahead(e).type;);return"indent"==(t=this.lookahead(e).type)||"{"==t}},stateAllowsSelector:function(){switch(this.currentState()){case"root":case"atblock":case"selector":case"conditional":case"function":case"atrule":case"for":return!0}},assignAtblock:function(t){try{t.push(this.atblock(t))}catch(t){this.error("invalid right-hand side operand in assignment, got {peek}")}},statement:function(){var t,e,n=this.stmt(),i=this.prevState;switch(this.allowPostfix&&(this.allowPostfix=!1,i="expression"),i){case"assignment":case"expression":case"function arguments":for(;e=this.accept("if")||this.accept("unless")||this.accept("for");)switch(e.type){case"if":case"unless":(n=new Dt.If(this.expression(),n)).postfix=!0,n.negate="unless"==e.type,this.accept(";");break;case"for":var r,o=this.id().name;this.accept(",")&&(r=this.id().name),this.expect("in");var a=new Dt.Each(o,r,this.expression());(t=new Dt.Block(this.parent,a)).push(n),a.block=t,n=a}}return n},stmt:function(){var t,e=this.peek();switch(e.type){case"keyframes":return this.keyframes();case"-moz-document":return this.mozdocument();case"comment":case"selector":case"literal":case"charset":case"namespace":case"import":case"require":case"extend":case"media":case"atrule":case"ident":case"scope":case"supports":case"unless":case"function":case"for":case"if":return this[e.type]();case"return":return this.return();case"{":return this.property();default:if(this.stateAllowsSelector())switch(e.type){case"color":case"~":case">":case"<":case":":case"&":case"&&":case"[":case".":case"/":return(t=this.selector()).column=e.column,t.lineno=e.lineno,t;case"..":if("/"==this.lookahead(2).type)return this.selector();case"+":return"function"==this.lookahead(2).type?this.functionCall():this.selector();case"*":return this.property();case"unit":if(this.looksLikeKeyframe())return(t=this.selector()).column=e.column,t.lineno=e.lineno,t;case"-":if("{"==this.lookahead(2).type)return this.property()}var n=this.expression();return n.isEmpty&&this.error("unexpected {peek}"),n}},block:function(t,e){var n,i,r,o=this.parent=new Dt.Block(this.parent,t);for(!1===e&&(o.scope=!1),this.accept("newline"),this.accept("{")?(this.css++,n="}",this.skipWhitespace()):(n="outdent",this.expect("indent"));n!=this.peek().type;){if(this.css){if(this.accept("newline")||this.accept("indent"))continue;i=this.statement(),this.accept(";"),this.skipWhitespace()}else{if(this.accept("newline"))continue;if(r=this.lookahead(2).type,"indent"==this.peek().type&&~["outdent","newline","comment"].indexOf(r)){this.skip(["indent","outdent"]);continue}if("eos"==this.peek().type)return o;i=this.statement(),this.accept(";")}i||this.error("unexpected token {peek} in block"),o.push(i)}return this.css?(this.skipWhitespace(),this.expect("}"),this.skipSpaces(),this.css--):this.expect("outdent"),this.parent=o.parent,o},comment:function(){var t=this.next().val;return this.skipSpaces(),t},for:function(){this.expect("for");var t,e=this.id().name;this.accept(",")&&(t=this.id().name),this.expect("in"),this.state.push("for"),this.cond=!0;var n=new Dt.Each(e,t,this.expression());return this.cond=!1,n.block=this.block(n,!1),this.state.pop(),n},return:function(){this.expect("return");var t=this.expression();return t.isEmpty?new Dt.Return:new Dt.Return(t)},unless:function(){this.expect("unless"),this.state.push("conditional"),this.cond=!0;var t=new Dt.If(this.expression(),!0);return this.cond=!1,t.block=this.block(t,!1),this.state.pop(),t},if:function(){var t=this.expect("if");this.state.push("conditional"),this.cond=!0;var e,n,i,r=new Dt.If(this.expression());for(r.column=t.column,this.cond=!1,r.block=this.block(r,!1),this.skip(["newline","comment"]);this.accept("else");){if(!(t=this.accept("if"))){r.elses.push(this.block(r,!1));break}this.cond=!0,e=this.expression(),this.cond=!1,n=this.block(r,!1),(i=new Dt.If(e,n)).column=t.column,r.elses.push(i),this.skip(["newline","comment"])}return this.state.pop(),r},atblock:function(t){return t||this.expect("atblock"),t=new Dt.Atblock,this.state.push("atblock"),t.block=this.block(t,!1),this.state.pop(),t},atrule:function(){var t,e=this.expect("atrule").val,n=new Dt.Atrule(e);return this.skipSpacesAndComments(),n.segments=this.selectorParts(),this.skipSpacesAndComments(),("indent"==(t=this.peek().type)||"{"==t||"newline"==t&&"{"==this.lookahead(2).type)&&(this.state.push("atrule"),n.block=this.block(n),this.state.pop()),n},scope:function(){this.expect("scope");var t=this.selectorParts().map((function(t){return t.val})).join("");return this.selectorScope=t.trim(),Dt.null},supports:function(){this.expect("supports");var t=new Dt.Supports(this.supportsCondition());return this.state.push("atrule"),t.block=this.block(t),this.state.pop(),t},supportsCondition:function(){var t=this.supportsNegation()||this.supportsOp();return t||(this.cond=!0,t=this.expression(),this.cond=!1),t},supportsNegation:function(){if(this.accept("not")){var t=new Dt.Expression;return t.push(new Dt.Literal("not")),t.push(this.supportsFeature()),t}},supportsOp:function(){var t,e,n=this.supportsFeature();if(n){for((e=new Dt.Expression).push(n);t=this.accept("&&")||this.accept("||");)e.push(new Dt.Literal("&&"==t.val?"and":"or")),e.push(this.supportsFeature());return e}},supportsFeature:function(){if(this.skipSpacesAndComments(),"("==this.peek().type){var t=this.lookahead(2).type;if("ident"==t||"{"==t)return this.feature();this.expect("(");var e=new Dt.Expression;return e.push(new Dt.Literal("(")),e.push(this.supportsCondition()),this.expect(")"),e.push(new Dt.Literal(")")),this.skipSpacesAndComments(),e}},extend:function(){var t,e,n,i=this.expect("extend"),r=[];do{(n=this.selectorParts()).length&&(t=new Dt.Selector(n),r.push(t),"!"===this.peek().type&&"ident"===(i=this.lookahead(2)).type&&"optional"===i.val.name&&(this.skip(["!","ident"]),t.optional=!0))}while(this.accept(","));return(e=new Dt.Extend(r)).lineno=i.lineno,e.column=i.column,e},media:function(){this.expect("media"),this.state.push("atrule");var t=new Dt.Media(this.queries());return t.block=this.block(t),this.state.pop(),t},queries:function(){var t=new Dt.QueryList,e=["comment","newline","space"];do{this.skip(e),t.push(this.query()),this.skip(e)}while(this.accept(","));return t},query:function(){var t,e,n,i=new Dt.Query;if("ident"==this.peek().type&&("."==this.lookahead(2).type||"["==this.lookahead(2).type))return this.cond=!0,t=this.expression(),this.cond=!1,i.push(new Dt.Feature(t.nodes)),i;if((e=this.accept("ident")||this.accept("not"))&&(e=new Dt.Literal(e.val.string||e.val),this.skipSpacesAndComments(),(n=this.accept("ident"))?(i.type=n.val,i.predicate=e):i.type=e,this.skipSpacesAndComments(),!this.accept("&&")))return i;do{i.push(this.feature())}while(this.accept("&&"));return i},feature:function(){this.skipSpacesAndComments(),this.expect("("),this.skipSpacesAndComments();var t=new Dt.Feature(this.interpolate());return this.skipSpacesAndComments(),this.accept(":"),this.skipSpacesAndComments(),this.inProperty=!0,t.expr=this.list(),this.inProperty=!1,this.skipSpacesAndComments(),this.expect(")"),this.skipSpacesAndComments(),t},mozdocument:function(){this.expect("-moz-document");var t=new Dt.Atrule("-moz-document"),e=[];do{this.skipSpacesAndComments(),e.push(this.functionCall()),this.skipSpacesAndComments()}while(this.accept(","));return t.segments=[new Dt.Literal(e.join(", "))],this.state.push("atrule"),t.block=this.block(t,!1),this.state.pop(),t},import:function(){return this.expect("import"),this.allowPostfix=!0,new Dt.Import(this.expression(),!1)},require:function(){return this.expect("require"),this.allowPostfix=!0,new Dt.Import(this.expression(),!0)},charset:function(){this.expect("charset");var t=this.expect("string").val;return this.allowPostfix=!0,new Dt.Charset(t)},namespace:function(){var t,e;return this.expect("namespace"),this.skipSpacesAndComments(),(e=this.accept("ident"))&&(e=e.val),this.skipSpacesAndComments(),t=this.accept("string")||this.url(),this.allowPostfix=!0,new Dt.Namespace(t,e)},keyframes:function(){var t,e=this.expect("keyframes");return this.skipSpacesAndComments(),(t=new Dt.Keyframes(this.selectorParts(),e.val)).column=e.column,this.skipSpacesAndComments(),this.state.push("atrule"),t.block=this.block(t),this.state.pop(),t},literal:function(){return this.expect("literal").val},id:function(){var t=this.expect("ident");return this.accept("space"),t.val},ident:function(){for(var t=2,e=this.lookahead(t).type;"space"==e;)e=this.lookahead(++t).type;switch(e){case"=":case"?=":case"-=":case"+=":case"*=":case"/=":case"%=":return this.assignment();case".":if("space"==this.lookahead(t-1).type)return this.selector();if(this._ident==this.peek())return this.id();for(;"="!=this.lookahead(++t).type&&!~["[",",","newline","indent","eos"].indexOf(this.lookahead(t).type););if("="==this.lookahead(t).type)return this._ident=this.peek(),this.expression();if(this.looksLikeSelector()&&this.stateAllowsSelector())return this.selector();case"[":if(this._ident==this.peek())return this.id();for(;"]"!=this.lookahead(t++).type&&"selector"!=this.lookahead(t).type&&"eos"!=this.lookahead(t).type;);if("="==this.lookahead(t).type)return this._ident=this.peek(),this.expression();if(this.looksLikeSelector()&&this.stateAllowsSelector())return this.selector();case"-":case"+":case"/":case"*":case"%":case"**":case"&&":case"||":case">":case"<":case">=":case"<=":case"!=":case"==":case"?":case"in":case"is a":case"is defined":if(this._ident==this.peek())return this.id();switch(this._ident=this.peek(),this.currentState()){case"for":case"selector":return this.property();case"root":case"atblock":case"atrule":return"["==e?this.subscript():this.selector();case"function":case"conditional":return this.looksLikeSelector()?this.selector():this.expression();default:return this.operand?this.id():this.expression()}default:switch(this.currentState()){case"root":return this.selector();case"for":case"selector":case"function":case"conditional":case"atblock":case"atrule":return this.property();default:var n=this.id();return"interpolation"==this.previousState()&&(n.mixin=!0),n}}},interpolate:function(){var t,e=[];for(this.accept("*")&&e.push(new Dt.Literal("*"));;)if(this.accept("{"))this.state.push("interpolation"),e.push(this.expression()),this.expect("}"),this.state.pop();else if(t=this.accept("-"))e.push(new Dt.Literal("-"));else{if(!(t=this.accept("ident")))break;e.push(t.val)}return e.length||this.expect("ident"),e},property:function(){if(this.looksLikeSelector(!0))return this.selector();var t=this.interpolate(),e=new Dt.Property(t),n=e;return this.accept("space"),this.accept(":")&&this.accept("space"),this.state.push("property"),this.inProperty=!0,e.expr=this.list(),e.expr.isEmpty&&(n=t[0]),this.inProperty=!1,this.allowPostfix=!0,this.state.pop(),this.accept(";"),n},selector:function(){var t,e,n=new Dt.Group,i=this.selectorScope,r="root"==this.currentState();do{this.accept("newline"),t=this.selectorParts(),r&&i&&t.unshift(new Dt.Literal(i+" ")),t.length&&((e=new Dt.Selector(t)).lineno=t[0].lineno,e.column=t[0].column,n.push(e))}while(this.accept(",")||this.accept("newline"));return"selector-parts"==this.currentState()?n.nodes:(this.state.push("selector"),n.block=this.block(n),this.state.pop(),n)},selectorParts:function(){for(var t,e=[];t=this.selectorToken();)switch(Vt.selector("%s",t),t.type){case"{":this.skipSpaces();var n=this.expression();this.skipSpaces(),this.expect("}"),e.push(n);break;case this.prefix&&".":var i=new Dt.Literal(t.val+this.prefix);i.prefixed=!0,e.push(i);break;case"comment":break;case"color":case"unit":e.push(new Dt.Literal(t.val.raw));break;case"space":e.push(new Dt.Literal(" "));break;case"function":e.push(new Dt.Literal(t.val.name+"("));break;case"ident":e.push(new Dt.Literal(t.val.name||t.val.string));break;default:e.push(new Dt.Literal(t.val)),t.space&&e.push(new Dt.Literal(" "))}return e},assignment:function(){var t,e,n=this.id(),i=n.name;if(t=this.accept("=")||this.accept("?=")||this.accept("+=")||this.accept("-=")||this.accept("*=")||this.accept("/=")||this.accept("%=")){this.state.push("assignment");var r=this.list();switch(r.isEmpty&&this.assignAtblock(r),(e=new Dt.Ident(i,r)).lineno=n.lineno,e.column=n.column,this.state.pop(),t.type){case"?=":var o=new Dt.BinOp("is defined",e),a=new Dt.Expression;a.push(new Dt.Ident(i)),e=new Dt.Ternary(o,a,e);break;case"+=":case"-=":case"*=":case"/=":case"%=":e.val=new Dt.BinOp(t.type[0],new Dt.Ident(i),r)}}return e},function:function(){var t,e=1,n=2;t:for(;t=this.lookahead(n++);)switch(t.type){case"function":case"(":++e;break;case")":if(!--e)break t;break;case"eos":this.error('failed to find closing paren ")"')}switch(this.currentState()){case"expression":return this.functionCall();default:return this.looksLikeFunctionDefinition(n)?this.functionDefinition():this.expression()}},url:function(){this.expect("function"),this.state.push("function arguments");var t=this.args();return this.expect(")"),this.state.pop(),new Dt.Call("url",t)},functionCall:function(){var t=this.accept("+");if("url"==this.peek().val.name)return this.url();var e=this.expect("function").val,n=e.name;this.state.push("function arguments"),this.parens++;var i=this.args();this.expect(")"),this.parens--,this.state.pop();var r=new Dt.Call(n,i);return r.column=e.column,r.lineno=e.lineno,t&&(this.state.push("function"),r.block=this.block(r),this.state.pop()),r},functionDefinition:function(){var t=this.expect("function"),e=t.val.name;this.state.push("function params"),this.skipWhitespace();var n=this.params();this.skipWhitespace(),this.expect(")"),this.state.pop(),this.state.push("function");var i=new Dt.Function(e,n);return i.column=t.column,i.lineno=t.lineno,i.block=this.block(i),this.state.pop(),new Dt.Ident(e,i)},params:function(){for(var t,e,n=new Dt.Params;t=this.accept("ident");)this.accept("space"),n.push(e=t.val),this.accept("...")?e.rest=!0:this.accept("=")&&(e.val=this.expression()),this.skipWhitespace(),this.accept(","),this.skipWhitespace();return n},args:function(){var t,e=new Dt.Arguments;do{"ident"==this.peek().type&&":"==this.lookahead(2).type?(t=this.next().val.string,this.expect(":"),e.map[t]=this.expression()):e.push(this.expression())}while(this.accept(","));return e},list:function(){for(var t=this.expression();this.accept(",");)if(t.isList)e.push(this.expression());else{var e=new Dt.Expression(!0);e.push(t),e.push(this.expression()),t=e}return t},expression:function(){var t,e=new Dt.Expression;for(this.state.push("expression");t=this.negation();)t||this.error("unexpected token {peek} in expression"),e.push(t);return this.state.pop(),e.nodes.length&&(e.lineno=e.nodes[0].lineno,e.column=e.nodes[0].column),e},negation:function(){return this.accept("not")?new Dt.UnaryOp("!",this.negation()):this.ternary()},ternary:function(){var t=this.logical();if(this.accept("?")){var e=this.expression();this.expect(":");var n=this.expression();t=new Dt.Ternary(t,e,n)}return t},logical:function(){for(var t,e=this.typecheck();t=this.accept("&&")||this.accept("||");)e=new Dt.BinOp(t.type,e,this.typecheck());return e},typecheck:function(){for(var t,e=this.equality();t=this.accept("is a");)this.operand=!0,e||this.error('illegal unary "'+t+'", missing left-hand operand'),e=new Dt.BinOp(t.type,e,this.equality()),this.operand=!1;return e},equality:function(){for(var t,e=this.in();t=this.accept("==")||this.accept("!=");)this.operand=!0,e||this.error('illegal unary "'+t+'", missing left-hand operand'),e=new Dt.BinOp(t.type,e,this.in()),this.operand=!1;return e},in:function(){for(var t=this.relational();this.accept("in");)this.operand=!0,t||this.error('illegal unary "in", missing left-hand operand'),t=new Dt.BinOp("in",t,this.relational()),this.operand=!1;return t},relational:function(){for(var t,e=this.range();t=this.accept(">=")||this.accept("<=")||this.accept("<")||this.accept(">");)this.operand=!0,e||this.error('illegal unary "'+t+'", missing left-hand operand'),e=new Dt.BinOp(t.type,e,this.range()),this.operand=!1;return e},range:function(){var t,e=this.additive();return(t=this.accept("...")||this.accept(".."))&&(this.operand=!0,e||this.error('illegal unary "'+t+'", missing left-hand operand'),e=new Dt.BinOp(t.val,e,this.additive()),this.operand=!1),e},additive:function(){for(var t,e=this.multiplicative();t=this.accept("+")||this.accept("-");)this.operand=!0,e=new Dt.BinOp(t.type,e,this.multiplicative()),this.operand=!1;return e},multiplicative:function(){for(var t,n=this.defined();t=this.accept("**")||this.accept("*")||this.accept("/")||this.accept("%");){if(this.operand=!0,"/"==t&&this.inProperty&&!this.parens)return this.stash.push(new e("literal",new Dt.Literal("/"))),this.operand=!1,n;n||this.error('illegal unary "'+t+'", missing left-hand operand'),n=new Dt.BinOp(t.type,n,this.defined()),this.operand=!1}return n},defined:function(){var t=this.unary();return this.accept("is defined")&&(t||this.error('illegal unary "is defined", missing left-hand operand'),t=new Dt.BinOp("is defined",t)),t},unary:function(){var t,e;return(t=this.accept("!")||this.accept("~")||this.accept("+")||this.accept("-"))?(this.operand=!0,(e=this.unary())||this.error('illegal unary "'+t+'"'),e=new Dt.UnaryOp(t.type,e),this.operand=!1,e):this.subscript()},subscript:function(){for(var t=this.member();this.accept("[");)t=new Dt.BinOp("[]",t,this.expression()),this.expect("]");return this.accept("=")&&(t.op+="=",t.val=this.list(),t.val.isEmpty&&this.assignAtblock(t.val)),t},member:function(){var t=this.primary();if(t){for(;this.accept(".");){var e=new Dt.Ident(this.expect("ident").val.string);t=new Dt.Member(t,e)}this.skipSpaces(),this.accept("=")&&(t.val=this.list(),t.val.isEmpty&&this.assignAtblock(t.val))}return t},object:function(){var t,e,n,i,r=new Dt.Object;for(this.expect("{"),this.skipWhitespace();!this.accept("}");)this.accept("comment")||this.accept("newline")||(n||this.accept(","),(t=this.accept("ident")||this.accept("string"))||this.error('expected "ident" or "string", got {peek}'),i=t.val.hash,this.skipSpacesAndComments(),this.expect(":"),e=this.expression(),r.setValue(i,e),r.setKey(i,t.val),n=this.accept(","),this.skipWhitespace());return r},primary:function(){var t;if(this.skipSpaces(),this.accept("(")){++this.parens;var e=this.expression(),n=this.expect(")");return--this.parens,this.accept("%")&&e.push(new Dt.Ident("%")),t=this.peek(),!n.space&&"ident"==t.type&&~u.indexOf(t.val.string)&&(e.push(new Dt.Ident(t.val.string)),this.next()),e}switch((t=this.peek()).type){case"null":case"unit":case"color":case"string":case"literal":case"boolean":case"comment":return this.next().val;case!this.cond&&"{":return this.object();case"atblock":return this.atblock();case"atrule":var i=new Dt.Ident(this.next().val);return i.property=!0,i;case"ident":return this.ident();case"function":return t.anonymous?this.functionDefinition():this.functionCall()}}};const ee={exports:{}};!function(t){void 0!==ee&&(ee.exports=t);var e={on:function on(t,e){return getListeners(this,t).push(e),this},once:function once(t,e){var n=this;return wrap.originalListener=e,getListeners(n,t).push(wrap),n;function wrap(){off.call(n,t,wrap),e.apply(this,arguments)}},off:off,emit:function emit(t,e){var n=this,i=getListeners(n,t,!0);if(!i)return!1;var r=arguments.length;if(1===r)i.forEach(zeroarg);else if(2===r)i.forEach(onearg);else{var o=Array.prototype.slice.call(arguments,1);i.forEach(moreargs)}return!!i.length;function zeroarg(t){t.call(n)}function onearg(t){t.call(n,e)}function moreargs(t){t.apply(n,o)}}};function mixin(t){for(var n in e)t[n]=e[n];return t}function off(t,e){var n,i=this;if(arguments.length){if(e){if(n=getListeners(i,t,!0)){if(!(n=n.filter(ne)).length)return off.call(i,t);i.listeners[t]=n}}else if((n=i.listeners)&&(delete n[t],!Object.keys(n).length))return off.call(i)}else delete i.listeners;return i;function ne(t){return t!==e&&t.originalListener!==e}}function getListeners(t,e,n){if(!n||t.listeners){var i=t.listeners||(t.listeners={});return i[e]||(i[e]=[])}}mixin(t.prototype),t.mixin=mixin}(( +/** + * event-lite.js - Light-weight EventEmitter (less than 1KB when gzipped) + * + * @copyright Yusuke Kawasaki + * @license MIT + * @constructor + * @see https://github.com/kawanet/event-lite + * @see http://kawanet.github.io/event-lite/EventLite.html + * @example + * var EventLite = require("event-lite"); + * + * function MyClass() {...} // your class + * + * EventLite.mixin(MyClass.prototype); // import event methods + * + * var obj = new MyClass(); + * obj.on("foo", function() {...}); // add event listener + * obj.once("bar", function() {...}); // add one-time event listener + * obj.emit("foo"); // dispatch event + * obj.emit("bar"); // dispatch another event + * obj.off("foo"); // remove event listener + */ +function EventLite(){if(!(this instanceof EventLite))return new EventLite}));var ie=ee.exports;const re=class{constructor(){this.events=new ie}on(...t){return this.events.on(...t)}off(...t){return this.events.off(...t)}once(...t){return this.events.once(...t)}emit(...t){return this.events.emit(...t)}listeners(t){return this.events.listeners&&this.events.listeners[t]||[]}},noop$1=()=>noop$1;var se=t.dirname,oe=function DepsResolver(t,e){this.root=t,this.filename=e.filename,this.paths=e.paths||[],this.paths.push(se(e.filename||".")),this.options=e,this.functions={},this.deps=[]};oe.prototype.__proto__=c.prototype;var ae=oe.prototype.visit;oe.prototype.visit=function(t){switch(t.nodeName){case"root":case"block":case"expression":this.visitRoot(t);break;case"group":case"media":case"atblock":case"atrule":case"keyframes":case"each":case"supports":this.visit(t.block);break;default:ae.call(this,t)}},oe.prototype.visitRoot=function(t){for(var e=0,n=t.nodes.length;e1?match[1].trim():""}})}if(String.prototype.trimRight===undefined){String.prototype.trimRight=function(){return String(this).replace(/\s+$/,"")}}var stylus=function(){function require(p){var path=require.resolve(p),mod=require.modules[path];if(!mod)throw new Error('failed to require "'+p+'"');if(!mod.exports){mod.exports={};mod.call(mod.exports,mod,mod.exports,require.relative(path))}return mod.exports}var bifs="called-from = ()\n\nvendors = moz webkit o ms official\n\n// stringify the given arg\n\n-string(arg)\n type(arg) + ' ' + arg\n\n// require a color\n\nrequire-color(color)\n unless color is a 'color'\n error('RGB or HSL value expected, got a ' + -string(color))\n\n// require a unit\n\nrequire-unit(n)\n unless n is a 'unit'\n error('unit expected, got a ' + -string(n))\n\n// require a string\n\nrequire-string(str)\n unless str is a 'string' or str is a 'ident'\n error('string expected, got a ' + -string(str))\n\n// Math functions\n\nabs(n) { math(n, 'abs') }\nmin(a, b) { a < b ? a : b }\nmax(a, b) { a > b ? a : b }\n\n// Trigonometrics\nPI = -math-prop('PI')\n\nradians-to-degrees(angle)\n angle * (180 / PI)\n\ndegrees-to-radians(angle)\n unit(angle * (PI / 180),'')\n\nsin(n)\n n = degrees-to-radians(n) if unit(n) == 'deg'\n round(math(n, 'sin'), 9)\n\ncos(n)\n n = degrees-to-radians(n) if unit(n) == 'deg'\n round(math(n, 'cos'), 9)\n\n// Rounding Math functions\n\nceil(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'ceil') / multiplier\n\nfloor(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'floor') / multiplier\n\nround(n, precision = 0)\n multiplier = 10 ** precision\n math(n * multiplier, 'round') / multiplier\n\n// return the sum of the given numbers\n\nsum(nums)\n sum = 0\n sum += n for n in nums\n\n// return the average of the given numbers\n\navg(nums)\n sum(nums) / length(nums)\n\n// return a unitless number, or pass through\n\nremove-unit(n)\n if typeof(n) is 'unit'\n unit(n, '')\n else\n n\n\n// convert a percent to a decimal, or pass through\n\npercent-to-decimal(n)\n if unit(n) is '%'\n remove-unit(n) / 100\n else\n n\n\n// check if n is an odd number\n\nodd(n)\n 1 == n % 2\n\n// check if n is an even number\n\neven(n)\n 0 == n % 2\n\n// check if color is light\n\nlight(color)\n lightness(color) >= 50%\n\n// check if color is dark\n\ndark(color)\n lightness(color) < 50%\n\n// desaturate color by amount\n\ndesaturate(color, amount)\n adjust(color, 'saturation', - amount)\n\n// saturate color by amount\n\nsaturate(color = '', amount = 100%)\n if color is a 'color'\n adjust(color, 'saturation', amount)\n else\n unquote( 'saturate(' + color + ')' )\n\n// darken by the given amount\n\ndarken(color, amount)\n adjust(color, 'lightness', - amount)\n\n// lighten by the given amount\n\nlighten(color, amount)\n adjust(color, 'lightness', amount)\n\n// decrease opacity by amount\n\nfade-out(color, amount)\n color - rgba(black, percent-to-decimal(amount))\n\n// increase opacity by amount\n\nfade-in(color, amount)\n color + rgba(black, percent-to-decimal(amount))\n\n// spin hue by a given amount\n\nspin(color, amount)\n color + unit(amount, deg)\n\n// mix two colors by a given amount\n\nmix(color1, color2, weight = 50%)\n unless weight in 0..100\n error('Weight must be between 0% and 100%')\n\n if length(color1) == 2\n weight = color1[0]\n color1 = color1[1]\n\n else if length(color2) == 2\n weight = 100 - color2[0]\n color2 = color2[1]\n\n require-color(color1)\n require-color(color2)\n\n p = unit(weight / 100, '')\n w = p * 2 - 1\n\n a = alpha(color1) - alpha(color2)\n\n w1 = (((w * a == -1) ? w : (w + a) / (1 + w * a)) + 1) / 2\n w2 = 1 - w1\n\n channels = (red(color1) red(color2)) (green(color1) green(color2)) (blue(color1) blue(color2))\n rgb = ()\n\n for pair in channels\n push(rgb, floor(pair[0] * w1 + pair[1] * w2))\n\n a1 = alpha(color1) * p\n a2 = alpha(color2) * (1 - p)\n alpha = a1 + a2\n\n rgba(rgb[0], rgb[1], rgb[2], alpha)\n\n// invert colors, leave alpha intact\n\ninvert(color = '')\n if color is a 'color'\n rgba(#fff - color, alpha(color))\n else\n unquote( 'invert(' + color + ')' )\n\n// give complement of the given color\n\ncomplement( color )\n spin( color, 180 )\n\n// give grayscale of the given color\n\ngrayscale( color = '' )\n if color is a 'color'\n desaturate( color, 100% )\n else\n unquote( 'grayscale(' + color + ')' )\n\n// mix the given color with white\n\ntint( color, percent )\n mix( white, color, percent )\n\n// mix the given color with black\n\nshade( color, percent )\n mix( black, color, percent )\n\n// return the last value in the given expr\n\nlast(expr)\n expr[length(expr) - 1]\n\n// return keys in the given pairs or object\n\nkeys(pairs)\n ret = ()\n if type(pairs) == 'object'\n for key in pairs\n push(ret, key)\n else\n for pair in pairs\n push(ret, pair[0]);\n ret\n\n// return values in the given pairs or object\n\nvalues(pairs)\n ret = ()\n if type(pairs) == 'object'\n for key, val in pairs\n push(ret, val)\n else\n for pair in pairs\n push(ret, pair[1]);\n ret\n\n// join values with the given delimiter\n\njoin(delim, vals...)\n buf = ''\n vals = vals[0] if length(vals) == 1\n for val, i in vals\n buf += i ? delim + val : val\n\n// add a CSS rule to the containing block\n\n// - This definition allows add-property to be used as a mixin\n// - It has the same effect as interpolation but allows users\n// to opt for a functional style\n\nadd-property-function = add-property\nadd-property(name, expr)\n if mixin\n {name} expr\n else\n add-property-function(name, expr)\n\nprefix-classes(prefix)\n -prefix-classes(prefix, block)\n\n// Caching mixin, use inside your functions to enable caching by extending.\n\n$stylus_mixin_cache = {}\ncache()\n $key = (current-media() or 'no-media') + '__' + called-from[0] + '__' + arguments\n if $key in $stylus_mixin_cache\n @extend {'$cache_placeholder_for_' + $stylus_mixin_cache[$key]}\n else if 'cache' in called-from\n {block}\n else\n $id = length($stylus_mixin_cache)\n\n &,\n /$cache_placeholder_for_{$id}\n $stylus_mixin_cache[$key] = $id\n {block}\n\n// Percentage function to convert a number, e.g. '.45', into a percentage, e.g. '45%'\n\npercentage(num)\n return unit(num * 100, '%')\n\n// Returns the position of a `value` within a `list`\n\nindex(list, value)\n for val, i in list\n return i if val == value\n";require.modules={};require.resolve=function(path){var orig=path,reg=path+".js",index=path+"/index.js";return require.modules[reg]&®||require.modules[index]&&index||orig};require.register=function(path,fn){require.modules[path]=fn};require.relative=function(parent){return function(p){if("."!=p[0])return require(p);var path=parent.split("/"),segs=p.split("/");path.pop();for(var i=0;i=0;i--){var last=parts[i];if(last=="."){parts.splice(i,1)}else if(last===".."){parts.splice(i,1);up++}else if(up){parts.splice(i,1);up--}}if(allowAboveRoot){for(;up--;up){parts.unshift("..")}}return parts}var splitPathRe=/^([\s\S]+\/(?!$)|\/)?((?:[\s\S]+?)?(\.[^.]*)?)$/;exports.normalize=function(path){var isAbsolute=path.charAt(0)==="/",trailingSlash=path.slice(-1)==="/";path=normalizeArray(path.split("/").filter(function(p){return!!p}),!isAbsolute).join("/");if(!path&&!isAbsolute){path="."}if(path&&trailingSlash){path+="/"}return(isAbsolute?"/":"")+path};exports.join=function(){var paths=Array.prototype.slice.call(arguments,0);return exports.normalize(paths.filter(function(p,index){return p&&typeof p==="string"}).join("/"))};exports.relative=function(from,to){from=exports.resolve(from).substr(1);to=exports.resolve(to).substr(1);function trim(arr){var start=0;for(;start=0;end--){if(arr[end]!=="")break}if(start>end)return[];return arr.slice(start,end-start+1)}var fromParts=trim(from.split("/"));var toParts=trim(to.split("/"));var length=Math.min(fromParts.length,toParts.length);var samePartsLength=length;for(var i=0;isizeLimit)return literal;if(enc&&"utf8"==enc.first.val.toLowerCase()){encoding=encodingTypes.UTF8;result=buf.toString("utf8").replace(/\s+/g," ").replace(/[{}\|\\\^~\[\]`"<>#%]/g,function(match){return"%"+match[0].charCodeAt(0).toString(16).toUpperCase()}).trim()}else{result=buf.toString(encoding)+hash}return new nodes.Literal('url("data:'+mime+";"+encoding+","+result+'")')}fn.raw=true;return fn};module.exports.mimes=defaultMimes});require.register("functions/add-property.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");(module.exports=function addProperty(name,expr){utils.assertType(name,"expression","name");name=utils.unwrap(name).first;utils.assertString(name,"name");utils.assertType(expr,"expression","expr");var prop=new nodes.Property([name],expr);var block=this.closestBlock;var len=block.nodes.length,head=block.nodes.slice(0,block.index),tail=block.nodes.slice(block.index++,len);head.push(prop);block.nodes=head.concat(tail);return prop}).raw=true});require.register("functions/adjust.js",function(module,exports,require){var utils=require("../utils");module.exports=function adjust(color,prop,amount){utils.assertColor(color,"color");utils.assertString(prop,"prop");utils.assertType(amount,"unit","amount");var hsl=color.hsla.clone();prop={hue:"h",saturation:"s",lightness:"l"}[prop.string];if(!prop)throw new Error("invalid adjustment property");var val=amount.val;if("%"==amount.type){val="l"==prop&&val>0?(100-hsl[prop])*val/100:hsl[prop]*(val/100)}hsl[prop]+=val;return hsl.rgba}});require.register("functions/alpha.js",function(module,exports,require){var nodes=require("../nodes"),rgba=require("./rgba");module.exports=function alpha(color,value){color=color.rgba;if(value){return rgba(new nodes.Unit(color.r),new nodes.Unit(color.g),new nodes.Unit(color.b),value)}return new nodes.Unit(color.a,"")}});require.register("functions/base-convert.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");(module.exports=function(num,base,width){utils.assertPresent(num,"number");utils.assertPresent(base,"base");num=utils.unwrap(num).nodes[0].val;base=utils.unwrap(base).nodes[0].val;width=width&&utils.unwrap(width).nodes[0].val||2;var result=Number(num).toString(base);while(result.lengthtop.a){top=blend(top,bottom)}var l1=luminosity(bottom).val+.05,l2=luminosity(top).val+.05,ratio=l1/l2;if(l2>l1){ratio=1/ratio}return Math.round(ratio*10)/10}if(1<=bottom.a){var resultRatio=new nodes.Unit(contrast(top,bottom));result.set("ratio",resultRatio);result.set("error",new nodes.Unit(0));result.set("min",resultRatio);result.set("max",resultRatio)}else{var onBlack=contrast(top,blend(bottom,new nodes.RGBA(0,0,0,1))),onWhite=contrast(top,blend(bottom,new nodes.RGBA(255,255,255,1))),max=Math.max(onBlack,onWhite);function processChannel(topChannel,bottomChannel){return Math.min(Math.max(0,(topChannel-bottomChannel*bottom.a)/(1-bottom.a)),255)}var closest=new nodes.RGBA(processChannel(top.r,bottom.r),processChannel(top.g,bottom.g),processChannel(top.b,bottom.b),1);var min=contrast(top,blend(bottom,closest));result.set("ratio",new nodes.Unit(Math.round((min+max)*50)/100));result.set("error",new nodes.Unit(Math.round((max-min)*50)/100));result.set("min",new nodes.Unit(min));result.set("max",new nodes.Unit(max))}return result}});require.register("functions/convert.js",function(module,exports,require){var utils=require("../utils");module.exports=function convert(str){utils.assertString(str,"str");return utils.parseString(str.string)}});require.register("functions/current-media.js",function(module,exports,require){var nodes=require("../nodes");module.exports=function currentMedia(){var self=this;return new nodes.String(lookForMedia(this.closestBlock.node)||"");function lookForMedia(node){if("media"==node.nodeName){node.val=self.visit(node.val);return node.toString()}else if(node.block.parent.node){return lookForMedia(node.block.parent.node)}}}});require.register("functions/define.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function define(name,expr,global){utils.assertType(name,"string","name");expr=utils.unwrap(expr);var scope=this.currentScope;if(global&&global.toBoolean().isTrue){scope=this.global.scope}var node=new nodes.Ident(name.val,expr);scope.add(node);return nodes.nil}});require.register("functions/dirname.js",function(module,exports,require){var utils=require("../utils"),path=require("../path");module.exports=function dirname(p){utils.assertString(p,"path");return path.dirname(p.val).replace(/\\/g,"/")}});require.register("functions/error.js",function(module,exports,require){var utils=require("../utils");module.exports=function error(msg){utils.assertType(msg,"string","msg");var err=new Error(msg.val);err.fromStylus=true;throw err}});require.register("functions/extname.js",function(module,exports,require){var utils=require("../utils"),path=require("../path");module.exports=function extname(p){utils.assertString(p,"path");return path.extname(p.val)}});require.register("functions/green.js",function(module,exports,require){var nodes=require("../nodes"),rgba=require("./rgba");module.exports=function green(color,value){color=color.rgba;if(value){return rgba(new nodes.Unit(color.r),value,new nodes.Unit(color.b),new nodes.Unit(color.a))}return new nodes.Unit(color.g,"")}});require.register("functions/hsl.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes"),hsla=require("./hsla");module.exports=function hsl(hue,saturation,lightness){if(1==arguments.length){utils.assertColor(hue,"color");return hue.hsla}else{return hsla(hue,saturation,lightness,new nodes.Unit(1))}}});require.register("functions/hsla.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function hsla(hue,saturation,lightness,alpha){switch(arguments.length){case 1:utils.assertColor(hue);return hue.hsla;case 2:utils.assertColor(hue);var color=hue.hsla;utils.assertType(saturation,"unit","alpha");var alpha=saturation.clone();if("%"==alpha.type)alpha.val/=100;return new nodes.HSLA(color.h,color.s,color.l,alpha.val);default:utils.assertType(hue,"unit","hue");utils.assertType(saturation,"unit","saturation");utils.assertType(lightness,"unit","lightness");utils.assertType(alpha,"unit","alpha");var alpha=alpha.clone();if(alpha&&"%"==alpha.type)alpha.val/=100;return new nodes.HSLA(hue.val,saturation.val,lightness.val,alpha.val)}}});require.register("functions/hue.js",function(module,exports,require){var nodes=require("../nodes"),hsla=require("./hsla"),component=require("./component");module.exports=function hue(color,value){if(value){var hslaColor=color.hsla;return hsla(value,new nodes.Unit(hslaColor.s),new nodes.Unit(hslaColor.l),new nodes.Unit(hslaColor.a))}return component(color,new nodes.String("hue"))}});require.register("functions/length.js",function(module,exports,require){var utils=require("../utils");(module.exports=function length(expr){if(expr){if(expr.nodes){var nodes=utils.unwrap(expr).nodes;if(1==nodes.length&&"object"==nodes[0].nodeName){return nodes[0].length}else{return nodes.length}}else{return 1}}return 0}).raw=true});require.register("functions/lightness.js",function(module,exports,require){var nodes=require("../nodes"),hsla=require("./hsla"),component=require("./component");module.exports=function lightness(color,value){if(value){var hslaColor=color.hsla;return hsla(new nodes.Unit(hslaColor.h),new nodes.Unit(hslaColor.s),value,new nodes.Unit(hslaColor.a))}return component(color,new nodes.String("lightness"))}});require.register("functions/list-separator.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");(module.exports=function listSeparator(list){list=utils.unwrap(list);return new nodes.String(list.isList?",":" ")}).raw=true});require.register("functions/lookup.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function lookup(name){utils.assertType(name,"string","name");var node=this.lookup(name.val);if(!node)return nodes.nil;return this.visit(node)}});require.register("functions/luminosity.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function luminosity(color){utils.assertColor(color);color=color.rgba;function processChannel(channel){channel=channel/255;return.03928>channel?channel/12.92:Math.pow((channel+.055)/1.055,2.4)}return new nodes.Unit(.2126*processChannel(color.r)+.7152*processChannel(color.g)+.0722*processChannel(color.b))}});require.register("functions/match.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");var VALID_FLAGS="igm";module.exports=function match(pattern,val,flags){utils.assertType(pattern,"string","pattern");utils.assertString(val,"val");var re=new RegExp(pattern.val,validateFlags(flags)?flags.string:"");return val.string.match(re)};function validateFlags(flags){flags=flags&&flags.string;if(flags){return flags.split("").every(function(flag){return~VALID_FLAGS.indexOf(flag)})}return false}});require.register("functions/math-prop.js",function(module,exports,require){var nodes=require("../nodes");module.exports=function math(prop){return new nodes.Unit(Math[prop.string])}});require.register("functions/math.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function math(n,fn){utils.assertType(n,"unit","n");utils.assertString(fn,"fn");return new nodes.Unit(Math[fn.string](n.val),n.type)}});require.register("functions/merge.js",function(module,exports,require){var utils=require("../utils");(module.exports=function merge(dest){utils.assertPresent(dest,"dest");dest=utils.unwrap(dest).first;utils.assertType(dest,"object","dest");var last=utils.unwrap(arguments[arguments.length-1]).first,deep=true===last.val;for(var i=1,len=arguments.length-deep;i1){if(expr.isList){pushToStack(expr.nodes,stack)}else{stack.push(parse(expr.nodes.map(function(node){utils.assertString(node,"selector");return node.string}).join(" ")))}}}else if(args.length>1){pushToStack(args,stack)}return stack.length?utils.compileSelectors(stack).join(","):"&"}).raw=true;function pushToStack(selectors,stack){selectors.forEach(function(sel){sel=sel.first;utils.assertString(sel,"selector");stack.push(parse(sel.string))})}function parse(selector){var Parser=new require("../parser"),parser=new Parser(selector),nodes;parser.state.push("selector-parts");nodes=parser.selector();nodes.forEach(function(node){node.val=node.segments.map(function(seg){return seg.toString()}).join("")});return nodes}});require.register("functions/selectors.js",function(module,exports,require){var nodes=require("../nodes"),Parser=require("../selector-parser");module.exports=function selectors(){var stack=this.selectorStack,expr=new nodes.Expression(true);if(stack.length){for(var i=0;i1){expr.push(new nodes.String(group.map(function(selector){nested=new Parser(selector.val).parse().nested;return(nested&&i?"& ":"")+selector.val}).join(",")))}else{var selector=group[0].val;nested=new Parser(selector).parse().nested;expr.push(new nodes.String((nested&&i?"& ":"")+selector))}}}else{expr.push(new nodes.String("&"))}return expr}});require.register("functions/shift.js",function(module,exports,require){var utils=require("../utils");(module.exports=function(expr){expr=utils.unwrap(expr);return expr.nodes.shift()}).raw=true});require.register("functions/split.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function split(delim,val){utils.assertString(delim,"delimiter");utils.assertString(val,"val");var splitted=val.string.split(delim.string);var expr=new nodes.Expression;var ItemNode=val instanceof nodes.Ident?nodes.Ident:nodes.String;for(var i=0,len=splitted.length;i1){return utils.coerce(val.slice(start,end),true)}var result=val[0].string.slice(start,end);return val[0]instanceof nodes.Ident?new nodes.Ident(result):new nodes.String(result)}).raw=true});require.register("functions/substr.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function substr(val,start,length){utils.assertString(val,"val");utils.assertType(start,"unit","start");length=length&&length.val;var res=val.string.substr(start.val,length);return val instanceof nodes.Ident?new nodes.Ident(res):new nodes.String(res)}});require.register("functions/tan.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function tan(angle){utils.assertType(angle,"unit","angle");var radians=angle.val;if(angle.type==="deg"){radians*=Math.PI/180}var m=Math.pow(10,9);var sin=Math.round(Math.sin(radians)*m)/m,cos=Math.round(Math.cos(radians)*m)/m,tan=Math.round(m*sin/cos)/m;return new nodes.Unit(tan,"")}});require.register("functions/trace.js",function(module,exports,require){var nodes=require("../nodes");module.exports=function trace(){console.log(this.stack);return nodes.nil}});require.register("functions/transparentify.js",function(module,exports,require){var utils=require("../utils"),nodes=require("../nodes");module.exports=function transparentify(top,bottom,alpha){utils.assertColor(top);top=top.rgba;bottom=bottom||new nodes.RGBA(255,255,255,1);if(!alpha&&bottom&&!bottom.rgba){alpha=bottom;bottom=new nodes.RGBA(255,255,255,1)}utils.assertColor(bottom);bottom=bottom.rgba;var bestAlpha=["r","g","b"].map(function(channel){return(top[channel]-bottom[channel])/((0s.lastIndexOf("*/",offset),commentIdx=s.lastIndexOf("//",offset),i=s.lastIndexOf("\n",offset),double=0,single=0;if(~commentIdx&&commentIdx>i){while(i!=offset){if("'"==s[i])single?single--:single++;if('"'==s[i])double?double--:double++;if("/"==s[i]&&"/"==s[i+1]){inComment=!single&&!double;break}++i}}return inComment?str:val+"\r"}if("\ufeff"==str.charAt(0))str=str.slice(1);this.str=str.replace(/\s+$/,"\n").replace(/\r\n?/g,"\n").replace(/\\ *\n/g,"\r").replace(/([,(:](?!\/\/[^ ])) *(?:\/\/[^\n]*|\/\*.*?\*\/)?\n\s*/g,comment).replace(/\s*\n[ \t]*([,)])/g,comment)}Lexer.prototype={inspect:function(){var tok,tmp=this.str,buf=[];while("eos"!=(tok=this.next()).type){buf.push(tok.inspect())}this.str=tmp;return buf.concat(tok.inspect()).join("\n")},lookahead:function(n){var fetch=n-this.stash.length;while(fetch-- >0)this.stash.push(this.advance());return this.stash[--n]},skip:function(len){var chunk=len[0];len=chunk?chunk.length:len;this.str=this.str.substr(len);if(chunk){this.move(chunk)}else{this.column+=len}},move:function(str){var lines=str.match(/\n/g),idx=str.lastIndexOf("\n");if(lines)this.lineno+=lines.length;this.column=~idx?str.length-idx:this.column+str.length},next:function(){var tok=this.stashed()||this.advance();this.prev=tok;return tok},isPartOfSelector:function(){var tok=this.stash[this.stash.length-1]||this.prev;switch(tok&&tok.type){case"color":return 2==tok.val.raw.length;case".":case"[":return true}return false},advance:function(){var column=this.column,line=this.lineno,tok=this.eos()||this.nil()||this.sep()||this.keyword()||this.urlchars()||this.comment()||this.newline()||this.escaped()||this.important()||this.literal()||this.fun()||this.anonFunc()||this.atrule()||this.brace()||this.paren()||this.color()||this.string()||this.unit()||this.namedop()||this.boolean()||this.unicode()||this.ident()||this.op()||this.eol()||this.space()||this.selector();tok.lineno=line;tok.column=column;return tok},peek:function(){return this.lookahead(1)},stashed:function(){return this.stash.shift()},eos:function(){if(this.str.length)return;if(this.indentStack.length){this.indentStack.shift();return new Token("outdent")}else{return new Token("eos")}},urlchars:function(){var captures;if(!this.isURL)return;if(captures=/^[\/:@.;?&=*!,<>#%0-9]+/.exec(this.str)){this.skip(captures);return new Token("literal",new nodes.Literal(captures[0]))}},sep:function(){var captures;if(captures=/^;[ \t]*/.exec(this.str)){this.skip(captures);return new Token(";")}},eol:function(){if("\r"==this.str[0]){++this.lineno;this.skip(1);return this.advance()}},space:function(){var captures;if(captures=/^([ \t]+)/.exec(this.str)){this.skip(captures);return new Token("space")}},escaped:function(){var captures;if(captures=/^\\(.)[ \t]*/.exec(this.str)){var c=captures[1];this.skip(captures);return new Token("ident",new nodes.Literal(c))}},literal:function(){var captures;if(captures=/^@css[ \t]*\{/.exec(this.str)){this.skip(captures);var c,braces=1,css="",node;while(c=this.str[0]){this.str=this.str.substr(1);switch(c){case"{":++braces;break;case"}":--braces;break;case"\n":case"\r":++this.lineno;break}css+=c;if(!braces)break}css=css.replace(/\s*}$/,"");node=new nodes.Literal(css);node.css=true;return new Token("literal",node)}},important:function(){var captures;if(captures=/^!important[ \t]*/.exec(this.str)){this.skip(captures);return new Token("ident",new nodes.Literal("!important"))}},brace:function(){var captures;if(captures=/^([{}])/.exec(this.str)){this.skip(1);var brace=captures[1];return new Token(brace,brace)}},paren:function(){var captures;if(captures=/^([()])([ \t]*)/.exec(this.str)){var paren=captures[1];this.skip(captures);if(")"==paren)this.isURL=false;var tok=new Token(paren,paren);tok.space=captures[2];return tok}},nil:function(){var captures,tok;if(captures=/^(null)\b[ \t]*/.exec(this.str)){this.skip(captures);if(this.isPartOfSelector()){tok=new Token("ident",new nodes.Ident(captures[0]))}else{tok=new Token("null",nodes.nil)}return tok}},keyword:function(){var captures,tok;if(captures=/^(return|if|else|unless|for|in)\b[ \t]*/.exec(this.str)){var keyword=captures[1];this.skip(captures);if(this.isPartOfSelector()){tok=new Token("ident",new nodes.Ident(captures[0]))}else{tok=new Token(keyword,keyword)}return tok}},namedop:function(){var captures,tok;if(captures=/^(not|and|or|is a|is defined|isnt|is not|is)(?!-)\b([ \t]*)/.exec(this.str)){var op=captures[1];this.skip(captures);if(this.isPartOfSelector()){tok=new Token("ident",new nodes.Ident(captures[0]))}else{op=alias[op]||op;tok=new Token(op,op)}tok.space=captures[2];return tok}},op:function(){var captures;if(captures=/^([.]{1,3}|&&|\|\||[!<>=?:]=|\*\*|[-+*\/%]=?|[,=?:!~<>&\[\]])([ \t]*)/.exec(this.str)){var op=captures[1];this.skip(captures);op=alias[op]||op;var tok=new Token(op,op);tok.space=captures[2];this.isURL=false;return tok}},anonFunc:function(){var tok;if("@"==this.str[0]&&"("==this.str[1]){this.skip(2);tok=new Token("function",new nodes.Ident("anonymous"));tok.anonymous=true;return tok}},atrule:function(){var captures;if(captures=/^@(?:-(\w+)-)?([a-zA-Z0-9-_]+)[ \t]*/.exec(this.str)){this.skip(captures);var vendor=captures[1],type=captures[2],tok;switch(type){case"require":case"import":case"charset":case"namespace":case"media":case"scope":case"supports":return new Token(type);case"document":return new Token("-moz-document");case"block":return new Token("atblock");case"extend":case"extends":return new Token("extend");case"keyframes":return new Token(type,vendor);default:return new Token("atrule",vendor?"-"+vendor+"-"+type:type)}}},comment:function(){if("/"==this.str[0]&&"/"==this.str[1]){var end=this.str.indexOf("\n");if(-1==end)end=this.str.length;this.skip(end);return this.advance()}if("/"==this.str[0]&&"*"==this.str[1]){var end=this.str.indexOf("*/");if(-1==end)end=this.str.length;var str=this.str.substr(0,end+2),lines=str.split(/\n|\r/).length-1,suppress=true,inline=false;this.lineno+=lines;this.skip(end+2);if("!"==str[2]){str=str.replace("*!","*");suppress=false}if(this.prev&&";"==this.prev.type)inline=true;return new Token("comment",new nodes.Comment(str,suppress,inline))}},"boolean":function(){var captures;if(captures=/^(true|false)\b([ \t]*)/.exec(this.str)){var val=nodes.Boolean("true"==captures[1]);this.skip(captures);var tok=new Token("boolean",val);tok.space=captures[2];return tok}},unicode:function(){var captures;if(captures=/^u\+[0-9a-f?]{1,6}(?:-[0-9a-f]{1,6})?/i.exec(this.str)){this.skip(captures);return new Token("literal",new nodes.Literal(captures[0]))}},fun:function(){var captures;if(captures=/^(-*[_a-zA-Z$][-\w\d$]*)\(([ \t]*)/.exec(this.str)){var name=captures[1];this.skip(captures);this.isURL="url"==name;var tok=new Token("function",new nodes.Ident(name));tok.space=captures[2];return tok}},ident:function(){var captures;if(captures=/^-*[_a-zA-Z$][-\w\d$]*/.exec(this.str)){this.skip(captures);return new Token("ident",new nodes.Ident(captures[0]))}},newline:function(){var captures,re;if(this.indentRe){captures=this.indentRe.exec(this.str)}else{re=/^\n([\t]*)[ \t]*/;captures=re.exec(this.str);if(captures&&!captures[1].length){re=/^\n([ \t]*)/;captures=re.exec(this.str)}if(captures&&captures[1].length)this.indentRe=re}if(captures){var tok,indents=captures[1].length;this.skip(captures);if(this.str[0]===" "||this.str[0]===" "){throw new errors.SyntaxError("Invalid indentation. You can use tabs or spaces to indent, but not both.")}if("\n"==this.str[0])return this.advance();if(this.indentStack.length&&indentsindents){this.stash.push(new Token("outdent"));this.indentStack.shift()}tok=this.stash.pop()}else if(indents&&indents!=this.indentStack[0]){this.indentStack.unshift(indents);tok=new Token("indent")}else{tok=new Token("newline")}return tok}},unit:function(){var captures;if(captures=/^(-)?(\d+\.\d+|\d+|\.\d+)(%|[a-zA-Z]+)?[ \t]*/.exec(this.str)){this.skip(captures);var n=parseFloat(captures[2]);if("-"==captures[1])n=-n;var node=new nodes.Unit(n,captures[3]);node.raw=captures[0];return new Token("unit",node)}},string:function(){var captures;if(captures=/^("[^"]*"|'[^']*')[ \t]*/.exec(this.str)){var str=captures[1],quote=captures[0][0];this.skip(captures);str=str.slice(1,-1).replace(/\\n/g,"\n");return new Token("string",new nodes.String(str,quote))}},color:function(){return this.rrggbbaa()||this.rrggbb()||this.rgba()||this.rgb()||this.nn()||this.n()},n:function(){var captures;if(captures=/^#([a-fA-F0-9]{1})[ \t]*/.exec(this.str)){this.skip(captures);var n=parseInt(captures[1]+captures[1],16),color=new nodes.RGBA(n,n,n,1);color.raw=captures[0];return new Token("color",color)}},nn:function(){var captures;if(captures=/^#([a-fA-F0-9]{2})[ \t]*/.exec(this.str)){this.skip(captures);var n=parseInt(captures[1],16),color=new nodes.RGBA(n,n,n,1);color.raw=captures[0];return new Token("color",color)}},rgb:function(){var captures;if(captures=/^#([a-fA-F0-9]{3})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb[0]+rgb[0],16),g=parseInt(rgb[1]+rgb[1],16),b=parseInt(rgb[2]+rgb[2],16),color=new nodes.RGBA(r,g,b,1);color.raw=captures[0];return new Token("color",color)}},rgba:function(){var captures;if(captures=/^#([a-fA-F0-9]{4})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb[0]+rgb[0],16),g=parseInt(rgb[1]+rgb[1],16),b=parseInt(rgb[2]+rgb[2],16),a=parseInt(rgb[3]+rgb[3],16),color=new nodes.RGBA(r,g,b,a/255);color.raw=captures[0];return new Token("color",color)}},rrggbb:function(){var captures;if(captures=/^#([a-fA-F0-9]{6})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb.substr(0,2),16),g=parseInt(rgb.substr(2,2),16),b=parseInt(rgb.substr(4,2),16),color=new nodes.RGBA(r,g,b,1);color.raw=captures[0];return new Token("color",color)}},rrggbbaa:function(){var captures;if(captures=/^#([a-fA-F0-9]{8})[ \t]*/.exec(this.str)){this.skip(captures);var rgb=captures[1],r=parseInt(rgb.substr(0,2),16),g=parseInt(rgb.substr(2,2),16),b=parseInt(rgb.substr(4,2),16),a=parseInt(rgb.substr(6,2),16),color=new nodes.RGBA(r,g,b,a/255);color.raw=captures[0];return new Token("color",color)}},selector:function(){var captures;if(captures=/^\^|.*?(?=\/\/(?![^\[]*\])|[,\n{])/.exec(this.str)){var selector=captures[0];this.skip(captures);return new Token("selector",selector)}}}});require.register("nodes/arguments.js",function(module,exports,require){var Node=require("./node"),nodes=require("../nodes"),utils=require("../utils");var Arguments=module.exports=function Arguments(){nodes.Expression.call(this);this.map={}};Arguments.prototype.__proto__=nodes.Expression.prototype;Arguments.fromExpression=function(expr){var args=new Arguments,len=expr.nodes.length;args.lineno=expr.lineno;args.column=expr.column;args.isList=expr.isList;for(var i=0;ilen)self.nodes[i]=nodes.nil;self.nodes[n]=val}else if(unit.string){node=self.nodes[0];if(node&&"object"==node.nodeName)node.set(unit.string,val.clone())}});return val;case"[]":var expr=new nodes.Expression,vals=utils.unwrap(this).nodes,range=utils.unwrap(right).nodes,node;range.forEach(function(unit){if("unit"==unit.nodeName){node=vals[unit.val<0?vals.length+unit.val:unit.val]}else if("object"==vals[0].nodeName){node=vals[0].get(unit.string)}if(node)expr.push(node)});return expr.isEmpty?nodes.nil:utils.unwrap(expr);case"||":return this.toBoolean().isTrue?this:right;case"in":return Node.prototype.operate.call(this,op,right);case"!=":return this.operate("==",right,val).negate();case"==":var len=this.nodes.length,right=right.toExpression(),a,b;if(len!=right.nodes.length)return nodes.no;for(var i=0;i1)return nodes.yes;return this.first.toBoolean()};Expression.prototype.toString=function(){return"("+this.nodes.map(function(node){return node.toString()}).join(this.isList?", ":" ")+")"};Expression.prototype.toJSON=function(){return{__type:"Expression",isList:this.isList,preserve:this.preserve,lineno:this.lineno,column:this.column,filename:this.filename,nodes:this.nodes}}});require.register("nodes/function.js",function(module,exports,require){var Node=require("./node");var Function=module.exports=function Function(name,params,body){Node.call(this);this.name=name;this.params=params;this.block=body;if("function"==typeof params)this.fn=params};Function.prototype.__defineGetter__("arity",function(){return this.params.length});Function.prototype.__proto__=Node.prototype;Function.prototype.__defineGetter__("hash",function(){return"function "+this.name});Function.prototype.clone=function(parent){ -if(this.fn){var clone=new Function(this.name,this.fn)}else{var clone=new Function(this.name);clone.params=this.params.clone(parent,clone);clone.block=this.block.clone(parent,clone)}clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Function.prototype.toString=function(){if(this.fn){return this.name+"("+this.fn.toString().match(/^function *\w*\((.*?)\)/).slice(1).join(", ")+")"}else{return this.name+"("+this.params.nodes.join(", ")+")"}};Function.prototype.toJSON=function(){var json={__type:"Function",name:this.name,lineno:this.lineno,column:this.column,filename:this.filename};if(this.fn){json.fn=this.fn}else{json.params=this.params;json.block=this.block}return json}});require.register("nodes/group.js",function(module,exports,require){var Node=require("./node");var Group=module.exports=function Group(){Node.call(this);this.nodes=[];this.extends=[]};Group.prototype.__proto__=Node.prototype;Group.prototype.push=function(selector){this.nodes.push(selector)};Group.prototype.__defineGetter__("block",function(){return this.nodes[0].block});Group.prototype.__defineSetter__("block",function(block){for(var i=0,len=this.nodes.length;i=":case"<":case">":case"is a":case"||":case"&&":return this.rgba.operate(op,right);default:return this.rgba.operate(op,right).hsla}};exports.fromRGBA=function(rgba){var r=rgba.r/255,g=rgba.g/255,b=rgba.b/255,a=rgba.a;var min=Math.min(r,g,b),max=Math.max(r,g,b),l=(max+min)/2,d=max-min,h,s;switch(max){case min:h=0;break;case r:h=60*(g-b)/d;break;case g:h=60*(b-r)/d+120;break;case b:h=60*(r-g)/d+240;break}if(max==min){s=0}else if(l<.5){s=d/(2*l)}else{s=d/(2-2*l)}h%=360;s*=100;l*=100;return new HSLA(h,s,l,a)};HSLA.prototype.adjustLightness=function(percent){this.l=clampPercentage(this.l+this.l*(percent/100));return this};HSLA.prototype.adjustHue=function(deg){this.h=clampDegrees(this.h+deg);return this};function clampDegrees(n){n=n%360;return n>=0?n:360+n}function clampPercentage(n){return Math.max(0,Math.min(n,100))}function clampAlpha(n){return Math.max(0,Math.min(n,1))}});require.register("nodes/ident.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index");var Ident=module.exports=function Ident(name,val,mixin){Node.call(this);this.name=name;this.string=name;this.val=val||nodes.nil;this.mixin=!!mixin};Ident.prototype.__defineGetter__("isEmpty",function(){return undefined==this.val});Ident.prototype.__defineGetter__("hash",function(){return this.name});Ident.prototype.__proto__=Node.prototype;Ident.prototype.clone=function(parent){var clone=new Ident(this.name);clone.val=this.val.clone(parent,clone);clone.mixin=this.mixin;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;clone.property=this.property;clone.rest=this.rest;return clone};Ident.prototype.toJSON=function(){return{__type:"Ident",name:this.name,val:this.val,mixin:this.mixin,property:this.property,rest:this.rest,lineno:this.lineno,column:this.column,filename:this.filename}};Ident.prototype.toString=function(){return this.name};Ident.prototype.coerce=function(other){switch(other.nodeName){case"ident":case"string":case"literal":return new Ident(other.string);case"unit":return new Ident(other.toString());default:return Node.prototype.coerce.call(this,other)}};Ident.prototype.operate=function(op,right){var val=right.first;switch(op){case"-":if("unit"==val.nodeName){var expr=new nodes.Expression;val=val.clone();val.val=-val.val;expr.push(this);expr.push(val);return expr}case"+":return new nodes.Ident(this.string+this.coerce(val).string)}return Node.prototype.operate.call(this,op,right)}});require.register("nodes/if.js",function(module,exports,require){var Node=require("./node");var If=module.exports=function If(cond,negate){Node.call(this);this.cond=cond;this.elses=[];if(negate&&negate.nodeName){this.block=negate}else{this.negate=negate}};If.prototype.__proto__=Node.prototype;If.prototype.clone=function(parent){var clone=new If;clone.cond=this.cond.clone(parent,clone);clone.block=this.block.clone(parent,clone);clone.elses=this.elses.map(function(node){return node.clone(parent,clone)});clone.negate=this.negate;clone.postfix=this.postfix;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};If.prototype.toJSON=function(){return{__type:"If",cond:this.cond,block:this.block,elses:this.elses,negate:this.negate,postfix:this.postfix,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/import.js",function(module,exports,require){var Node=require("./node");var Import=module.exports=function Import(expr,once){Node.call(this);this.path=expr;this.once=once||false};Import.prototype.__proto__=Node.prototype;Import.prototype.clone=function(parent){var clone=new Import;clone.path=this.path.nodeName?this.path.clone(parent,clone):this.path;clone.once=this.once;clone.mtime=this.mtime;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Import.prototype.toJSON=function(){return{__type:"Import",path:this.path,once:this.once,mtime:this.mtime,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/extend.js",function(module,exports,require){var Node=require("./node");var Extend=module.exports=function Extend(selectors){Node.call(this);this.selectors=selectors};Extend.prototype.__proto__=Node.prototype;Extend.prototype.clone=function(){return new Extend(this.selectors)};Extend.prototype.toString=function(){return"@extend "+this.selectors.join(", ")};Extend.prototype.toJSON=function(){return{__type:"Extend",selectors:this.selectors,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/index.js",function(module,exports,require){exports.Node=require("./node");exports.Root=require("./root");exports.Null=require("./null");exports.Each=require("./each");exports.If=require("./if");exports.Call=require("./call");exports.UnaryOp=require("./unaryop");exports.BinOp=require("./binop");exports.Ternary=require("./ternary");exports.Block=require("./block");exports.Unit=require("./unit");exports.String=require("./string");exports.HSLA=require("./hsla");exports.RGBA=require("./rgba");exports.Ident=require("./ident");exports.Group=require("./group");exports.Literal=require("./literal");exports.Boolean=require("./boolean");exports.Return=require("./return");exports.Media=require("./media");exports.QueryList=require("./query-list");exports.Query=require("./query");exports.Feature=require("./feature");exports.Params=require("./params");exports.Comment=require("./comment");exports.Keyframes=require("./keyframes");exports.Member=require("./member");exports.Charset=require("./charset");exports.Namespace=require("./namespace");exports.Import=require("./import");exports.Extend=require("./extend");exports.Object=require("./object");exports.Function=require("./function");exports.Property=require("./property");exports.Selector=require("./selector");exports.Expression=require("./expression");exports.Arguments=require("./arguments");exports.Atblock=require("./atblock");exports.Atrule=require("./atrule");exports.Supports=require("./supports");exports.yes=new exports.Boolean(true);exports.no=new exports.Boolean(false);exports.nil=new exports.Null});require.register("nodes/keyframes.js",function(module,exports,require){var Atrule=require("./atrule");var Keyframes=module.exports=function Keyframes(segs,prefix){Atrule.call(this,"keyframes");this.segments=segs;this.prefix=prefix||"official"};Keyframes.prototype.__proto__=Atrule.prototype;Keyframes.prototype.clone=function(parent){var clone=new Keyframes;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;clone.segments=this.segments.map(function(node){return node.clone(parent,clone)});clone.prefix=this.prefix;clone.block=this.block.clone(parent,clone);return clone};Keyframes.prototype.toJSON=function(){return{__type:"Keyframes",segments:this.segments,prefix:this.prefix,block:this.block,lineno:this.lineno,column:this.column,filename:this.filename}};Keyframes.prototype.toString=function(){return"@keyframes "+this.segments.join("")}});require.register("nodes/literal.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index");var Literal=module.exports=function Literal(str){Node.call(this);this.val=str;this.string=str;this.prefixed=false};Literal.prototype.__proto__=Node.prototype;Literal.prototype.__defineGetter__("hash",function(){return this.val});Literal.prototype.toString=function(){return this.val};Literal.prototype.coerce=function(other){switch(other.nodeName){case"ident":case"string":case"literal":return new Literal(other.string);default:return Node.prototype.coerce.call(this,other)}};Literal.prototype.operate=function(op,right){var val=right.first;switch(op){case"+":return new nodes.Literal(this.string+this.coerce(val).string);default:return Node.prototype.operate.call(this,op,right)}};Literal.prototype.toJSON=function(){return{__type:"Literal",val:this.val,string:this.string,prefixed:this.prefixed,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/media.js",function(module,exports,require){var Atrule=require("./atrule");var Media=module.exports=function Media(val){Atrule.call(this,"media");this.val=val};Media.prototype.__proto__=Atrule.prototype;Media.prototype.clone=function(parent){var clone=new Media;clone.val=this.val.clone(parent,clone);clone.block=this.block.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Media.prototype.toJSON=function(){return{__type:"Media",val:this.val,block:this.block,lineno:this.lineno,column:this.column,filename:this.filename}};Media.prototype.toString=function(){return"@media "+this.val}});require.register("nodes/query-list.js",function(module,exports,require){var Node=require("./node");var QueryList=module.exports=function QueryList(){Node.call(this);this.nodes=[]};QueryList.prototype.__proto__=Node.prototype;QueryList.prototype.clone=function(parent){var clone=new QueryList;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;for(var i=0;i=":return nodes.Boolean(this.hash>=right.hash);case"<=":return nodes.Boolean(this.hash<=right.hash);case">":return nodes.Boolean(this.hash>right.hash);case"<":return nodes.Boolean(this.hash1)--h;if(h*6<1)return m1+(m2-m1)*h*6;if(h*2<1)return m2;if(h*3<2)return m1+(m2-m1)*(2/3-h)*6;return m1}return new RGBA(r,g,b,a)};function clamp(n){return Math.max(0,Math.min(n.toFixed(0),255))}function clampAlpha(n){return Math.max(0,Math.min(n,1))}});require.register("nodes/root.js",function(module,exports,require){var Node=require("./node");var Root=module.exports=function Root(){this.nodes=[]};Root.prototype.__proto__=Node.prototype;Root.prototype.push=function(node){this.nodes.push(node)};Root.prototype.unshift=function(node){this.nodes.unshift(node)};Root.prototype.clone=function(){var clone=new Root;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;this.nodes.forEach(function(node){clone.push(node.clone(clone,clone))});return clone};Root.prototype.toString=function(){return"[Root]"};Root.prototype.toJSON=function(){return{__type:"Root",nodes:this.nodes,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/selector.js",function(module,exports,require){var Block=require("./block"),Node=require("./node");var Selector=module.exports=function Selector(segs){Node.call(this);this.inherits=true;this.segments=segs;this.optional=false};Selector.prototype.__proto__=Node.prototype;Selector.prototype.toString=function(){return this.segments.join("")+(this.optional?" !optional":"")};Selector.prototype.__defineGetter__("isPlaceholder",function(){return this.val&&~this.val.substr(0,2).indexOf("$")});Selector.prototype.clone=function(parent){var clone=new Selector;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;clone.inherits=this.inherits;clone.val=this.val;clone.segments=this.segments.map(function(node){return node.clone(parent,clone)});clone.optional=this.optional;return clone};Selector.prototype.toJSON=function(){return{__type:"Selector",inherits:this.inherits,segments:this.segments,optional:this.optional,val:this.val,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/string.js",function(module,exports,require){var Node=require("./node"),sprintf=require("../functions").s,utils=require("../utils"),nodes=require("./index");var String=module.exports=function String(val,quote){Node.call(this);this.val=val;this.string=val;this.prefixed=false;if(typeof quote!=="string"){this.quote="'"}else{this.quote=quote}};String.prototype.__proto__=Node.prototype;String.prototype.toString=function(){return this.quote+this.val+this.quote};String.prototype.clone=function(){var clone=new String(this.val,this.quote);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};String.prototype.toJSON=function(){return{__type:"String",val:this.val,quote:this.quote,lineno:this.lineno,column:this.column,filename:this.filename}};String.prototype.toBoolean=function(){return nodes.Boolean(this.val.length)};String.prototype.coerce=function(other){switch(other.nodeName){case"string":return other;case"expression":return new String(other.nodes.map(function(node){return this.coerce(node).val},this).join(" "));default:return new String(other.toString())}};String.prototype.operate=function(op,right){switch(op){case"%":var expr=new nodes.Expression;expr.push(this);var args="expression"==right.nodeName?utils.unwrap(right).nodes:[right];return sprintf.apply(null,[expr].concat(args));case"+":var expr=new nodes.Expression;expr.push(new String(this.val+this.coerce(right).val));return expr;default:return Node.prototype.operate.call(this,op,right)}}});require.register("nodes/ternary.js",function(module,exports,require){var Node=require("./node");var Ternary=module.exports=function Ternary(cond,trueExpr,falseExpr){Node.call(this);this.cond=cond;this.trueExpr=trueExpr;this.falseExpr=falseExpr};Ternary.prototype.__proto__=Node.prototype;Ternary.prototype.clone=function(parent){var clone=new Ternary;clone.cond=this.cond.clone(parent,clone);clone.trueExpr=this.trueExpr.clone(parent,clone);clone.falseExpr=this.falseExpr.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Ternary.prototype.toJSON=function(){return{__type:"Ternary",cond:this.cond,trueExpr:this.trueExpr,falseExpr:this.falseExpr,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/unaryop.js",function(module,exports,require){var Node=require("./node");var UnaryOp=module.exports=function UnaryOp(op,expr){Node.call(this);this.op=op;this.expr=expr};UnaryOp.prototype.__proto__=Node.prototype;UnaryOp.prototype.clone=function(parent){var clone=new UnaryOp(this.op);clone.expr=this.expr.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};UnaryOp.prototype.toJSON=function(){return{__type:"UnaryOp",op:this.op,expr:this.expr,lineno:this.lineno,column:this.column,filename:this.filename}}});require.register("nodes/unit.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index");var FACTOR_TABLE={mm:{val:1,label:"mm"},cm:{val:10,label:"mm"},"in":{val:25.4,label:"mm"},pt:{val:25.4/72,label:"mm"},ms:{val:1,label:"ms"},s:{val:1e3,label:"ms"},Hz:{val:1,label:"Hz"},kHz:{val:1e3,label:"Hz"}};var Unit=module.exports=function Unit(val,type){Node.call(this);this.val=val;this.type=type};Unit.prototype.__proto__=Node.prototype;Unit.prototype.toBoolean=function(){return nodes.Boolean(this.type?true:this.val)};Unit.prototype.toString=function(){return this.val+(this.type||"")};Unit.prototype.clone=function(){var clone=new Unit(this.val,this.type);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Unit.prototype.toJSON=function(){return{__type:"Unit",val:this.val,type:this.type,lineno:this.lineno,column:this.column,filename:this.filename}};Unit.prototype.operate=function(op,right){var type=this.type||right.first.type;if("rgba"==right.nodeName||"hsla"==right.nodeName){return right.operate(op,this)}if(this.shouldCoerce(op)){right=right.first;if("%"!=this.type&&("-"==op||"+"==op)&&"%"==right.type){right=new Unit(this.val*(right.val/100),"%")}else{right=this.coerce(right)}switch(op){case"-":return new Unit(this.val-right.val,type);case"+":type=type||right.type=="%"&&right.type;return new Unit(this.val+right.val,type);case"/":return new Unit(this.val/right.val,type);case"*":return new Unit(this.val*right.val,type);case"%":return new Unit(this.val%right.val,type);case"**":return new Unit(Math.pow(this.val,right.val),type);case"..":case"...":var start=this.val,end=right.val,expr=new nodes.Expression,inclusive=".."==op;if(start=end:--start>end)}return expr}}return Node.prototype.operate.call(this,op,right)};Unit.prototype.coerce=function(other){if("unit"==other.nodeName){var a=this,b=other,factorA=FACTOR_TABLE[a.type],factorB=FACTOR_TABLE[b.type];if(factorA&&factorB&&factorA.label==factorB.label){var bVal=b.val*(factorB.val/factorA.val);return new nodes.Unit(bVal,a.type)}else{return new nodes.Unit(b.val,a.type)}}else if("string"==other.nodeName){if("%"==other.val)return new nodes.Unit(0,"%");var val=parseFloat(other.val);if(isNaN(val))Node.prototype.coerce.call(this,other);return new nodes.Unit(val)}else{return Node.prototype.coerce.call(this,other)}}});require.register("nodes/object.js",function(module,exports,require){var Node=require("./node"),nodes=require("./index"),nativeObj={}.constructor;var Object=module.exports=function Object(){Node.call(this);this.vals={}};Object.prototype.__proto__=Node.prototype;Object.prototype.set=function(key,val){this.vals[key]=val;return this};Object.prototype.__defineGetter__("length",function(){return nativeObj.keys(this.vals).length});Object.prototype.get=function(key){return this.vals[key]||nodes.nil};Object.prototype.has=function(key){return key in this.vals};Object.prototype.operate=function(op,right){switch(op){case".":case"[]":return this.get(right.hash);case"==":var vals=this.vals,a,b;if("object"!=right.nodeName||this.length!=right.length)return nodes.no;for(var key in vals){a=vals[key];b=right.vals[key];if(a.operate(op,b).isFalse)return nodes.no; -}return nodes.yes;case"!=":return this.operate("==",right).negate();default:return Node.prototype.operate.call(this,op,right)}};Object.prototype.toBoolean=function(){return nodes.Boolean(this.length)};Object.prototype.toBlock=function(){var str="{",key,val;for(key in this.vals){val=this.get(key);if("object"==val.first.nodeName){str+=key+" "+val.first.toBlock()}else{switch(key){case"@charset":str+=key+" "+val.first.toString()+";";break;default:str+=key+":"+toString(val)+";"}}}str+="}";return str;function toString(node){if(node.nodes){return node.nodes.map(toString).join(node.isList?",":" ")}else if("literal"==node.nodeName&&","==node.val){return"\\,"}return node.toString()}};Object.prototype.clone=function(parent){var clone=new Object;clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;for(var key in this.vals){clone.vals[key]=this.vals[key].clone(parent,clone)}return clone};Object.prototype.toJSON=function(){return{__type:"Object",vals:this.vals,lineno:this.lineno,column:this.column,filename:this.filename}};Object.prototype.toString=function(){var obj={};for(var prop in this.vals){obj[prop]=this.vals[prop].toString()}return JSON.stringify(obj)}});require.register("nodes/supports.js",function(module,exports,require){var Atrule=require("./atrule");var Supports=module.exports=function Supports(condition){Atrule.call(this,"supports");this.condition=condition};Supports.prototype.__proto__=Atrule.prototype;Supports.prototype.clone=function(parent){var clone=new Supports;clone.condition=this.condition.clone(parent,clone);clone.block=this.block.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Supports.prototype.toJSON=function(){return{__type:"Supports",condition:this.condition,block:this.block,lineno:this.lineno,column:this.column,filename:this.filename}};Supports.prototype.toString=function(){return"@supports "+this.condition}});require.register("nodes/member.js",function(module,exports,require){var Node=require("./node");var Member=module.exports=function Member(left,right){Node.call(this);this.left=left;this.right=right};Member.prototype.__proto__=Node.prototype;Member.prototype.clone=function(parent){var clone=new Member;clone.left=this.left.clone(parent,clone);clone.right=this.right.clone(parent,clone);if(this.val)clone.val=this.val.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Member.prototype.toJSON=function(){var json={__type:"Member",left:this.left,right:this.right,lineno:this.lineno,column:this.column,filename:this.filename};if(this.val)json.val=this.val;return json};Member.prototype.toString=function(){return this.left.toString()+"."+this.right.toString()}});require.register("nodes/atblock.js",function(module,exports,require){var Node=require("./node");var Atblock=module.exports=function Atblock(){Node.call(this)};Atblock.prototype.__defineGetter__("nodes",function(){return this.block.nodes});Atblock.prototype.__proto__=Node.prototype;Atblock.prototype.clone=function(parent){var clone=new Atblock;clone.block=this.block.clone(parent,clone);clone.lineno=this.lineno;clone.column=this.column;clone.filename=this.filename;return clone};Atblock.prototype.toString=function(){return"@block"};Atblock.prototype.toJSON=function(){return{__type:"Atblock",block:this.block,lineno:this.lineno,column:this.column,fileno:this.fileno}}});require.register("nodes/atrule.js",function(module,exports,require){var Node=require("./node");var Atrule=module.exports=function Atrule(type){Node.call(this);this.type=type};Atrule.prototype.__proto__=Node.prototype;Atrule.prototype.__defineGetter__("hasOnlyProperties",function(){if(!this.block)return false;var nodes=this.block.nodes;for(var i=0,len=nodes.length;i","=",":","&","&&","~","{","}",".","..","/"];var pseudoSelectors=["matches","not","dir","lang","any-link","link","visited","local-link","target","scope","hover","active","focus","drop","current","past","future","enabled","disabled","read-only","read-write","placeholder-shown","checked","indeterminate","valid","invalid","in-range","out-of-range","required","optional","user-error","root","empty","blank","nth-child","nth-last-child","first-child","last-child","only-child","nth-of-type","nth-last-of-type","first-of-type","last-of-type","only-of-type","nth-match","nth-last-match","nth-column","nth-last-column","first-line","first-letter","before","after","selection"];var Parser=module.exports=function Parser(str,options){var self=this;options=options||{};this.lexer=new Lexer(str,options);this.prefix=options.prefix||"";this.root=options.root||new nodes.Root;this.state=["root"];this.stash=[];this.parens=0;this.css=0;this.state.pop=function(){self.prevState=[].pop.call(this)}};Parser.prototype={constructor:Parser,currentState:function(){return this.state[this.state.length-1]},previousState:function(){return this.state[this.state.length-2]},parse:function(){var block=this.parent=this.root;while("eos"!=this.peek().type){this.skipWhitespace();if("eos"==this.peek().type)break;var stmt=this.statement();this.accept(";");if(!stmt)this.error("unexpected token {peek}, not allowed at the root level");block.push(stmt)}return block},error:function(msg){var type=this.peek().type,val=undefined==this.peek().val?"":" "+this.peek().toString();if(val.trim()==type.trim())val="";throw new errors.ParseError(msg.replace("{peek}",'"'+type+val+'"'))},accept:function(type){if(type==this.peek().type){return this.next()}},expect:function(type){if(type!=this.peek().type){this.error('expected "'+type+'", got {peek}')}return this.next()},next:function(){var tok=this.stash.length?this.stash.pop():this.lexer.next(),line=tok.lineno,column=tok.column||1;if(tok.val&&tok.val.nodeName){tok.val.lineno=line;tok.val.column=column}nodes.lineno=line;nodes.column=column;return tok},peek:function(){return this.lexer.peek()},lookahead:function(n){return this.lexer.lookahead(n)},isSelectorToken:function(n){var la=this.lookahead(n).type;switch(la){case"for":return this.bracketed;case"[":this.bracketed=true;return true;case"]":this.bracketed=false;return true;default:return~selectorTokens.indexOf(la)}},isPseudoSelector:function(n){var val=this.lookahead(n).val;return val&&~pseudoSelectors.indexOf(val.name)},lineContains:function(type){var i=1,la;while(la=this.lookahead(i++)){if(~["indent","outdent","newline","eos"].indexOf(la.type))return;if(type==la.type)return true}},selectorToken:function(){if(this.isSelectorToken(1)){if("{"==this.peek().type){if(!this.lineContains("}"))return;var i=0,la;while(la=this.lookahead(++i)){if("}"==la.type){if(i==2||i==3&&this.lookahead(i-1).type=="space")return;break}if(":"==la.type)return}}return this.next()}},skip:function(tokens){while(~tokens.indexOf(this.peek().type))this.next()},skipWhitespace:function(){this.skip(["space","indent","outdent","newline"])},skipNewlines:function(){while("newline"==this.peek().type)this.next()},skipSpaces:function(){while("space"==this.peek().type)this.next()},skipSpacesAndComments:function(){while("space"==this.peek().type||"comment"==this.peek().type)this.next()},looksLikeFunctionDefinition:function(i){return"indent"==this.lookahead(i).type||"{"==this.lookahead(i).type},looksLikeSelector:function(fromProperty){var i=1,brace;if(fromProperty&&":"==this.lookahead(i+1).type&&(this.lookahead(i+1).space||"indent"==this.lookahead(i+2).type))return false;while("ident"==this.lookahead(i).type&&("newline"==this.lookahead(i+1).type||","==this.lookahead(i+1).type))i+=2;while(this.isSelectorToken(i)||","==this.lookahead(i).type){if("selector"==this.lookahead(i).type)return true;if("&"==this.lookahead(i+1).type)return true;if("."==this.lookahead(i).type&&"ident"==this.lookahead(i+1).type)return true;if("*"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true;if(":"==this.lookahead(i).type&&":"==this.lookahead(i+1).type)return true;if("color"==this.lookahead(i).type&&"newline"==this.lookahead(i-1).type)return true;if(this.looksLikeAttributeSelector(i))return true;if(("="==this.lookahead(i).type||"function"==this.lookahead(i).type)&&"{"==this.lookahead(i+1).type)return false;if(":"==this.lookahead(i).type&&!this.isPseudoSelector(i+1)&&this.lineContains("."))return false;if("{"==this.lookahead(i).type)brace=true;else if("}"==this.lookahead(i).type)brace=false;if(brace&&":"==this.lookahead(i).type)return true;if("space"==this.lookahead(i).type&&"{"==this.lookahead(i+1).type)return true;if(":"==this.lookahead(i++).type&&!this.lookahead(i-1).space&&this.isPseudoSelector(i))return true;if("space"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type&&"{"==this.lookahead(i+2).type)return true;if(","==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true}if(","==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true;if("{"==this.lookahead(i).type&&"newline"==this.lookahead(i+1).type)return true;if(this.css){if(";"==this.lookahead(i).type||"}"==this.lookahead(i-1).type)return false}while(!~["indent","outdent","newline","for","if",";","}","eos"].indexOf(this.lookahead(i).type))++i;if("indent"==this.lookahead(i).type)return true},looksLikeAttributeSelector:function(n){var type=this.lookahead(n).type;if("="==type&&this.bracketed)return true;return("ident"==type||"string"==type)&&"]"==this.lookahead(n+1).type&&("newline"==this.lookahead(n+2).type||this.isSelectorToken(n+2))&&!this.lineContains(":")&&!this.lineContains("=")},looksLikeKeyframe:function(){var i=2,type;switch(this.lookahead(i).type){case"{":case"indent":case",":return true;case"newline":while("unit"==this.lookahead(++i).type||"newline"==this.lookahead(i).type);type=this.lookahead(i).type;return"indent"==type||"{"==type}},stateAllowsSelector:function(){switch(this.currentState()){case"root":case"atblock":case"selector":case"conditional":case"function":case"atrule":case"for":return true}},assignAtblock:function(expr){try{expr.push(this.atblock(expr))}catch(err){this.error("invalid right-hand side operand in assignment, got {peek}")}},statement:function(){var stmt=this.stmt(),state=this.prevState,block,op;if(this.allowPostfix){this.allowPostfix=false;state="expression"}switch(state){case"assignment":case"expression":case"function arguments":while(op=this.accept("if")||this.accept("unless")||this.accept("for")){switch(op.type){case"if":case"unless":stmt=new nodes.If(this.expression(),stmt);stmt.postfix=true;stmt.negate="unless"==op.type;this.accept(";");break;case"for":var key,val=this.id().name;if(this.accept(","))key=this.id().name;this.expect("in");var each=new nodes.Each(val,key,this.expression());block=new nodes.Block(this.parent,each);block.push(stmt);each.block=block;stmt=each}}}return stmt},stmt:function(){var type=this.peek().type;switch(type){case"keyframes":return this.keyframes();case"-moz-document":return this.mozdocument();case"comment":case"selector":case"extend":case"literal":case"charset":case"namespace":case"require":case"extend":case"media":case"atrule":case"ident":case"scope":case"supports":case"unless":return this[type]();case"function":return this.fun();case"import":return this.atimport();case"if":return this.ifstmt();case"for":return this.forin();case"return":return this.ret();case"{":return this.property();default:if(this.stateAllowsSelector()){switch(type){case"color":case"~":case">":case"<":case":":case"&":case"&&":case"[":case".":case"/":return this.selector();case"..":if("/"==this.lookahead(2).type)return this.selector();case"+":return"function"==this.lookahead(2).type?this.functionCall():this.selector();case"*":return this.property();case"unit":if(this.looksLikeKeyframe())return this.selector();case"-":if("{"==this.lookahead(2).type)return this.property()}}var expr=this.expression();if(expr.isEmpty)this.error("unexpected {peek}");return expr}},block:function(node,scope){var delim,stmt,next,block=this.parent=new nodes.Block(this.parent,node);if(false===scope)block.scope=false;this.accept("newline");if(this.accept("{")){this.css++;delim="}";this.skipWhitespace()}else{delim="outdent";this.expect("indent")}while(delim!=this.peek().type){if(this.css){if(this.accept("newline")||this.accept("indent"))continue;stmt=this.statement();this.accept(";");this.skipWhitespace()}else{if(this.accept("newline"))continue;next=this.lookahead(2).type;if("indent"==this.peek().type&&~["outdent","newline","comment"].indexOf(next)){this.skip(["indent","outdent"]);continue}if("eos"==this.peek().type)return block;stmt=this.statement();this.accept(";")}if(!stmt)this.error("unexpected token {peek} in block");block.push(stmt)}if(this.css){this.skipWhitespace();this.expect("}");this.skipSpaces();this.css--}else{this.expect("outdent")}this.parent=block.parent;return block},comment:function(){var node=this.next().val;this.skipSpaces();return node},forin:function(){this.expect("for");var key,val=this.id().name;if(this.accept(","))key=this.id().name;this.expect("in");this.state.push("for");this.cond=true;var each=new nodes.Each(val,key,this.expression());this.cond=false;each.block=this.block(each,false);this.state.pop();return each},ret:function(){this.expect("return");var expr=this.expression();return expr.isEmpty?new nodes.Return:new nodes.Return(expr)},unless:function(){this.expect("unless");this.state.push("conditional");this.cond=true;var node=new nodes.If(this.expression(),true);this.cond=false;node.block=this.block(node,false);this.state.pop();return node},ifstmt:function(){this.expect("if");this.state.push("conditional");this.cond=true;var node=new nodes.If(this.expression()),cond,block;this.cond=false;node.block=this.block(node,false);this.skip(["newline","comment"]);while(this.accept("else")){if(this.accept("if")){this.cond=true;cond=this.expression();this.cond=false;block=this.block(node,false);node.elses.push(new nodes.If(cond,block))}else{node.elses.push(this.block(node,false));break}this.skip(["newline","comment"])}this.state.pop();return node},atblock:function(node){if(!node)this.expect("atblock");node=new nodes.Atblock;this.state.push("atblock");node.block=this.block(node,false);this.state.pop();return node},atrule:function(){var type=this.expect("atrule").val,node=new nodes.Atrule(type),tok;this.skipSpacesAndComments();node.segments=this.selectorParts();this.skipSpacesAndComments();tok=this.peek().type;if("indent"==tok||"{"==tok||"newline"==tok&&"{"==this.lookahead(2).type){this.state.push("atrule");node.block=this.block(node);this.state.pop()}return node},scope:function(){this.expect("scope");var selector=this.selectorParts().map(function(selector){return selector.val}).join("");this.selectorScope=selector.trim();return nodes.nil},supports:function(){this.expect("supports");var node=new nodes.Supports(this.supportsCondition());this.state.push("atrule");node.block=this.block(node);this.state.pop();return node},supportsCondition:function(){var node=this.supportsNegation()||this.supportsOp();if(!node){this.cond=true;node=this.expression();this.cond=false}return node},supportsNegation:function(){if(this.accept("not")){var node=new nodes.Expression;node.push(new nodes.Literal("not"));node.push(this.supportsFeature());return node}},supportsOp:function(){var feature=this.supportsFeature(),op,expr;if(feature){expr=new nodes.Expression;expr.push(feature);while(op=this.accept("&&")||this.accept("||")){expr.push(new nodes.Literal("&&"==op.val?"and":"or"));expr.push(this.supportsFeature())}return expr}},supportsFeature:function(){this.skipSpacesAndComments();if("("==this.peek().type){var la=this.lookahead(2).type;if("ident"==la||"{"==la){return this.feature()}else{this.expect("(");var node=new nodes.Expression;node.push(new nodes.Literal("("));node.push(this.supportsCondition());this.expect(")");node.push(new nodes.Literal(")"));this.skipSpacesAndComments();return node}}},extend:function(){var tok=this.expect("extend"),selectors=[],sel,node,arr;do{arr=this.selectorParts();if(!arr.length)continue;sel=new nodes.Selector(arr);selectors.push(sel);if("!"!==this.peek().type)continue;tok=this.lookahead(2);if("ident"!==tok.type||"optional"!==tok.val.name)continue;this.skip(["!","ident"]);sel.optional=true}while(this.accept(","));node=new nodes.Extend(selectors);node.lineno=tok.lineno;node.column=tok.column;return node},media:function(){this.expect("media");this.state.push("atrule");var media=new nodes.Media(this.queries());media.block=this.block(media);this.state.pop();return media},queries:function(){var queries=new nodes.QueryList,skip=["comment","newline","space"];do{this.skip(skip);queries.push(this.query());this.skip(skip)}while(this.accept(","));return queries},query:function(){var query=new nodes.Query,expr,pred,id;if("ident"==this.peek().type&&("."==this.lookahead(2).type||"["==this.lookahead(2).type)){this.cond=true;expr=this.expression();this.cond=false;query.push(new nodes.Feature(expr.nodes));return query}if(pred=this.accept("ident")||this.accept("not")){pred=new nodes.Literal(pred.val.string||pred.val);this.skipSpacesAndComments();if(id=this.accept("ident")){query.type=id.val;query.predicate=pred}else{query.type=pred}this.skipSpacesAndComments();if(!this.accept("&&"))return query}do{query.push(this.feature())}while(this.accept("&&"));return query},feature:function(){this.skipSpacesAndComments();this.expect("(");this.skipSpacesAndComments();var node=new nodes.Feature(this.interpolate());this.skipSpacesAndComments();this.accept(":");this.skipSpacesAndComments();this.inProperty=true;node.expr=this.list();this.inProperty=false;this.skipSpacesAndComments();this.expect(")");this.skipSpacesAndComments();return node},mozdocument:function(){this.expect("-moz-document");var mozdocument=new nodes.Atrule("-moz-document"),calls=[];do{this.skipSpacesAndComments();calls.push(this.functionCall());this.skipSpacesAndComments()}while(this.accept(","));mozdocument.segments=[new nodes.Literal(calls.join(", "))];this.state.push("atrule");mozdocument.block=this.block(mozdocument,false);this.state.pop();return mozdocument},atimport:function(){this.expect("import");this.allowPostfix=true;return new nodes.Import(this.expression(),false)},require:function(){this.expect("require");this.allowPostfix=true;return new nodes.Import(this.expression(),true)},charset:function(){this.expect("charset");var str=this.expect("string").val;this.allowPostfix=true;return new nodes.Charset(str)},namespace:function(){var str,prefix;this.expect("namespace");this.skipSpacesAndComments();if(prefix=this.accept("ident")){prefix=prefix.val}this.skipSpacesAndComments();str=this.accept("string")||this.url();this.allowPostfix=true;return new nodes.Namespace(str,prefix)},keyframes:function(){var tok=this.expect("keyframes"),keyframes;this.skipSpacesAndComments();keyframes=new nodes.Keyframes(this.selectorParts(),tok.val);this.skipSpacesAndComments();this.state.push("atrule");keyframes.block=this.block(keyframes);this.state.pop();return keyframes},literal:function(){return this.expect("literal").val},id:function(){var tok=this.expect("ident");this.accept("space");return tok.val},ident:function(){var i=2,la=this.lookahead(i).type;while("space"==la)la=this.lookahead(++i).type;switch(la){case"=":case"?=":case"-=":case"+=":case"*=":case"/=":case"%=":return this.assignment();case".":if("space"==this.lookahead(i-1).type)return this.selector();if(this._ident==this.peek())return this.id();while("="!=this.lookahead(++i).type&&!~["[",",","newline","indent","eos"].indexOf(this.lookahead(i).type));if("="==this.lookahead(i).type){this._ident=this.peek();return this.expression()}else if(this.looksLikeSelector()&&this.stateAllowsSelector()){return this.selector()}case"[":if(this._ident==this.peek())return this.id();while("]"!=this.lookahead(i++).type&&"selector"!=this.lookahead(i).type&&"eos"!=this.lookahead(i).type);if("="==this.lookahead(i).type){this._ident=this.peek();return this.expression()}else if(this.looksLikeSelector()&&this.stateAllowsSelector()){return this.selector()}case"-":case"+":case"/":case"*":case"%":case"**":case"&&":case"||":case">":case"<":case">=":case"<=":case"!=":case"==":case"?":case"in":case"is a":case"is defined":if(this._ident==this.peek()){return this.id()}else{this._ident=this.peek();switch(this.currentState()){case"for":case"selector":return this.property();case"root":case"atblock":case"atrule":return"["==la?this.subscript():this.selector();case"function":case"conditional":return this.looksLikeSelector()?this.selector():this.expression();default:return this.operand?this.id():this.expression()}}default:switch(this.currentState()){case"root":return this.selector();case"for":case"selector":case"function":case"conditional":case"atblock":case"atrule":return this.property();default:var id=this.id();if("interpolation"==this.previousState())id.mixin=true;return id}}},interpolate:function(){var node,segs=[],star;star=this.accept("*");if(star)segs.push(new nodes.Literal("*"));while(true){if(this.accept("{")){this.state.push("interpolation");segs.push(this.expression());this.expect("}");this.state.pop()}else if(node=this.accept("-")){segs.push(new nodes.Literal("-"))}else if(node=this.accept("ident")){segs.push(node.val)}else{break}}if(!segs.length)this.expect("ident");return segs},property:function(){if(this.looksLikeSelector(true))return this.selector();var ident=this.interpolate(),prop=new nodes.Property(ident),ret=prop;this.accept("space");if(this.accept(":"))this.accept("space");this.state.push("property");this.inProperty=true;prop.expr=this.list();if(prop.expr.isEmpty)ret=ident[0];this.inProperty=false;this.allowPostfix=true;this.state.pop();this.accept(";");return ret},selector:function(){var arr,group=new nodes.Group,scope=this.selectorScope,isRoot="root"==this.currentState(),selector;do{this.accept("newline");arr=this.selectorParts();if(isRoot&&scope)arr.unshift(new nodes.Literal(scope+" "));if(arr.length){selector=new nodes.Selector(arr);selector.lineno=arr[0].lineno;selector.column=arr[0].column;group.push(selector)}}while(this.accept(",")||this.accept("newline"));if("selector-parts"==this.currentState())return group.nodes;this.state.push("selector");group.block=this.block(group);this.state.pop();return group},selectorParts:function(){var tok,arr=[];while(tok=this.selectorToken()){switch(tok.type){case"{":this.skipSpaces();var expr=this.expression();this.skipSpaces();this.expect("}");arr.push(expr);break;case this.prefix&&".":var literal=new nodes.Literal(tok.val+this.prefix);literal.prefixed=true;arr.push(literal);break;case"comment":break;case"color":case"unit":arr.push(new nodes.Literal(tok.val.raw));break;case"space":arr.push(new nodes.Literal(" "));break;case"function":arr.push(new nodes.Literal(tok.val.name+"("));break;case"ident":arr.push(new nodes.Literal(tok.val.name||tok.val.string));break;default:arr.push(new nodes.Literal(tok.val));if(tok.space)arr.push(new nodes.Literal(" "))}}return arr},assignment:function(){var op,node,name=this.id().name;if(op=this.accept("=")||this.accept("?=")||this.accept("+=")||this.accept("-=")||this.accept("*=")||this.accept("/=")||this.accept("%=")){this.state.push("assignment");var expr=this.list();if(expr.isEmpty)this.assignAtblock(expr);node=new nodes.Ident(name,expr);this.state.pop();switch(op.type){case"?=":var defined=new nodes.BinOp("is defined",node),lookup=new nodes.Expression;lookup.push(new nodes.Ident(name));node=new nodes.Ternary(defined,lookup,node);break;case"+=":case"-=":case"*=":case"/=":case"%=":node.val=new nodes.BinOp(op.type[0],new nodes.Ident(name),expr);break}}return node},fun:function(){var parens=1,i=2,tok;out:while(tok=this.lookahead(i++)){switch(tok.type){case"function":case"(":++parens;break;case")":if(!--parens)break out;break;case"eos":this.error('failed to find closing paren ")"')}}switch(this.currentState()){case"expression":return this.functionCall();default:return this.looksLikeFunctionDefinition(i)?this.functionDefinition():this.expression()}},url:function(){this.expect("function");this.state.push("function arguments");var args=this.args();this.expect(")");this.state.pop();return new nodes.Call("url",args)},functionCall:function(){var withBlock=this.accept("+");if("url"==this.peek().val.name)return this.url();var name=this.expect("function").val.name;this.state.push("function arguments");this.parens++;var args=this.args();this.expect(")");this.parens--;this.state.pop();var call=new nodes.Call(name,args);if(withBlock){this.state.push("function");call.block=this.block(call);this.state.pop()}return call},functionDefinition:function(){var name=this.expect("function").val.name;this.state.push("function params");this.skipWhitespace();var params=this.params();this.skipWhitespace();this.expect(")");this.state.pop();this.state.push("function");var fn=new nodes.Function(name,params);fn.block=this.block(fn);this.state.pop();return new nodes.Ident(name,fn)},params:function(){var tok,node,params=new nodes.Params;while(tok=this.accept("ident")){this.accept("space");params.push(node=tok.val);if(this.accept("...")){node.rest=true}else if(this.accept("=")){node.val=this.expression()}this.skipWhitespace();this.accept(",");this.skipWhitespace()}return params},args:function(){var args=new nodes.Arguments,keyword;do{if("ident"==this.peek().type&&":"==this.lookahead(2).type){keyword=this.next().val.string;this.expect(":");args.map[keyword]=this.expression()}else{args.push(this.expression())}}while(this.accept(","));return args},list:function(){var node=this.expression();while(this.accept(",")){if(node.isList){list.push(this.expression())}else{var list=new nodes.Expression(true);list.push(node);list.push(this.expression());node=list}}return node},expression:function(){var node,expr=new nodes.Expression;this.state.push("expression");while(node=this.negation()){if(!node)this.error("unexpected token {peek} in expression");expr.push(node)}this.state.pop();if(expr.nodes.length){expr.lineno=expr.nodes[0].lineno;expr.column=expr.nodes[0].column}return expr},negation:function(){if(this.accept("not")){return new nodes.UnaryOp("!",this.negation())}return this.ternary()},ternary:function(){var node=this.logical();if(this.accept("?")){var trueExpr=this.expression();this.expect(":");var falseExpr=this.expression();node=new nodes.Ternary(node,trueExpr,falseExpr)}return node},logical:function(){var op,node=this.typecheck();while(op=this.accept("&&")||this.accept("||")){node=new nodes.BinOp(op.type,node,this.typecheck())}return node},typecheck:function(){var op,node=this.equality();while(op=this.accept("is a")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.equality());this.operand=false}return node},equality:function(){var op,node=this.inop();while(op=this.accept("==")||this.accept("!=")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.inop());this.operand=false}return node},inop:function(){var node=this.relational();while(this.accept("in")){this.operand=true;if(!node)this.error('illegal unary "in", missing left-hand operand');node=new nodes.BinOp("in",node,this.relational());this.operand=false}return node},relational:function(){var op,node=this.range();while(op=this.accept(">=")||this.accept("<=")||this.accept("<")||this.accept(">")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.range());this.operand=false}return node},range:function(){var op,node=this.additive();if(op=this.accept("...")||this.accept("..")){this.operand=true;if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.val,node,this.additive());this.operand=false}return node},additive:function(){var op,node=this.multiplicative();while(op=this.accept("+")||this.accept("-")){this.operand=true;node=new nodes.BinOp(op.type,node,this.multiplicative());this.operand=false}return node},multiplicative:function(){var op,node=this.defined();while(op=this.accept("**")||this.accept("*")||this.accept("/")||this.accept("%")){this.operand=true;if("/"==op&&this.inProperty&&!this.parens){this.stash.push(new Token("literal",new nodes.Literal("/")));this.operand=false;return node}else{if(!node)this.error('illegal unary "'+op+'", missing left-hand operand');node=new nodes.BinOp(op.type,node,this.defined());this.operand=false}}return node},defined:function(){var node=this.unary();if(this.accept("is defined")){if(!node)this.error('illegal unary "is defined", missing left-hand operand');node=new nodes.BinOp("is defined",node)}return node},unary:function(){var op,node;if(op=this.accept("!")||this.accept("~")||this.accept("+")||this.accept("-")){this.operand=true;node=this.unary();if(!node)this.error('illegal unary "'+op+'"');node=new nodes.UnaryOp(op.type,node);this.operand=false;return node}return this.subscript()},subscript:function(){var node=this.member(),id;while(this.accept("[")){node=new nodes.BinOp("[]",node,this.expression());this.expect("]")}if(this.accept("=")){node.op+="=";node.val=this.list();if(node.val.isEmpty)this.assignAtblock(node.val)}return node},member:function(){var node=this.primary();if(node){while(this.accept(".")){var id=new nodes.Ident(this.expect("ident").val.string);node=new nodes.Member(node,id)}this.skipSpaces();if(this.accept("=")){node.val=this.list();if(node.val.isEmpty)this.assignAtblock(node.val)}}return node},object:function(){var obj=new nodes.Object,id,val,comma;this.expect("{");this.skipWhitespace();while(!this.accept("}")){if(this.accept("comment")||this.accept("newline"))continue;if(!comma)this.accept(",");id=this.accept("ident")||this.accept("string");if(!id)this.error('expected "ident" or "string", got {peek}');id=id.val.hash;this.skipSpacesAndComments();this.expect(":");val=this.expression();obj.set(id,val);comma=this.accept(",");this.skipWhitespace()}return obj},primary:function(){var tok;this.skipSpaces();if(this.accept("(")){++this.parens;var expr=this.expression(),paren=this.expect(")");--this.parens;if(this.accept("%"))expr.push(new nodes.Ident("%"));tok=this.peek();if(!paren.space&&"ident"==tok.type&&~units.indexOf(tok.val.string)){expr.push(new nodes.Ident(tok.val.string));this.next()}return expr}tok=this.peek();switch(tok.type){case"null":case"unit":case"color":case"string":case"literal":case"boolean":case"comment":return this.next().val;case!this.cond&&"{":return this.object();case"atblock":return this.atblock();case"atrule":var id=new nodes.Ident(this.next().val);id.property=true; -return id;case"ident":return this.ident();case"function":return tok.anonymous?this.functionDefinition():this.functionCall()}}}});require.register("renderer.js",function(module,exports,require){var Parser=require("./parser"),Evaluator=require("./visitor/evaluator"),Normalizer=require("./visitor/normalizer"),utils=require("./utils"),nodes=require("./nodes"),join=require("./path").join;module.exports=Renderer;function Renderer(str,options){options=options||{};options.globals=options.globals||{};options.functions=options.functions||{};options.use=options.use||[];options.use=Array.isArray(options.use)?options.use:[options.use];options.imports=[];options.paths=options.paths||[];options.filename=options.filename||"stylus";options.Evaluator=options.Evaluator||Evaluator;this.options=options;this.str=str}Renderer.prototype.render=function(fn){var parser=this.parser=new Parser(this.str,this.options);for(var i=0,len=this.options.use.length;i","+","~"];var SelectorParser=module.exports=function SelectorParser(str,stack,parts){this.str=str;this.stack=stack||[];this.parts=parts||[];this.pos=0;this.level=2;this.nested=true;this.ignore=false};SelectorParser.prototype.skip=function(len){this.str=this.str.substr(len);this.pos+=len};SelectorParser.prototype.skipSpaces=function(){while(" "==this.str[0])this.skip(1)};SelectorParser.prototype.advance=function(){return this.root()||this.relative()||this.initial()||this.escaped()||this.parent()||this.partial()||this.char()};SelectorParser.prototype.root=function(){if(!this.pos&&"/"==this.str[0]&&"deep"!=this.str.slice(1,5)){this.nested=false;this.skip(1)}};SelectorParser.prototype.relative=function(multi){if((!this.pos||multi)&&"../"==this.str.slice(0,3)){this.nested=false;this.skip(3);while(this.relative(true))this.level++;if(!this.raw){var ret=this.stack[this.stack.length-this.level];if(ret){return ret}else{this.ignore=true}}}};SelectorParser.prototype.initial=function(){if(!this.pos&&"~"==this.str[0]&&"/"==this.str[1]){this.nested=false;this.skip(2);return this.stack[0]}};SelectorParser.prototype.escaped=function(){if("\\"==this.str[0]){var char=this.str[1];if("&"==char||"^"==char){this.skip(2);return char}}};SelectorParser.prototype.parent=function(){if("&"==this.str[0]){this.nested=false;if(!this.pos&&(!this.stack.length||this.raw)){var i=0;while(" "==this.str[++i]);if(~COMBINATORS.indexOf(this.str[i])){this.skip(i+1);return}}this.skip(1);if(!this.raw)return this.stack[this.stack.length-1]}};SelectorParser.prototype.partial=function(){if("^"==this.str[0]&&"["==this.str[1]){this.skip(2);this.skipSpaces();var ret=this.range();this.skipSpaces();if("]"!=this.str[0])return"^[";this.nested=false;this.skip(1);if(ret){return ret}else{this.ignore=true}}};SelectorParser.prototype.number=function(){var i=0,ret="";if("-"==this.str[i])ret+=this.str[i++];while(this.str.charCodeAt(i)>=48&&this.str.charCodeAt(i)<=57)ret+=this.str[i++];if(ret){this.skip(i);return Number(ret)}};SelectorParser.prototype.range=function(){var start=this.number(),ret;if(".."==this.str.slice(0,2)){this.skip(2);var end=this.number(),len=this.parts.length;if(start<0)start=len+start-1;if(end<0)end=len+end-1;if(start>end){var tmp=start;start=end;end=tmp}if(end-1){return n.toString().replace("0.",".")+type}}return(float?parseFloat(n.toFixed(15)):n).toString()+type};Compiler.prototype.visitGroup=function(group){var stack=this.keyframe?[]:this.stack,comma=this.compress?",":",\n";stack.push(group.nodes);if(group.block.hasProperties){var selectors=utils.compileSelectors.call(this,stack),len=selectors.length;if(len){if(this.keyframe)comma=this.compress?",":", ";for(var i=0;i200){throw new RangeError("Maximum stylus call stack size exceeded")}if("expression"==fn.nodeName)fn=fn.first;this.ret++;var args=this.visit(call.args);for(var key in args.map){args.map[key]=this.visit(args.map[key].clone())}this.ret--;if(fn.fn){ret=this.invokeBuiltin(fn.fn,args)}else if("function"==fn.nodeName){if(call.block)call.block=this.visit(call.block);ret=this.invokeFunction(fn,args,call.block)}this.calling.pop();this.ignoreColors=false;return ret};Evaluator.prototype.visitIdent=function(ident){var prop;if(ident.property){if(prop=this.lookupProperty(ident.name)){return this.visit(prop.expr.clone())}return nodes.nil}else if(ident.val.isNull){var val=this.lookup(ident.name);if(val&&ident.mixin)this.mixinNode(val);return val?this.visit(val):ident}else{this.ret++;ident.val=this.visit(ident.val);this.ret--;this.currentScope.add(ident);return ident.val}};Evaluator.prototype.visitBinOp=function(binop){if("is defined"==binop.op)return this.isDefined(binop.left); -this.ret++;var op=binop.op,left=this.visit(binop.left),right="||"==op||"&&"==op?binop.right:this.visit(binop.right);var val=binop.val?this.visit(binop.val):null;this.ret--;try{return this.visit(left.operate(op,right,val))}catch(err){if("CoercionError"==err.name){switch(op){case"==":return nodes.no;case"!=":return nodes.yes}}throw err}};Evaluator.prototype.visitUnaryOp=function(unary){var op=unary.op,node=this.visit(unary.expr);if("!"!=op){node=node.first.clone();utils.assertType(node,"unit")}switch(op){case"-":node.val=-node.val;break;case"+":node.val=+node.val;break;case"~":node.val=~node.val;break;case"!":return node.toBoolean().negate()}return node};Evaluator.prototype.visitTernary=function(ternary){var ok=this.visit(ternary.cond).toBoolean();return ok.isTrue?this.visit(ternary.trueExpr):this.visit(ternary.falseExpr)};Evaluator.prototype.visitExpression=function(expr){for(var i=0,len=expr.nodes.length;i1){for(var i=0;i0&&!~part.indexOf("&")){part="/"+part}s=new nodes.Selector([new nodes.Literal(part)]);s.val=part;s.block=group.block;group.nodes[i++]=s}});stack.push(group.nodes);var selectors=utils.compileSelectors(stack,true);selectors.forEach(function(selector){map[selector]=map[selector]||[];map[selector].push(group)});this.extend(group,selectors);stack.pop();return group};Normalizer.prototype.visitFunction=function(){return nodes.nil};Normalizer.prototype.visitMedia=function(media){var medias=[],group=this.closestGroup(media.block),parent;function mergeQueries(block){block.nodes.forEach(function(node,i){switch(node.nodeName){case"media":node.val=media.val.merge(node.val);medias.push(node);block.nodes[i]=nodes.nil;break;case"block":mergeQueries(node);break;default:if(node.block&&node.block.nodes)mergeQueries(node.block)}})}mergeQueries(media.block);this.bubble(media);if(medias.length){medias.forEach(function(node){if(group){group.block.push(node)}else{this.root.nodes.splice(++this.rootIndex,0,node)}node=this.visit(node);parent=node.block.parent;if(node.bubbled&&(!group||"group"==parent.node.nodeName)){node.group.block=node.block.nodes[0].block;node.block.nodes[0]=node.group}},this)}return media};Normalizer.prototype.visitSupports=function(node){this.bubble(node);return node};Normalizer.prototype.visitAtrule=function(node){if(node.block)node.block=this.visit(node.block);return node};Normalizer.prototype.visitKeyframes=function(node){var frames=node.block.nodes.filter(function(frame){return frame.block&&frame.block.hasProperties});node.frames=frames.length;return node};Normalizer.prototype.visitImport=function(node){this.imports.push(node);return this.hoist?nodes.nil:node};Normalizer.prototype.visitCharset=function(node){this.charset=node;return this.hoist?nodes.nil:node};Normalizer.prototype.extend=function(group,selectors){var map=this.map,self=this,parent=this.closestGroup(group.block);group.extends.forEach(function(extend){var groups=map[extend.selector];if(!groups){if(extend.optional)return;var err=new Error('Failed to @extend "'+extend.selector+'"');err.lineno=extend.lineno;err.column=extend.column;throw err}selectors.forEach(function(selector){var node=new nodes.Selector;node.val=selector;node.inherits=false;groups.forEach(function(group){if(!parent||parent!=group)self.extend(group,selectors);group.push(node)})})});group.block=this.visit(group.block)}});return require("stylus")}(); From 3a8f47f4dba715d723d2390588bfd0f3716f628e Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 10 Nov 2020 20:32:50 +0300 Subject: [PATCH 045/291] revert d405bc64 - obsolete since stylus-lang 0.54.7 --- background/background-worker.js | 2 +- js/moz-parser.js | 13 ++----------- vendor-overwrites/csslint/parserlib.js | 6 ------ 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/background/background-worker.js b/background/background-worker.js index d1908b1c..2b49eebd 100644 --- a/background/background-worker.js +++ b/background/background-worker.js @@ -37,7 +37,7 @@ function compileUsercss(preprocessor, code, vars) { const builder = getUsercssCompiler(preprocessor); vars = simpleVars(vars); return Promise.resolve(builder.preprocess ? builder.preprocess(code, vars) : code) - .then(code => parseMozFormat({code, emptyDocument: preprocessor === 'stylus'})) + .then(code => parseMozFormat({code})) .then(({sections, errors}) => { if (builder.postprocess) { builder.postprocess(sections, vars); diff --git a/js/moz-parser.js b/js/moz-parser.js index 6ffb3b67..d79c4789 100644 --- a/js/moz-parser.js +++ b/js/moz-parser.js @@ -7,12 +7,10 @@ * Puts the global comments into the following section to minimize the amount of global sections. * Doesn't move the comment with ==UserStyle== inside. * @param {string} code - * @param {boolean} emptyDocument - https://github.com/stylus/stylus/issues/2415, - * TODO: update stylus-lang and remove emptyDocument everywhere * @param {number} styleId - used to preserve parserCache on subsequent runs over the same style * @returns {{sections: Array, errors: Array}} */ -function parseMozFormat({code, emptyDocument, styleId}) { +function parseMozFormat({code, styleId}) { const CssToProperty = { 'url': 'urls', 'url-prefix': 'urlPrefixes', @@ -20,7 +18,7 @@ function parseMozFormat({code, emptyDocument, styleId}) { 'regexp': 'regexps', }; const hasSingleEscapes = /([^\\]|^)\\([^\\]|$)/; - const parser = new parserlib.css.Parser({starHack: true, emptyDocument}); + const parser = new parserlib.css.Parser({starHack: true}); const sectionStack = [{code: '', start: 0}]; const errors = []; const sections = []; @@ -72,13 +70,6 @@ function parseMozFormat({code, emptyDocument, styleId}) { doAddSection(section); }); - parser.addListener('emptydocument', e => { - const token = parser._tokenStream._token; - const section = sectionStack[sectionStack.length - 1]; - section.code += mozStyle.slice(section.start, e.offset); - section.start = token.offset + token.value.length; - }); - parser.addListener('endstylesheet', () => { // add nonclosed outer sections (either broken or the last global one) const lastSection = sectionStack[sectionStack.length - 1]; diff --git a/vendor-overwrites/csslint/parserlib.js b/vendor-overwrites/csslint/parserlib.js index 4003e3c2..c364f72b 100644 --- a/vendor-overwrites/csslint/parserlib.js +++ b/vendor-overwrites/csslint/parserlib.js @@ -4006,7 +4006,6 @@ self.parserlib = (() => { * @param {Boolean} [options.starHack] - allows IE6 star hack * @param {Boolean} [options.underscoreHack] - interprets leading underscores as IE6-7 for known properties * @param {Boolean} [options.ieFilters] - accepts IE < 8 filters instead of throwing syntax errors - * @param {Boolean} [options.emptyDocument] - accepts @document without {} block produced by stylus-lang */ constructor(options) { super(); @@ -4437,11 +4436,6 @@ self.parserlib = (() => { this._ws(); functions.push(this._documentFunction() || stream.LT(1)); } while (stream.match(Tokens.COMMA)); - this._ws(); - if (this.options.emptyDocument && stream.peek() !== Tokens.LBRACE) { - this.fire({type: 'emptydocument', functions, prefix}, start); - return; - } for (const fn of functions) { if ((fn.type !== 'function' || !/^(url(-prefix)?|domain|regexp)$/i.test(fn.name)) && fn.type !== 'uri') { From d183779fb597695a08914b6e9dfe6e16e972e468 Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 10 Nov 2020 21:40:50 +0300 Subject: [PATCH 046/291] accept any content-type for text/ except text/html --- background/usercss-install-helper.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/background/usercss-install-helper.js b/background/usercss-install-helper.js index b854564a..b0fbb593 100644 --- a/background/usercss-install-helper.js +++ b/background/usercss-install-helper.js @@ -4,7 +4,8 @@ (() => { const installCodeCache = {}; const clearInstallCode = url => delete installCodeCache[url]; - const isContentTypeText = type => /^text\/(css|plain)(;.*?)?$/i.test(type); + /** Sites may be using custom types like text/stylus so this coarse filter only excludes html */ + const isContentTypeText = type => /^text\/(?!html)/i.test(type); // in Firefox we have to use a content script to read file:// const fileLoader = !chrome.app && ( From da6361637d10e54b513c5f088f7e429c45b2a196 Mon Sep 17 00:00:00 2001 From: narcolepticinsomniac Date: Tue, 10 Nov 2020 17:47:23 -0500 Subject: [PATCH 047/291] Replace USO link --- manage.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manage.html b/manage.html index 7f57c575..2a5aa734 100644 --- a/manage.html +++ b/manage.html @@ -334,7 +334,7 @@
    - + From a26115154a492bd66ca5ea004eb10342f3dcbf2d Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 11 Nov 2020 13:26:26 +0300 Subject: [PATCH 048/291] fix getPrefs error on browser startup in the active tab --- js/prefs.js | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/js/prefs.js b/js/prefs.js index dc7e812a..4ecdafc3 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -119,11 +119,9 @@ window.INJECTED !== 1 && (() => { 'storage.sync': ['get', 'set'], }); } - const initializing = ( - msg.isBg - ? browser.storage.sync.get(STORAGE_KEY).then(res => res[STORAGE_KEY]) - : API.getPrefs() - ).then(setAll); + // getPrefs may fail on browser startup in the active tab as it loads before the background script + const initializing = (msg.isBg ? readStorage() : API.getPrefs().catch(readStorage)) + .then(setAll); chrome.storage.onChanged.addListener(async (changes, area) => { const data = area === 'sync' && changes[STORAGE_KEY]; @@ -237,6 +235,14 @@ window.INJECTED !== 1 && (() => { } } + function readStorage() { + /* Using a non-promisified call since this code may also run in a content script + when API.getPrefs occasionally fails during browser startup in the active tab */ + return new Promise(resolve => + chrome.storage.sync.get(STORAGE_KEY, data => + resolve(data[STORAGE_KEY]))); + } + function updateStorage() { return browser.storage.sync.set({[STORAGE_KEY]: values}); } From 6259cc2e79be11c5ea09f1c4262e252a1fb81a63 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 11 Nov 2020 20:10:02 +0300 Subject: [PATCH 049/291] speed up manager: render more targets only on demand --- manage/manage.js | 68 +++++++++++++++++++++++++++++------------------- 1 file changed, 41 insertions(+), 27 deletions(-) diff --git a/manage/manage.js b/manage/manage.js index 972c659b..721c61cc 100644 --- a/manage/manage.js +++ b/manage/manage.js @@ -139,17 +139,11 @@ function showStyles(styles = [], matchUrlIds) { function renderStyles() { const t0 = performance.now(); - let rendered = 0; - while ( - index < sorted.length && - // eslint-disable-next-line no-unmodified-loop-condition - (shouldRenderAll || ++rendered < 20 || performance.now() - t0 < 10) - ) { + while (index < sorted.length && (shouldRenderAll || performance.now() - t0 < 20)) { const info = sorted[index++]; const entry = createStyleElement(info); if (matchUrlIds && !matchUrlIds.includes(info.style.id)) { entry.classList.add('not-matching'); - rendered--; } renderBin.appendChild(entry); } @@ -241,12 +235,16 @@ function createStyleElement({style, name: nameLC}) { } -function createStyleTargetsElement({entry, style}) { +function createStyleTargetsElement({entry, expanded, style = entry.styleMeta}) { const parts = createStyleElement.parts; const entryTargets = $('.targets', entry); + const expanderCls = $('.applies-to', entry).classList; const targets = parts.targets.cloneNode(true); let container = targets; + let el = entryTargets.firstElementChild; let numTargets = 0; + let allTargetsRendered = true; + const maxTargets = expanded ? 1000 : newUI.enabled ? newUI.targets : 10; const displayed = new Set(); for (const type of TARGET_TYPES) { for (const section of style.sections) { @@ -254,30 +252,37 @@ function createStyleTargetsElement({entry, style}) { if (displayed.has(targetValue)) { continue; } + if (++numTargets > maxTargets) { + allTargetsRendered = expanded; + break; + } displayed.add(targetValue); + const text = + (parts.decorations[type + 'Before'] || '') + + targetValue + + (parts.decorations[type + 'After'] || ''); + if (el && el.dataset.type === type && el.lastChild.textContent === text) { + const next = el.nextElementSibling; + container.appendChild(el); + el = next; + continue; + } const element = template.appliesToTarget.cloneNode(true); if (!newUI.enabled) { - if (numTargets === 10) { + if (numTargets === maxTargets) { container = container.appendChild(template.extraAppliesTo.cloneNode(true)); } else if (numTargets > 0) { container.appendChild(template.appliesToSeparator.cloneNode(true)); } } element.dataset.type = type; - element.appendChild( - document.createTextNode( - (parts.decorations[type + 'Before'] || '') + - targetValue + - (parts.decorations[type + 'After'] || ''))); + element.appendChild(document.createTextNode(text)); container.appendChild(element); - numTargets++; } } } - if (newUI.enabled) { - if (numTargets > newUI.targets) { - $('.applies-to', entry).classList.add('has-more'); - } + if (newUI.enabled && numTargets > newUI.targets) { + expanderCls.add('has-more'); } if (numTargets) { entryTargets.parentElement.replaceChild(targets, entryTargets); @@ -289,6 +294,8 @@ function createStyleTargetsElement({entry, style}) { entryTargets.appendChild(template.appliesToEverything.cloneNode(true)); } entry.classList.toggle('global', !numTargets); + entry._allTargetsRendered = allTargetsRendered; + entry._numTargets = numTargets; } @@ -449,8 +456,12 @@ Object.assign(handleEvent, { event.preventDefault(); }, - expandTargets(event) { + expandTargets(event, entry) { event.preventDefault(); + if (!entry._allTargetsRendered) { + createStyleTargetsElement({entry, expanded: true}); + setTimeout(getFaviconImgSrc, 0, entry); + } this.closest('.applies-to').classList.toggle('expanded'); }, @@ -651,20 +662,23 @@ function switchUI({styleOnly} = {}) { return; } - const missingFavicons = newUI.enabled && newUI.favicons && !$('.applies-to img'); - if (changed.enabled || (missingFavicons && !createStyleElement.parts)) { + const iconsEnabled = newUI.enabled && newUI.favicons; + let iconsMissing = iconsEnabled && !$('.applies-to img'); + if (changed.enabled || (iconsMissing && !createStyleElement.parts)) { installed.textContent = ''; API.getAllStyles(true).then(showStyles); return; } if (changed.targets) { - for (const targets of $$('.entry .targets')) { - const hasMore = targets.children.length > newUI.targets; - targets.parentElement.classList.toggle('has-more', hasMore); + for (const entry of installed.children) { + $('.applies-to', entry).classList.toggle('has-more', entry._numTargets > newUI.targets); + if (!entry._allTargetsRendered && newUI.targets > $('.targets', entry).childElementCount) { + createStyleTargetsElement({entry, expanded: true}); + iconsMissing |= iconsEnabled; + } } - return; } - if (missingFavicons) { + if (iconsMissing) { debounce(getFaviconImgSrc); return; } From 3db6662d2fe5b31c1b1c824ea84a0d42e1db9b9d Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 11 Nov 2020 20:42:13 +0300 Subject: [PATCH 050/291] fix 1px shift of applies-to text when favicon is added in FF --- manage/manage.css | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/manage/manage.css b/manage/manage.css index 419b0762..0dee4d4f 100644 --- a/manage/manage.css +++ b/manage/manage.css @@ -656,9 +656,8 @@ a:hover { .newUI .target img { width: 16px; height: 16px; - vertical-align: sub; - margin-left: -20px; - margin-right: 4px; + vertical-align: middle; + margin: -1px 4px 0 -20px; transition: opacity .5s, filter .5s; filter: grayscale(1); /* workaround for the buggy CSS filter: images in the hidden overflow are shown on Mac */ From 0b3e027bfd583f518c7fa0b1f3bb5cbf77cada32 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 11 Nov 2020 14:53:40 +0300 Subject: [PATCH 051/291] auto-promisify browser.* methods on call --- background/sync.js | 7 +- background/token-manager.js | 30 +++----- background/update.js | 4 +- edit/edit.js | 70 ++++++++--------- install-usercss/install-usercss.js | 12 +-- js/messaging.js | 5 -- js/msg.js | 5 -- js/polyfill.js | 94 +++++++++++++---------- js/prefs.js | 14 +--- js/storage-util.js | 117 ++++++++++++----------------- manage/import-export.js | 3 +- popup/popup.js | 39 +++++----- tools/chrome-api-no-cb.js | 73 ++++++++++++++++++ 13 files changed, 253 insertions(+), 220 deletions(-) create mode 100644 tools/chrome-api-no-cb.js diff --git a/background/sync.js b/background/sync.js index cb03f4f0..052784d8 100644 --- a/background/sync.js +++ b/background/sync.js @@ -38,14 +38,11 @@ const sync = (() => { }, getState(drive) { const key = `sync/state/${drive.name}`; - return chromeLocal.get(key) - .then(obj => obj[key]); + return chromeLocal.getValue(key); }, setState(drive, state) { const key = `sync/state/${drive.name}`; - return chromeLocal.set({ - [key]: state - }); + return chromeLocal.setValue(key, state); } }); diff --git a/background/token-manager.js b/background/token-manager.js index 755fd9fa..b99b38b5 100644 --- a/background/token-manager.js +++ b/background/token-manager.js @@ -1,12 +1,8 @@ -/* global chromeLocal promisifyChrome webextLaunchWebAuthFlow FIREFOX */ +/* global chromeLocal webextLaunchWebAuthFlow FIREFOX */ /* exported tokenManager */ 'use strict'; const tokenManager = (() => { - promisifyChrome({ - 'windows': ['create', 'update', 'remove'], - 'tabs': ['create', 'update', 'remove'] - }); const AUTH = { dropbox: { flow: 'token', @@ -93,24 +89,20 @@ const tokenManager = (() => { }); } - function revokeToken(name) { + async function revokeToken(name) { const provider = AUTH[name]; const k = buildKeys(name); - return revoke() - .then(() => chromeLocal.remove(k.LIST)); - - function revoke() { - if (!provider.revoke) { - return Promise.resolve(); + if (provider.revoke) { + try { + const token = await chromeLocal.getValue(k.TOKEN); + if (token) { + await provider.revoke(token); + } + } catch (e) { + console.error(e); } - return chromeLocal.get(k.TOKEN) - .then(obj => { - if (obj[k.TOKEN]) { - return provider.revoke(obj[k.TOKEN]); - } - }) - .catch(console.error); } + await chromeLocal.remove(k.LIST); } function refreshToken(name, k, obj) { diff --git a/background/update.js b/background/update.js index c458426e..ec55a9e5 100644 --- a/background/update.js +++ b/background/update.js @@ -264,9 +264,9 @@ debounce(flushQueue, text && checkingAll ? 1000 : 0); } - function flushQueue(lines) { + async function flushQueue(lines) { if (!lines) { - chromeLocal.getValue('updateLog', []).then(flushQueue); + flushQueue(await chromeLocal.getValue('updateLog') || []); return; } const time = Date.now() - logLastWriteTime > 11e3 ? diff --git a/edit/edit.js b/edit/edit.js index 1a5c4326..c1de3dd0 100644 --- a/edit/edit.js +++ b/edit/edit.js @@ -151,11 +151,10 @@ lazyInit(); if (onBoundsChanged) { // * movement is reported even if the window wasn't resized // * fired just once when done so debounce is not needed - onBoundsChanged.addListener(wnd => { + onBoundsChanged.addListener(async wnd => { // getting the current window id as it may change if the user attached/detached the tab - chrome.windows.getCurrent(ownWnd => { - if (wnd.id === ownWnd.id) saveWindowPos(); - }); + const {id} = await browser.windows.getCurrent(); + if (id === wnd.id) saveWindowPos(); }); } window.on('resize', () => { @@ -325,7 +324,15 @@ lazyInit(); /* Stuff not needed for the main init so we can let it run at its own tempo */ function lazyInit() { let ownTabId; - getOwnTab().then(async tab => { + // not using `await` so we don't block the subsequent code + getOwnTab().then(patchHistoryBack); + // no windows on android + if (chrome.windows) { + restoreWindowSize(); + detectWindowedState(); + chrome.tabs.onAttached.addListener(onAttached); + } + async function patchHistoryBack(tab) { ownTabId = tab.id; // use browser history back when 'back to manage' is clicked if (sessionStorageHash('manageStylesHistory').value[ownTabId] === location.href) { @@ -336,29 +343,23 @@ function lazyInit() { history.back(); }; } - }); - // no windows on android - if (!chrome.windows) { - return; } - // resize on 'undo close' - const pos = tryJSONparse(sessionStorage.windowPos); - delete sessionStorage.windowPos; - if (pos && pos.left != null && chrome.windows) { - chrome.windows.update(chrome.windows.WINDOW_ID_CURRENT, pos); + /** resize on 'undo close' */ + function restoreWindowSize() { + const pos = tryJSONparse(sessionStorage.windowPos); + delete sessionStorage.windowPos; + if (pos && pos.left != null && chrome.windows) { + chrome.windows.update(chrome.windows.WINDOW_ID_CURRENT, pos); + } } - // detect isWindowed - if (prefs.get('openEditInWindow') && history.length === 1) { - chrome.tabs.query({currentWindow: true}, tabs => { - if (tabs.length === 1) { - chrome.windows.getAll(windows => { - isWindowed = windows.length > 1; // not modifying the main browser window - }); - } - }); + async function detectWindowedState() { + isWindowed = + prefs.get('openEditInWindow') && + history.length === 1 && + browser.windows.getAll().length > 1 && + (await browser.tabs.query({currentWindow: true})).length === 1; } - // toggle openEditInWindow - chrome.tabs.onAttached.addListener((tabId, info) => { + async function onAttached(tabId, info) { if (tabId !== ownTabId) { return; } @@ -366,16 +367,15 @@ function lazyInit() { prefs.set('openEditInWindow', false); return; } - chrome.windows.get(info.newWindowId, {populate: true}, win => { - // If there's only one tab in this window, it's been dragged to new window - const openEditInWindow = win.tabs.length === 1; - if (openEditInWindow && FIREFOX) { - // FF-only because Chrome retardedly resets the size during dragging - chrome.windows.update(info.newWindowId, prefs.get('windowPosition')); - } - prefs.set('openEditInWindow', openEditInWindow); - }); - }); + const win = await browser.windows.get(info.newWindowId, {populate: true}); + // If there's only one tab in this window, it's been dragged to new window + const openEditInWindow = win.tabs.length === 1; + // FF-only because Chrome retardedly resets the size during dragging + if (openEditInWindow && FIREFOX) { + chrome.windows.update(info.newWindowId, prefs.get('windowPosition')); + } + prefs.set('openEditInWindow', openEditInWindow); + } } function onRuntimeMessage(request) { diff --git a/install-usercss/install-usercss.js b/install-usercss/install-usercss.js index 8ce11002..fa6c6aa3 100644 --- a/install-usercss/install-usercss.js +++ b/install-usercss/install-usercss.js @@ -398,11 +398,13 @@ r.resolve(code); } }); - port.onDisconnect.addListener(() => { - chrome.tabs.get(tabId, tab => - !chrome.runtime.lastError && tab.url === initialUrl - ? location.reload() - : closeCurrentTab()); + port.onDisconnect.addListener(async () => { + const tab = await browser.tabs.get(tabId); + if (!chrome.runtime.lastError && tab.url === initialUrl) { + location.reload(); + } else { + closeCurrentTab(); + } }); return (opts = {}) => new Promise((resolve, reject) => { const id = performance.now(); diff --git a/js/messaging.js b/js/messaging.js index fb898aef..ba7ae2ed 100644 --- a/js/messaging.js +++ b/js/messaging.js @@ -1,7 +1,6 @@ /* exported getTab getActiveTab onTabReady stringAsRegExp openURL ignoreChromeError getStyleWithNoCode tryRegExp sessionStorageHash download deepEqual closeCurrentTab capitalize CHROME_HAS_BORDER_BUG */ -/* global promisifyChrome */ 'use strict'; const CHROME = Boolean(chrome.app) && parseInt(navigator.userAgent.match(/Chrom\w+\/(\d+)|$/)[1]); @@ -92,10 +91,6 @@ if (chrome.extension.getBackgroundPage && chrome.extension.getBackgroundPage() = if (cls) document.documentElement.classList.add(cls); } -promisifyChrome({ - tabs: ['create', 'get', 'getCurrent', 'move', 'query', 'update'], - windows: ['create', 'update'], // Android doesn't have chrome.windows -}); // FF57+ supports openerTabId, but not in Android // (detecting FF57 by the feature it added, not navigator.ua which may be spoofed in about:config) const openerTabIdSupported = (!FIREFOX || window.AbortController) && chrome.windows != null; diff --git a/js/msg.js b/js/msg.js index b2c9203f..0469b269 100644 --- a/js/msg.js +++ b/js/msg.js @@ -1,13 +1,8 @@ -/* global promisifyChrome */ /* global deepCopy getOwnTab URLS */ // not used in content scripts 'use strict'; // eslint-disable-next-line no-unused-expressions window.INJECTED !== 1 && (() => { - promisifyChrome({ - runtime: ['sendMessage', 'getBackgroundPage'], - tabs: ['sendMessage', 'query'], - }); const TARGETS = Object.assign(Object.create(null), { all: ['both', 'tab', 'extension'], extension: ['both', 'extension'], diff --git a/js/polyfill.js b/js/polyfill.js index e299957f..32b19b05 100644 --- a/js/polyfill.js +++ b/js/polyfill.js @@ -5,52 +5,65 @@ self.INJECTED !== 1 && (() => { //#region for content scripts and our extension pages - if (!window.browser || !browser.runtime) { - const createTrap = (base, parent) => { - const target = typeof base === 'function' ? () => {} : {}; - target.isTrap = true; - return new Proxy(target, { - get: (target, prop) => { - if (target[prop]) return target[prop]; - if (base[prop] && (typeof base[prop] === 'object' || typeof base[prop] === 'function')) { - target[prop] = createTrap(base[prop], base); - return target[prop]; - } - return base[prop]; - }, - apply: (target, thisArg, args) => base.apply(parent, args) - }); + if (!((window.browser || {}).runtime || {}).sendMessage) { + /* Auto-promisifier with a fallback to direct call on signature error. + The fallback isn't used now since we call all synchronous methods via `chrome` */ + const directEvents = ['addListener', 'removeListener', 'hasListener', 'hasListeners']; + // generated by tools/chrome-api-no-cb.js + const directMethods = { + alarms: ['create'], + extension: ['getBackgroundPage', 'getExtensionTabs', 'getURL', 'getViews', 'setUpdateUrlData'], + i18n: ['getMessage', 'getUILanguage'], + identity: ['getRedirectURL'], + runtime: ['connect', 'connectNative', 'getManifest', 'getURL', 'reload', 'restart'], + tabs: ['connect'], }; - window.browser = createTrap(chrome, null); + const promisify = function (fn, ...args) { + let res; + try { + let resolve, reject; + /* Some callbacks have 2 parameters so we're resolving as an array in that case. + For example, chrome.runtime.requestUpdateCheck and chrome.webRequest.onAuthRequired */ + args.push((...results) => + chrome.runtime.lastError ? + reject(new Error(chrome.runtime.lastError.message)) : + resolve(results.length <= 1 ? results[0] : results)); + fn.apply(this, args); + res = new Promise((...rr) => ([resolve, reject] = rr)); + } catch (err) { + if (!err.message.includes('No matching signature')) { + throw err; + } + args.pop(); + res = fn.apply(this, args); + } + return res; + }; + const proxify = (src, srcName, target, key) => { + let res = src[key]; + if (res && typeof res === 'object') { + res = createProxy(res, key); // eslint-disable-line no-use-before-define + } else if (typeof res === 'function') { + res = (directMethods[srcName] || directEvents).includes(key) + ? res.bind(src) + : promisify.bind(src, res); + } + target[key] = res; + return res; + }; + const createProxy = (src, srcName) => + new Proxy({}, { + get(target, key) { + return target[key] || proxify(src, srcName, target, key); + }, + }); + window.browser = createProxy(chrome); } - /* Promisifies the specified `chrome` methods into `browser`. - The definitions is an object like this: { - 'storage.sync': ['get', 'set'], // if deeper than one level, combine the path via `.` - windows: ['create', 'update'], // items and sub-objects will only be created if present in `chrome` - } */ - window.promisifyChrome = definitions => { - for (const [scopeName, methods] of Object.entries(definitions)) { - const path = scopeName.split('.'); - const src = path.reduce((obj, p) => obj && obj[p], chrome); - if (!src) continue; - const dst = path.reduce((obj, p) => obj[p] || (obj[p] = {}), browser); - for (const name of methods) { - const fn = src[name]; - if (!fn || dst[name] && !dst[name].isTrap) continue; - dst[name] = (...args) => new Promise((resolve, reject) => - fn.call(src, ...args, (...results) => - chrome.runtime.lastError ? - reject(chrome.runtime.lastError) : - resolve(results.length <= 1 ? results[0] : results))); - // a couple of callbacks have 2 parameters (we don't use those methods, but just in case) - } - } - }; + //#endregion if (!chrome.tabs) return; - //#endregion //#region for our extension pages for (const storage of ['localStorage', 'sessionStorage']) { @@ -77,5 +90,6 @@ self.INJECTED !== 1 && (() => { } }; } + //#endregion })(); diff --git a/js/prefs.js b/js/prefs.js index 4ecdafc3..ea290534 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -1,4 +1,4 @@ -/* global promisifyChrome msg API */ +/* global msg API */ /* global deepCopy debounce */ // not used in content scripts 'use strict'; @@ -114,11 +114,6 @@ window.INJECTED !== 1 && (() => { any: new Set(), specific: {}, }; - if (msg.isBg) { - promisifyChrome({ - 'storage.sync': ['get', 'set'], - }); - } // getPrefs may fail on browser startup in the active tab as it loads before the background script const initializing = (msg.isBg ? readStorage() : API.getPrefs().catch(readStorage)) .then(setAll); @@ -236,11 +231,8 @@ window.INJECTED !== 1 && (() => { } function readStorage() { - /* Using a non-promisified call since this code may also run in a content script - when API.getPrefs occasionally fails during browser startup in the active tab */ - return new Promise(resolve => - chrome.storage.sync.get(STORAGE_KEY, data => - resolve(data[STORAGE_KEY]))); + return browser.storage.sync.get(STORAGE_KEY) + .then(data => data[STORAGE_KEY]); } function updateStorage() { diff --git a/js/storage-util.js b/js/storage-util.js index 42e2931a..2ff5587a 100644 --- a/js/storage-util.js +++ b/js/storage-util.js @@ -1,72 +1,51 @@ -/* global loadScript tryJSONparse promisifyChrome */ -/* exported chromeLocal chromeSync */ +/* global loadScript tryJSONparse */ 'use strict'; -promisifyChrome({ - 'storage.local': ['get', 'remove', 'set'], - 'storage.sync': ['get', 'remove', 'set'], -}); - -const [chromeLocal, chromeSync] = (() => { - return [ - createWrapper('local'), - createWrapper('sync'), - ]; - - function createWrapper(name) { - const storage = browser.storage[name]; - const wrapper = { - get: storage.get.bind(storage), - set: data => storage.set(data).then(() => data), - remove: storage.remove.bind(storage), - - /** - * @param {String} key - * @param {Any} [defaultValue] - * @returns {Promise} - */ - getValue: (key, defaultValue) => - wrapper.get( - defaultValue !== undefined ? - {[key]: defaultValue} : - key - ).then(data => data[key]), - - setValue: (key, value) => wrapper.set({[key]: value}), - - getLZValue: key => wrapper.getLZValues([key]).then(data => data[key]), - getLZValues: (keys = Object.values(wrapper.LZ_KEY)) => - Promise.all([ - wrapper.get(keys), - loadLZStringScript(), - ]).then(([data = {}, LZString]) => { - for (const key of keys) { - const value = data[key]; - data[key] = value && tryJSONparse(LZString.decompressFromUTF16(value)); - } - return data; - }), - setLZValue: (key, value) => - loadLZStringScript().then(LZString => - wrapper.set({ - [key]: LZString.compressToUTF16(JSON.stringify(value)), - })), - - loadLZStringScript, - }; - return wrapper; - } - - function loadLZStringScript() { - return window.LZString ? - Promise.resolve(window.LZString) : - loadScript('/vendor/lz-string-unsafe/lz-string-unsafe.min.js').then(() => - (window.LZString = window.LZString || window.LZStringUnsafe)); - } +(() => { + /** @namespace StorageExtras */ + const StorageExtras = { + async getValue(key) { + return (await this.get(key))[key]; + }, + async setValue(key, value) { + await this.set({[key]: value}); + }, + async getLZValue(key) { + return (await this.getLZValues([key]))[key]; + }, + async getLZValues(keys = Object.values(this.LZ_KEY)) { + const [data, LZString] = await Promise.all([ + this.get(keys), + this.getLZString(), + ]); + for (const key of keys) { + const value = data[key]; + data[key] = value && tryJSONparse(LZString.decompressFromUTF16(value)); + } + return data; + }, + async setLZValue(key, value) { + const LZString = await this.getLZString(); + return this.setValue(key, LZString.compressToUTF16(JSON.stringify(value))); + }, + async getLZString() { + if (!window.LZString) { + await loadScript('/vendor/lz-string-unsafe/lz-string-unsafe.min.js'); + window.LZString = window.LZString || window.LZStringUnsafe; + } + return window.LZString; + }, + }; + /** @namespace StorageExtrasSync */ + const StorageExtrasSync = { + LZ_KEY: { + csslint: 'editorCSSLintConfig', + stylelint: 'editorStylelintConfig', + usercssTemplate: 'usercssTemplate', + }, + }; + /** @type {chrome.storage.StorageArea|StorageExtras} */ + window.chromeLocal = Object.assign(browser.storage.local, StorageExtras); + /** @type {chrome.storage.StorageArea|StorageExtras|StorageExtrasSync} */ + window.chromeSync = Object.assign(browser.storage.sync, StorageExtras, StorageExtrasSync); })(); - -chromeSync.LZ_KEY = { - csslint: 'editorCSSLintConfig', - stylelint: 'editorStylelintConfig', - usercssTemplate: 'usercssTemplate', -}; diff --git a/manage/import-export.js b/manage/import-export.js index 7c29d53c..9cc20790 100644 --- a/manage/import-export.js +++ b/manage/import-export.js @@ -257,8 +257,7 @@ async function importFromString(jsonString) { // Must acquire the permission before setting the pref if (CHROME && !chrome.declarativeContent && stats.options.names.find(_ => _.name === 'styleViaXhr' && _.isValid && _.val)) { - await new Promise(resolve => - chrome.permissions.request({permissions: ['declarativeContent']}, resolve)); + await browser.permissions.request({permissions: ['declarativeContent']}); } const oldStorage = await chromeSync.get(); for (const {name, val, isValid, isPref} of stats.options.names) { diff --git a/popup/popup.js b/popup/popup.js index bc9df1b2..7a7fc9a5 100644 --- a/popup/popup.js +++ b/popup/popup.js @@ -88,28 +88,23 @@ function toggleSideBorders(state = prefs.get('popup.borders')) { } } -function initTabUrls() { - return getActiveTab() - .then((tab = {}) => - FIREFOX && tab.status === 'loading' && tab.url === ABOUT_BLANK - ? waitForTabUrlFF(tab) - : tab) - .then(tab => new Promise(resolve => - chrome.webNavigation.getAllFrames({tabId: tab.id}, frames => - resolve({frames, tab})))) - .then(({frames, tab}) => { - let url = tab.pendingUrl || tab.url || ''; // new Chrome uses pendingUrl while connecting - frames = sortTabFrames(frames); - if (url === 'chrome://newtab/' && !URLS.chromeProtectsNTP) { - url = frames[0].url || ''; - } - if (!URLS.supported(url)) { - url = ''; - frames.length = 1; - } - tabURL = frames[0].url = url; - return frames; - }); +async function initTabUrls() { + let tab = await getActiveTab(); + if (FIREFOX && tab.status === 'loading' && tab.url === ABOUT_BLANK) { + tab = await waitForTabUrlFF(tab); + } + let frames = await browser.webNavigation.getAllFrames({tabId: tab.id}); + let url = tab.pendingUrl || tab.url || ''; // new Chrome uses pendingUrl while connecting + frames = sortTabFrames(frames); + if (url === 'chrome://newtab/' && !URLS.chromeProtectsNTP) { + url = frames[0].url || ''; + } + if (!URLS.supported(url)) { + url = ''; + frames.length = 1; + } + tabURL = frames[0].url = url; + return frames; } /** @param {chrome.webNavigation.GetAllFrameResultDetails[]} frames */ diff --git a/tools/chrome-api-no-cb.js b/tools/chrome-api-no-cb.js new file mode 100644 index 00000000..eacaeecf --- /dev/null +++ b/tools/chrome-api-no-cb.js @@ -0,0 +1,73 @@ +#!/usr/bin/env node +/* + Generates a list of callbackless chrome.* API methods from chromium source + to be used in polyfill.js +*/ +'use strict'; + +const manifest = require('../manifest.json'); +const fetch = require('make-fetch-happen'); + +(async () => { + manifest.permissions.push('extension', 'i18n', 'runtime'); + const FN_NO_CB = /\bstatic (\w+) (\w+)(?![^)]*callback)\(\s*([^)]*)\)/g; + const BASE = 'https://github.com/chromium/chromium/raw/master/'; + const PATHS = [ + [BASE + 'extensions/common/api/', 'schema.gni'], + [BASE + 'chrome/common/extensions/api/', 'api_sources.gni'], + ]; + console.debug('Downloading...'); + const schemas = await Promise.all(PATHS.map(([path, name]) => fetchText(path + name))); + const files = {}; + schemas.forEach((text, i) => { + const path = PATHS[i][0]; + text.match(/\w+\.(idl|json)/g).forEach(name => { + files[name] = path; + }); + }); + const resList = []; + const resObj = {}; + await Promise.all(Object.entries(files).map(processApi)); + Object.entries(resObj) + .sort(([a], [b]) => a < b ? -1 : a > b) + .forEach(([key, val]) => { + delete resObj[key]; + resObj[key] = val; + val.sort(); + }); + console.log(resList.sort().join('\n')); + console.log(JSON.stringify(resObj)); + + async function fetchText(file) { + return (await fetch(file)).text(); + } + + async function processApi([file, path]) { + const [name, ext] = file.split('.'); + const api = manifest.permissions.find(p => + name === p.replace(/([A-Z])/g, s => '_' + s.toLowerCase()) || + name === p.replace(/\./g, '_')); + if (!api) return; + const text = await fetchText(path + file); + const noCmt = text.replace(/^\s*\/\/.*$/gm, ''); + if (ext === 'idl') { + const fnBlock = (noCmt.split(/\n\s*interface Functions {\s*/)[1] || '') + .split(/\n\s*interface \w+ {/)[0]; + for (let m; (m = FN_NO_CB.exec(fnBlock));) { + const [, type, name, params] = m; + resList.push(`chrome.${api}.${name}(${params.replace(/\n\s*/g, ' ')}): ${type}`); + (resObj[api] || (resObj[api] = [])).push(name); + } + } else { + for (const fn of JSON.parse(noCmt)[0].functions || []) { + const last = fn.parameters[fn.parameters.length - 1]; + if (!fn.returns_async && (!last || last.type !== 'function')) { + resList.push(`chrome.${api}.${fn.name}(${ + fn.parameters.map(p => `${p.optional ? '?' : ''}${p.name}: ${p.type}`).join(', ') + })`); + (resObj[api] || (resObj[api] = [])).push(fn.name); + } + } + } + } +})(); From a065039d5090d78a92c84930908a2d2005f95ccc Mon Sep 17 00:00:00 2001 From: Rob Garrison Date: Fri, 13 Nov 2020 19:06:43 -0600 Subject: [PATCH 052/291] update locales --- _locales/bg/messages.json | 2 +- _locales/cs/messages.json | 2 +- _locales/de/messages.json | 54 ++++++- _locales/es/messages.json | 2 +- _locales/et/messages.json | 2 +- _locales/fr/messages.json | 2 +- _locales/he/messages.json | 2 +- _locales/hu/messages.json | 2 +- _locales/it/messages.json | 2 +- _locales/ja/messages.json | 54 ++++++- _locales/ko/messages.json | 6 +- _locales/nl/messages.json | 56 +++++++- _locales/pl/messages.json | 58 +++++++- _locales/pt_BR/messages.json | 247 +++++++++++++++++++++++++++++++- _locales/pt_PT/messages.json | 2 +- _locales/ro/messages.json | 2 +- _locales/ru/messages.json | 2 +- _locales/sv/messages.json | 2 +- _locales/tr/messages.json | 2 +- _locales/uk/messages.json | 1 + _locales/zh_CN/messages.json | 270 +++++++++++++++++++++-------------- _locales/zh_TW/messages.json | 54 ++++++- 22 files changed, 692 insertions(+), 134 deletions(-) create mode 100644 _locales/uk/messages.json diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index fce7dc43..4e90d8a6 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -737,4 +737,4 @@ "message": "този адрес", "description": "Text for link in toolbar pop-up to write a new style for the current URL" } -} +} \ No newline at end of file diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index 4bd340b5..d81899a8 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -1302,4 +1302,4 @@ "message": "Nahrávání souboru…", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 32253e1b..842f0d09 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -172,6 +172,10 @@ "message": "Tab-Größe", "description": "Label for the text box controlling tab size option for the style editor." }, + "colorpickerPaletteHint": { + "message": "Rechtsklicke auf ein Farbmuster, um durch die entsprechenden Codezeilen zu springen", + "description": "" + }, "colorpickerSwitchFormatTooltip": { "message": "Formate wechseln: HEX -> RGB ->HSL.\nShift-Klick, um Richtung umzukehren.\nKürzel: Bild auf- und Bild ab-Tasten.", "description": "Tooltip for the switch button in the color picker popup in the style editor." @@ -240,6 +244,14 @@ "message": "In die Zwischenablage kopieren", "description": "Tooltip for elements which can be copied" }, + "customNameHint": { + "message": "Neuen Anzeigenamen des Styles hier eingeben, um trotzdem weiterhin Updates zu erhalten", + "description": "" + }, + "customNameResetHint": { + "message": "Eigenen Anzeigenamen nicht mehr benutzen, wechsle wieder zum Standardnamen des Styles", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, "dateInstalled": { "message": "Installationsdatum", "description": "Option text for the user to sort the style by install date" @@ -445,6 +457,14 @@ "message": "Importieren", "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" }, + "importPreprocessor": { + "message": "Ein Style mit einem @preprocessorfunktioniert nicht im klassischen Modus. Du kannst den Editor auf UserCSS umstellen: 1) Öffne den Style-Manager, 2) Aktiviere das Kästchen \"Als UserCSS\", 3) Klicke auf \"Neuen Style erstellen\"\n\nTrotzdem jetzt importieren?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Mögliches Problem wegen @preprocessor", + "description": "" + }, "importReplaceLabel": { "message": "Style überschreiben", "description": "Label for the button to import and overwrite current style" @@ -901,6 +921,10 @@ "message": "Für diese Webseite sind keine Styles installiert.", "description": "Text displayed when no styles are installed for the current site" }, + "numberedLine": { + "message": "Zeile:", + "description": "Will be followed by one or more line numbers in the editor." + }, "openManage": { "message": "Verwalten", "description": "Link to open the manage page." @@ -937,6 +961,14 @@ "message": "Schreibe neuen Style als UserCSS", "description": "" }, + "optionsAdvancedStyleViaXhr": { + "message": "Style unverzüglich einfügen", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Aktivieren, falls während dem Browsen ungestylter Inhalt aufblitzt (FOUC). Besonders auffällig bei dunklen Styles.\n\nDer technische Grund ist, dass Chrome/Chromium die asynchrone Kommunikation von Erweiterungen zeitlich nach hinten verschiebt, um vermeintlich die Seitenladegeschwindigkeit zu erhöhen. Dies kann das Einfügen von Styles spürbar verzögern. Da für WebExtensions keine synchrone API bereitgestellt wird, versucht Stylus als Notbehelf, Styles über die veraltete XMLHttpRequest web API zu laden. Es sollten keine nachteiligen Effekte eintreten, weil die Anfrage innerhalb weniger Millisekunden abgearbeitet wird, während die Seite noch vom Server geladen wird.\n\nTrotzdem wird Chromium eine Warnung in der Entwicklerkonsole ausgeben. Über Rechtsklick auf die Warnung können zukünftige Meldungen versteckt werden.", + "description": "" + }, "optionsBadgeDisabled": { "message": "Hintergrundfarbe wenn deaktiviert", "description": "" @@ -997,6 +1029,10 @@ "message": "Optionen zurücksetzen", "description": "" }, + "optionsStylusThemes": { + "message": "Stylus UI-Theme suchen", + "description": "" + }, "optionsSubheading": { "message": "Mehr Optionen", "description": "Subheading for options section on manage page." @@ -1125,6 +1161,10 @@ "message": "Aktionsmenü", "description": "Tooltip for menu button in popup." }, + "popupOpenEditInPopup": { + "message": "Einfaches Fenster verwenden (keine Omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, "popupOpenEditInWindow": { "message": "Editor in neuem Fenster öffnen", "description": "Label for the checkbox controlling 'edit' action behavior in the popup." @@ -1177,6 +1217,10 @@ "message": "Groß- / Kleinschreibung beachten", "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" }, + "searchGlobalStyles": { + "message": "Auch globale Styles suchen", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, "searchNumberOfResults": { "message": "Trefferanzahl", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" @@ -1185,6 +1229,10 @@ "message": "Trefferanzahl im Code und in \"Gilt für\" Feldern", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" }, + "searchStyleQueryHint": { + "message": "Stylenamen ohne Beachtung der Groß-/Kleinschreibung suchen:\nMehrere Suchworte - alle Wörter in beliebiger Reihenfolge\n\"Bestimmte Phrase\" - genau diese Phrase ohne Anführungszeichen\n2020 - zeigt auch Styles, die 2020 aktualisiert wurden", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, "searchRegexp": { "message": "Verwende die /re/ Syntax zur Suche als RegExp", "description": "Label after the search input field in the editor shown on Ctrl-F" @@ -1229,6 +1277,10 @@ "message": "Gelöschten Bereich wiederherstellen", "description": "Label for the button to restore a removed section" }, + "sections": { + "message": "Bereiche", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, "shortcuts": { "message": "Tastenkürzel", "description": "Go to shortcut configuration" @@ -1596,4 +1648,4 @@ "message": "Lade Styles hoch...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/es/messages.json b/_locales/es/messages.json index ceb3dd1d..3cb1eb4a 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -1564,4 +1564,4 @@ "message": "Subiendo el archivo....", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/et/messages.json b/_locales/et/messages.json index 57066641..a95af978 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -1482,4 +1482,4 @@ "message": "Faili üleslaadimine...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index e2aad9cd..8d8033a0 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -1612,4 +1612,4 @@ "message": "Envoi du fichier…", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/he/messages.json b/_locales/he/messages.json index c9b25a9a..c403e7a9 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -1377,4 +1377,4 @@ "message": "מעלה קובץ...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index 1195eb83..da0f16f5 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -1600,4 +1600,4 @@ "message": "Fájl feltöltése...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 0be3fef9..b2a3eabe 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -1054,4 +1054,4 @@ "message": "questo URL", "description": "Text for link in toolbar pop-up to write a new style for the current URL" } -} +} \ No newline at end of file diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index b76c741f..20080c52 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -176,6 +176,10 @@ "message": "テーマ", "description": "Label for the style editor's CSS theme." }, + "colorpickerPaletteHint": { + "message": "見本を右クリックして対応するソース行を選択します", + "description": "" + }, "colorpickerSwitchFormatTooltip": { "message": "フォーマット切り替え: HEX -> RGB -> HSL\nシフトを押しながらクリックすると逆向きに切り替えます。\nまた、PgUp (PageUp), PgDn (PageDown) キーも使用できます。", "description": "Tooltip for the switch button in the color picker popup in the style editor." @@ -244,6 +248,14 @@ "message": "クリップボードへコピー", "description": "Tooltip for elements which can be copied" }, + "customNameHint": { + "message": "(更新を妨げない)UI 上でのみ有効なスタイルのカスタム名を入力してください", + "description": "" + }, + "customNameResetHint": { + "message": "カスタム名の使用をやめ、スタイル自身の名称に切り替えます", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, "dateInstalled": { "message": "インストール日", "description": "Option text for the user to sort the style by install date" @@ -457,6 +469,14 @@ "message": "インポート", "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" }, + "importPreprocessor": { + "message": "@preprocessorを含むスタイルは、クラシックモードでは機能しません。エディタをUsercssモードにしてください : 1) スタイルマネージャーを開きます, 2)「Usercssとして」チェックボックスをONにします, 3)「新スタイルを作成」をクリックします", + "description": "" + }, + "importPreprocessorTitle": { + "message": "@preprocessorの潜在的な問題", + "description": "" + }, "importReplaceLabel": { "message": "スタイルを上書き", "description": "Label for the button to import and overwrite current style" @@ -917,6 +937,10 @@ "message": "該当するスタイルはありません。", "description": "Text displayed when no styles are installed for the current site" }, + "numberedLine": { + "message": "行:", + "description": "Will be followed by one or more line numbers in the editor." + }, "openManage": { "message": "管理", "description": "Link to open the manage page." @@ -953,6 +977,14 @@ "message": "新しいスタイルを usercss として作成します", "description": "" }, + "optionsAdvancedStyleViaXhr": { + "message": "即時更新モード", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "閲覧時に、スタイルの指定されていないコンテンツが点滅するような場合に有効にしてください。これは、ダークテーマで特に目立つことがあります。\n\n技術的な原因は、Chrome/Chromium が拡張機能との非同期通信を遅延することです。これは(無意味なことが多いですが)ページのロード時間の短縮のために行われ、スタイルの適用を遅延する場合があります。これを回避するため(web拡張自体は同期通信APIを提供していないので)、Stylusは「非推奨」の XMLHttpRequest web API をスタイルの読み込みに使用するオプションを提供しています。サーバからページがダウンロードされている間に、リクエストは数ミリ秒で終了するため、悪影響はありません。\n\nそれでも、Chromium は、開発者ツールのコンソールに警告を出力します。 警告を右クリックして非表示にすると、以後は警告を表示しないようにすることができます。", + "description": "" + }, "optionsBadgeDisabled": { "message": "無効にしたときの背景色", "description": "" @@ -1021,6 +1053,10 @@ "message": "オプションをリセット", "description": "" }, + "optionsStylusThemes": { + "message": "StylusのUIテーマを見つける", + "description": "" + }, "optionsSubheading": { "message": "その他のオプション", "description": "Subheading for options section on manage page." @@ -1149,6 +1185,10 @@ "message": "アクションメニュー", "description": "Tooltip for menu button in popup." }, + "popupOpenEditInPopup": { + "message": "(アドレスバーのない)シンプルなウィンドウを使用", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, "popupOpenEditInWindow": { "message": "新しいウィンドウでエディタを開く", "description": "Label for the checkbox controlling 'edit' action behavior in the popup." @@ -1201,6 +1241,10 @@ "message": "大文字小文字を区別する", "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" }, + "searchGlobalStyles": { + "message": "グローバルスタイルも検索", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, "searchNumberOfResults": { "message": "マッチ数", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" @@ -1209,6 +1253,10 @@ "message": "コードおよび適用先欄のマッチ数", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" }, + "searchStyleQueryHint": { + "message": "スタイル名を大文字小文字の区別なく検索します:\n複数の単語 - 全単語を順番の区別なく検索します\n\"複数の単語からなるフレーズ\" - 正確なフレーズを (引用符は除いて) 検索します\n2020 - このように数値 (年) を指定すると、2020年に更新されたスタイルも結果に表示します", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, "searchRegexp": { "message": "正規表現検索には /re/ を使用してください", "description": "Label after the search input field in the editor shown on Ctrl-F" @@ -1257,6 +1305,10 @@ "message": "削除したセクションを復旧", "description": "Label for the button to restore a removed section" }, + "sections": { + "message": "セクション", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, "shortcuts": { "message": "ショートカット", "description": "Go to shortcut configuration" @@ -1632,4 +1684,4 @@ "message": "スタイルをアップロード中...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index 26a35640..880967c0 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -1301,6 +1301,10 @@ "message": "유효하지 않은 정규 표현식입니다.", "description": "Validation message for a bad regexp in a style" }, + "styleBeautifyHint": { + "message": "힌트: “Beautify” 버튼을 우클릭 하거나 아래 지정한 키보드 단축키를 사용하면 이 패널을 숨기면서 “Beautify”를 활성화 합니다", + "description": "Hint shown inside the CSS-beautifier panel" + }, "styleBeautifyIndentConditional": { "message": "@media, @supports 들여쓰기", "description": "CSS-beautifier option" @@ -1632,4 +1636,4 @@ "message": "파일 업로드 중...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index 677c39cd..89f35903 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -180,6 +180,10 @@ "message": "Thema", "description": "Label for the style editor's CSS theme." }, + "colorpickerPaletteHint": { + "message": "Klik met de rechtermuisknop op een kleurstaal om de bronregels ervan te doorlopen", + "description": "" + }, "colorpickerSwitchFormatTooltip": { "message": "Indelingen omschakelen: HEX -> RGB -> HSL.\nShift-klik om de volgorde om te keren.\nWerkt ook met de toetsen PgUp (PageUp) en PgDn (PageDown).", "description": "Tooltip for the switch button in the color picker popup in the style editor." @@ -248,6 +252,14 @@ "message": "Kopiëren naar klembord", "description": "Tooltip for elements which can be copied" }, + "customNameHint": { + "message": "Voer hier een aangepaste naam in om de stijl in de UI te hernoemen zonder updates ervan te beschadigen", + "description": "" + }, + "customNameResetHint": { + "message": "Geen aangepaste naam meer gebruiken, wisselen naar eigen naam van de stijl", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, "dateInstalled": { "message": "Installatiedatum", "description": "Option text for the user to sort the style by install date" @@ -453,6 +465,14 @@ "message": "Importeren", "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" }, + "importPreprocessor": { + "message": "Stijlen met een @preprocessor werken niet in de klassieke modus. U kunt de editor omschakelen naar Usercss-modus: 1) open de stijlbeheerder, 2) vink het selectievakje ‘als Usercss’ aan, 3) klik op ‘Nieuwe stijl schrijven’\n\nToch nu importeren?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Mogelijk probleem vanwege @preprocessor", + "description": "" + }, "importReplaceLabel": { "message": "Stijl overschrijven", "description": "Label for the button to import and overwrite current style" @@ -771,7 +791,7 @@ } }, "meta_invalidRangeUnits": { - "message": "Ongeldige @var $type$: '$units$' is geen geldige eenheid", + "message": "Ongeldige @var $type$: ‘$units$’ is geen geldige eenheid", "description": "Error displayed when the value of @var range or @var number is invalid", "placeholders": { "type": { @@ -905,6 +925,10 @@ "message": "Geen geïnstalleerde stijlen voor deze website.", "description": "Text displayed when no styles are installed for the current site" }, + "numberedLine": { + "message": "Regel:", + "description": "Will be followed by one or more line numbers in the editor." + }, "openManage": { "message": "Beheren", "description": "Link to open the manage page." @@ -941,6 +965,14 @@ "message": "Nieuwe stijl schrijven als usercss", "description": "" }, + "optionsAdvancedStyleViaXhr": { + "message": "Directe-injectiemodus", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Schakel dit in als u knipperende inhoud zonder stijlen (‘FOUC’) ondervindt tijdens het browsen, wat met name bij donkere thema’s opvalt.\n\nDe technische reden is dat Chrome/Chromium asynchrone communicatie van extensies uitstelt, doorgaans om te proberen paginalaadsnelheden te verbeteren, waardoor stijlen mogelijk te laat worden toegepast. Om dit te omzeilen, en aangezien er voor webextensies geen synchrone API wordt aangeboden, biedt Stylus deze optie om de ‘verouderde’ synchrone XMLHttpRequest-web-API voor het ophalen van toepasbare stijlen te gebruiken. Er zouden geen nadelige effecten mogen zijn, omdat de aanvraag binnen enkele milliseconden wordt behandeld terwijl de pagina nog van de server wordt gedownload.\n\nNiettemin toont Chromium een waarschuwing in de console van devtools. Door met de rechtermuisknop op een waarschuwing te klikken en deze te verbergen, worden toekomstige waarschuwingen niet meer getoond.", + "description": "" + }, "optionsBadgeDisabled": { "message": "Achtergrondkleur wanneer uitgeschakeld", "description": "" @@ -1005,6 +1037,10 @@ "message": "Standaardwaarden", "description": "" }, + "optionsStylusThemes": { + "message": "Een UI-thema voor Stylus zoeken", + "description": "" + }, "optionsSubheading": { "message": "Meer opties", "description": "Subheading for options section on manage page." @@ -1133,6 +1169,10 @@ "message": "Actiemenu", "description": "Tooltip for menu button in popup." }, + "popupOpenEditInPopup": { + "message": "Een eenvoudig venster gebruiken (geen omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, "popupOpenEditInWindow": { "message": "Editor openen in nieuw venster", "description": "Label for the checkbox controlling 'edit' action behavior in the popup." @@ -1185,6 +1225,10 @@ "message": "Hoofdlettergevoelig", "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" }, + "searchGlobalStyles": { + "message": "Ook globale stijlen doorzoeken", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, "searchNumberOfResults": { "message": "Aantal overeenkomsten", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" @@ -1193,6 +1237,10 @@ "message": "Aantal overeenkomsten in code en ‘Van toepassing op’-waarden", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" }, + "searchStyleQueryHint": { + "message": "Stijlnamen niet hoofdlettergevoelig doorzoeken:\nbepaalde woorden - alle woorden in willekeurige volgorde\n\"bepaalde woordgroep\" - deze exacte woordgroep zonder aanhalingstekens\n2020 - een jaar als dit toont ook stijlen die in 2020 zijn bijgewerkt", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, "searchRegexp": { "message": "Gebruik /re/-syntaxis voor regexp-zoeken", "description": "Label after the search input field in the editor shown on Ctrl-F" @@ -1237,6 +1285,10 @@ "message": "Verwijderde sectie herstellen", "description": "Label for the button to restore a removed section" }, + "sections": { + "message": "Secties", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, "shortcuts": { "message": "Sneltoetsen", "description": "Go to shortcut configuration" @@ -1616,4 +1668,4 @@ "message": "Bestand uploaden...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index f24ce9e9..18f1cbaa 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -184,6 +184,10 @@ "message": "Motyw", "description": "Label for the style editor's CSS theme." }, + "colorpickerPaletteHint": { + "message": "Kliknij prawym przyciskiem myszy próbkę, aby przejść przez jej wiersze kodu", + "description": "" + }, "colorpickerSwitchFormatTooltip": { "message": "Zmiana formatu: HEX -> RGB -> HSL.\nShift i kliknięcie do odwrócenia kierunku.\nTakże klawiszami PgUp (PageUp), PgDn (PageDown).", "description": "Tooltip for the switch button in the color picker popup in the style editor." @@ -252,6 +256,14 @@ "message": "Skopiuj do schowka", "description": "Tooltip for elements which can be copied" }, + "customNameHint": { + "message": "Podaj tutaj niestandardową nazwę, aby zmienić nazwę stylu w interfejsie użytkownika bez przerywania jego aktualizacji", + "description": "" + }, + "customNameResetHint": { + "message": "Przestań używać niestandardowej nazwy, przełącz na własną nazwę stylu", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, "dateInstalled": { "message": "Data zainstalowania", "description": "Option text for the user to sort the style by install date" @@ -301,7 +313,7 @@ "description": "Label for the context menu item in the editor to delete selected text" }, "editGotoLine": { - "message": "Przejdź do linii (lub linii:kol)", + "message": "Przejdź do wiersza (lub wiersz:kol)", "description": "Go to line or line:column on Ctrl-G in style code editor" }, "editStyleHeading": { @@ -465,6 +477,14 @@ "message": "Importuj", "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" }, + "importPreprocessor": { + "message": "Styl z @preprocessor nie będzie działać w trybie klasycznym. Możesz przełączyć edytor w tryb Usercss: 1) otwórz menedżer stylów, 2) zaznacz pole wyboru \"jako Usercss\", 3) kliknij \"Napisz nowy styl\"\n\nCzy mimo to zaimportować teraz?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potencjalny problem związany z @preprocessor", + "description": "" + }, "importReplaceLabel": { "message": "Nadpisz styl", "description": "Label for the button to import and overwrite current style" @@ -921,6 +941,10 @@ "message": "Nie ma zainstalownych stylów dla tej witryny.", "description": "Text displayed when no styles are installed for the current site" }, + "numberedLine": { + "message": "Wiersz:", + "description": "Will be followed by one or more line numbers in the editor." + }, "openManage": { "message": "Zarządzaj", "description": "Link to open the manage page." @@ -957,6 +981,14 @@ "message": "Napisz nowy styl jako usercss", "description": "" }, + "optionsAdvancedStyleViaXhr": { + "message": "Tryb natychmiastowego wstrzyknięcia", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Włącz tę opcję, jeśli napotkasz miganie niestylizowanej treści (FOUC) podczas przeglądania, co jest szczególnie zauważalne w przypadku ciemnych motywów.\n\nTechnicznym powodem jest to, że Chrome/Chromium odracza asynchroniczną komunikację rozszerzeń, co zwykle jest bezsensowną próbą przyspieszenia ładowania strony i może powodować spóźnienie zastosowania stylów. Aby to obejść, ponieważ rozszerzenia internetowe nie mają synchronicznego interfejsu API, Stylus udostępnia tę opcję, która umożliwia wykorzystanie \"przestarzałego\" synchronicznego sieciowego API XMLHttpRequest do pobierania odpowiednich stylów. Nie powinno to mieć żadnych negatywnych skutków, ponieważ żądanie jest realizowane w ciągu kilku milisekund, podczas gdy strona jest nadal pobierana z serwera.\n\nNiemniej jednak Chromium wyświetli ostrzeżenie w konsoli narzędzi dla programistów. Kliknięcie ostrzeżenia prawym przyciskiem myszy i ukrycie go zapobiegnie wyświetlaniu przyszłych ostrzeżeń.", + "description": "" + }, "optionsBadgeDisabled": { "message": "Kolor tła po wyłączeniu", "description": "" @@ -1025,6 +1057,10 @@ "message": "Resetuj opcje", "description": "" }, + "optionsStylusThemes": { + "message": "Znajdź motyw interfejsu Stylusa", + "description": "" + }, "optionsSubheading": { "message": "Więcej opcji", "description": "Subheading for options section on manage page." @@ -1153,6 +1189,10 @@ "message": "Menu akcji", "description": "Tooltip for menu button in popup." }, + "popupOpenEditInPopup": { + "message": "Użyj prostego okna (bez omniboksu)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, "popupOpenEditInWindow": { "message": "Otwórz edytor w nowym oknie", "description": "Label for the checkbox controlling 'edit' action behavior in the popup." @@ -1205,6 +1245,10 @@ "message": "Rozróżnianie wielkości liter", "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" }, + "searchGlobalStyles": { + "message": "Przeszukuj także style globalne", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, "searchNumberOfResults": { "message": "Liczba dopasowań", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" @@ -1213,6 +1257,10 @@ "message": "Liczba dopasowań w kodzie oraz dotyczących wartości", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" }, + "searchStyleQueryHint": { + "message": "Szukaj nazw stylów bez rozróżniania wielkości liter:\njakieś słowa - wszystkie słowa w dowolnej kolejności\n\"jakieś zdanie\" - dokładnie to zdanie bez cudzysłowów\n2020 - rok jak ten pokazuje również style zaktualizowane w 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, "searchRegexp": { "message": "Użyj składni /re/ dla wyszukiwania regexp", "description": "Label after the search input field in the editor shown on Ctrl-F" @@ -1261,6 +1309,10 @@ "message": "Przywróć usuniętą sekcję", "description": "Label for the button to restore a removed section" }, + "sections": { + "message": "Sekcje", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, "shortcuts": { "message": "Skróty", "description": "Go to shortcut configuration" @@ -1314,7 +1366,7 @@ "description": "CSS-beautifier option" }, "styleBeautifyPreserveNewlines": { - "message": "Zachowaj nowe linie", + "message": "Zachowaj nowe wiersze", "description": "CSS-beautifier option" }, "styleCancelEditLabel": { @@ -1640,4 +1692,4 @@ "message": "Wysyłanie stylów...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index ba33f129..e969c1c3 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -40,6 +40,14 @@ "message": "Aplica-se a", "description": "Label for 'applies to' fields on the edit/add screen" }, + "appliesLineWidgetLabel": { + "message": "Mostrar informações de \"Aplica-se a\"", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Não funciona com CSS minificado", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, "appliesRegexpOption": { "message": "URLs que correspondem a regexp", "description": "Option to make the style apply to the entered string as a regular expression" @@ -48,6 +56,10 @@ "message": "Remover", "description": "Label for the button to remove an 'applies' entry" }, + "appliesRemoveError": { + "message": "Não é possível remover a última entrada de 'aplica-se a'", + "description": "Error displayed when the last 'applies' is going to be removed" + }, "appliesSpecify": { "message": "Especificar", "description": "Label for the button to make a style apply only to specific sites" @@ -96,6 +108,42 @@ "message": "Clique para desistalar", "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" }, + "cm_autoCloseBrackets": { + "message": "Auto fechar parênteses, colchetes e aspas", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Adicione automaticamente um par de fechamento ao digitar uma abertura de ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocompletar ao digitar", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers para cores CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Usar tabs com indentação inteligente", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_lineWrapping": { + "message": "Quebra de linha", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_resizeGripHint": { + "message": "Duplo clique para maximizar/restaurar a altura", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Clicar duas vezes seleciona tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_smartIndent": { + "message": "Usar indentação inteligente", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, "cm_theme": { "message": "Tema", "description": "Label for the style editor's CSS theme." @@ -144,6 +192,14 @@ "message": "Sim", "description": "'Yes' button in a confirm dialog" }, + "copied": { + "message": "Copiado para a área de transferência", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copiar para a área de transferência", + "description": "Tooltip for elements which can be copied" + }, "dateInstalled": { "message": "Data instalada ", "description": "Option text for the user to sort the style by install date" @@ -209,10 +265,18 @@ "message": "Procurar mais estilos para este site", "description": "Text for a link that gets a list of styles for the current site" }, + "genericDisabledLabel": { + "message": "Desativado", + "description": "Used in various lists/options to indicate that something is disabled" + }, "helpAlt": { "message": "Ajuda", "description": "Alternate text for help buttons" }, + "hostDisabled": { + "message": "Este hospedeiro foi desabilitado devido a um bug na versão atual que o navegador utilizado se encontra", + "description": "Tooltip for cloud host disabled" + }, "importAppendLabel": { "message": "Anexar ao estilo", "description": "Label for the button to import a style and append to the existing sections" @@ -229,14 +293,90 @@ "message": "Sobrescrever estilo", "description": "Label for the button to import and overwrite current style" }, + "importReportUnchanged": { + "message": "Nada foi alterado.", + "description": "Message in the report shown after importing styles" + }, "installUpdate": { "message": "Instalar atualização", "description": "Label for the button to install an update for a single style" }, + "linkTranslate": { + "message": "Traduzir", + "description": "Transifex link text on the manage page" + }, "manageHeading": { "message": "Estilos instalados", "description": "Heading for the manage page" }, + "manageOnlyDisabled": { + "message": "Somente estilos desativados", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Apenas estilos habilitados", + "description": "Checkbox to show only enabled styles" + }, + "meta_invalidRange": { + "message": "@var inválido $type$: valor deve ser um número ou um vetor", + "description": "Error displayed when the value of @var range or @var number is invalid", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Espera-se um número", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Espera-se um texto entre aspas", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Espera-se uma palavra", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Caracteres esperados: $chars$", + "description": "Error displayed when the value is expected to be some characters", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingMandatory": { + "message": "Metadata obrigatório não encontrado: $keys$", + "description": "Error displayed when mandatory keys are missing", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Metadata desconhecido: $key$", + "description": "Error displayed when unknown metadata is parsed", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Tipo desconhecido da variável @$varkey$: $vartype$", + "description": "Error displayed when unknown variable type is parsed", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, "noStylesForSite": { "message": "Nenhum estilo instalado para este site.", "description": "Text displayed when no styles are installed for the current site" @@ -245,6 +385,14 @@ "message": "Gerenciar estilos instalados", "description": "Link to open the manage page." }, + "openOptions": { + "message": "Opções", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Abrir gerenciador de estilos", + "description": "Label for the style maanger opener in the browser action context menu." + }, "optionsActions": { "message": "Ações", "description": "" @@ -261,6 +409,18 @@ "message": "Atualizar estilos", "description": "" }, + "optionsCheckUpdate": { + "message": "Verifique e instale todas as atualizações disponíveis", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Atualizações", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sincronizar para a nuvem", + "description": "" + }, "optionsHeading": { "message": "Opções", "description": "Heading for options section on manage page." @@ -269,14 +429,62 @@ "message": "Abrir", "description": "" }, + "optionsOpenManager": { + "message": "Gerenciar estilos", + "description": "" + }, + "optionsPopupWidth": { + "message": "Largura do popup (em pixels)", + "description": "" + }, "optionsSubheading": { "message": "Mais Opções", "description": "Subheading for options section on manage page." }, + "optionsSyncNone": { + "message": "Nenhum", + "description": "" + }, + "optionsSyncConnect": { + "message": "Conectar", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Desconectar", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sincronizar agora", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Sincronizando...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Conectando...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Conectado", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Desconectando...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Desconectado", + "description": "" + }, "prefShowBadge": { - "message": "Show number of styles active for the current site on the toolbar button", + "message": "Número de estilos ativos para o site atual", "description": "Label for the checkbox controlling toolbar badge text." }, + "reload": { + "message": "Recarregar a extensão do Stylus", + "description": "Context menu reload" + }, "replace": { "message": "Substituir", "description": "Label before the replace input field in the editor shown on Ctrl-H" @@ -297,6 +505,10 @@ "message": "Buscar", "description": "Label before the search input field in the editor shown on Ctrl-F" }, + "searchRegexp": { + "message": "Use a sintaxe /re/ para busca por regexp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, "searchStyles": { "message": "Buscar conteúdos", "description": "Label for the search filter textbox on the Manage styles page" @@ -313,6 +525,10 @@ "message": "Remover seção", "description": "Label for the button to remove a section" }, + "shortcuts": { + "message": "Atalhos", + "description": "Go to shortcut configuration" + }, "styleBadRegexp": { "message": "Expressão regular é inválida", "description": "Validation message for a bad regexp in a style" @@ -321,6 +537,10 @@ "message": "Embelezar", "description": "Label for the CSS-beautifier button on the edit style page" }, + "styleBeautifyHint": { + "message": "Dica: clique com o botão direito no botão \"Embelezar\" ou use o atalho de teclado definido para embelezar sem mostrar esse painel", + "description": "Hint shown inside the CSS-beautifier panel" + }, "styleCancelEditLabel": { "message": "Voltar ao gerenciamento", "description": "Label for cancel button for style editing" @@ -358,6 +578,15 @@ "message": "O formato Mozilla do código pode ser usado com o Stylish para Firefox e pode ser enviado para userstyles.org.", "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" }, + "styleUpdate": { + "message": "Você tem certeza que quer atualizar '$stylename$'?", + "description": "Confirmation when updating a style", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, "undo": { "message": "Desfazer", "description": "Button label" @@ -383,6 +612,14 @@ "message": "A atualização falhou: servidor inacessível.", "description": "Text that displays when an update check failed because the update server is unreachable" }, + "updateCheckManualUpdateHint": { + "message": "Forçar uma atualização irá sobrescrever qualquer alteração local.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Esse estilo foi editado localmente.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, "updateCheckSkippedMaybeLocallyEdited": { "message": "Este estilo parece ter sido editado localmente.", "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" @@ -444,19 +681,19 @@ "description": "" }, "connectingDropboxNotAllowed": { - "message": "Conectar ao Dropbox somente é disponível em apps instalados diretamente da lojaweb", + "message": "Conectar ao Dropbox somente é disponível em apps instalados diretamente da loja web", "description": "" }, "gettingStyles": { - "message": "Obtendo todos estilos...", + "message": "Obtendo todos os estilos...", "description": "" }, "zipStyles": { - "message": "Zipando estilos...", + "message": "Compactando estilos...", "description": "" }, "unzipStyles": { - "message": "Unzipando estilos...", + "message": "Descompactando estilos...", "description": "" }, "readingStyles": { diff --git a/_locales/pt_PT/messages.json b/_locales/pt_PT/messages.json index cf3cee05..8b2067d0 100644 --- a/_locales/pt_PT/messages.json +++ b/_locales/pt_PT/messages.json @@ -1220,4 +1220,4 @@ "message": "este URL", "description": "Text for link in toolbar pop-up to write a new style for the current URL" } -} +} \ No newline at end of file diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index 703d0f54..000c82ad 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -1136,4 +1136,4 @@ "message": "acest URL", "description": "Text for link in toolbar pop-up to write a new style for the current URL" } -} +} \ No newline at end of file diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index 2334e357..ba26254e 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -1640,4 +1640,4 @@ "message": "Загрузка файла...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index d800b825..5288d04e 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -1518,4 +1518,4 @@ "message": "Skickar filen...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 1dedf52b..333b676d 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -892,4 +892,4 @@ "message": "Dosya Yükleniyor...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json new file mode 100644 index 00000000..9e26dfee --- /dev/null +++ b/_locales/uk/messages.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 04e56f37..5d77541d 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -1,6 +1,6 @@ { "addStyleLabel": { - "message": "编写新样式", + "message": "新建样式", "description": "Label for the button to go to the add style page" }, "addStyleTitle": { @@ -33,7 +33,7 @@ "description": "Option to make the style apply to the entered string as a domain" }, "appliesHelp": { - "message": "使用“应用于”控件来限制此段代码所应用到的链接。", + "message": " : 具体链接,额外匹配#hash,反之不行\n<前缀> : url-prefix,以前缀开头的链接\n<域名> : domain,也匹配旗下子域名\n<正则> : RegExp,隐形附加<^> <$> 无需转义/ (导出导入时会自动CSS转义符\\\\)\n提示: 不支持 * 通配符, 黑名单排除可在Stylus-Popup里的 ⠇操作", "description": "Help text for 'applies to' section" }, "appliesLabel": { @@ -41,7 +41,7 @@ "description": "Label for 'applies to' fields on the edit/add screen" }, "appliesLineWidgetLabel": { - "message": "显示被应用对象的信息", + "message": "显示 应用于 控件", "description": "Label for the checkbox to display applies-to information in the single editor" }, "appliesLineWidgetWarning": { @@ -49,7 +49,7 @@ "description": "A warning that applies-to information won't show properly with minified CSS" }, "appliesRegexpOption": { - "message": "正则表达式", + "message": "正则", "description": "Option to make the style apply to the entered string as a regular expression" }, "appliesRemove": { @@ -68,12 +68,8 @@ "message": "所有页面", "description": "Text displayed for styles that apply to all sites" }, - "appliesUrlOption": { - "message": "链接", - "description": "Option to make the style apply to the entered string as a URL" - }, "appliesUrlPrefixOption": { - "message": "链接前缀", + "message": "前缀", "description": "Option to make the style apply to the entered string as a URL prefix" }, "applyAllUpdates": { @@ -89,7 +85,7 @@ "description": "Heading for backup" }, "backupMessage": { - "message": "选择备份文件,或将 JSON 备份文件拖放到本页面,即可导入备份。", + "message": "拖拽JSON备份文件到本页面也可导入。", "description": "Message for backup" }, "bckpInstStyles": { @@ -97,7 +93,7 @@ "description": "" }, "checkAllUpdates": { - "message": "全部检查更新", + "message": "检测全部更新", "description": "Label for the button to check all styles for updates" }, "checkAllUpdatesForce": { @@ -117,23 +113,23 @@ "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" }, "cm_autoCloseBrackets": { - "message": "自动补全括号与引号", + "message": "括弧配对", "description": "Label for the checkbox in the style editor." }, "cm_autoCloseBracketsTooltip": { - "message": "在输入 () [] {} '' \"\" 时自动补全", + "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对", "description": "Label for the checkbox in the style editor." }, "cm_autocompleteOnTyping": { - "message": "输入时自动补全", + "message": "自动完成", "description": "Label for the checkbox in the style editor." }, "cm_colorpicker": { - "message": "CSS 颜色选择器", + "message": "颜色器", "description": "Label for the checkbox controlling colorpicker option for the style editor." }, "cm_indentWithTabs": { - "message": "使用Tab智能缩进", + "message": "用Tab智能缩进", "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." }, "cm_keyMap": { @@ -144,28 +140,32 @@ "message": "自动换行", "description": "Label for the checkbox controlling word wrap option for the style editor." }, + "cm_linter": { + "message": "Linter", + "description": "Select the linter to check for CSS issues" + }, "cm_matchHighlight": { "message": "高亮", "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." }, "cm_matchHighlightSelection": { - "message": "选择区域", + "message": "仅选择区域", "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" }, "cm_matchHighlightToken": { - "message": "光标所在token字段", + "message": "光标token字段", "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" }, "cm_resizeGripHint": { - "message": "双击以最大化或恢复高度", + "message": "双击可最大化/恢复高度", "description": "Tooltip for the resize grip in style editor" }, "cm_selectByTokens": { - "message": "双击选中 token 字段", + "message": "双击选中token字段", "description": "Label for the checkbox in the editor." }, "cm_selectByTokensTooltip": { - "message": "token 字段示例:.foo-bar-2 #aabbcc 0.32 !important\n未启用时:会选中按空格或标点符号分隔的字词段,如 .foo-bar-2 中的 foo、bar 和 2。", + "message": "token字段示例:.foo-bar-2\nON: 按CSS语法全选中\nOFF:按\\w+常规语法分开选中 foo、bar、2\n⚠ Sublime映射下配合不选中token", "description": "" }, "cm_smartIndent": { @@ -180,20 +180,24 @@ "message": "主题", "description": "Label for the style editor's CSS theme." }, + "colorpickerPaletteHint": { + "message": "右击: 循环跳转到所在行", + "description": "" + }, "colorpickerSwitchFormatTooltip": { - "message": "颜色格式转换:HEX -> RGB -> HSL 。\nShift + 单击则反向转换。\n也可以使用 PgUp (PageUp) 与 PgDn (PageDown) 键。", + "message": "转换格式: HEX → RGB → HSL\n反向转换: Shift+单击 或 PgUp/PgDn", "description": "Tooltip for the switch button in the color picker popup in the style editor." }, "colorpickerTooltip": { - "message": "打开颜色选择器", + "message": "打开颜色器", "description": "Tooltip for the colored squares shown before CSS colors in the style editor." }, "configOnChange": { - "message": "正在变更", + "message": "即时生效", "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" }, "configOnChangeTooltip": { - "message": "自动保存并应用修改", + "message": "实时预览+自动保存", "description": "" }, "configureStyle": { @@ -201,7 +205,7 @@ "description": "Label for the button to configure usercss userstyle" }, "configureStyleOnHomepage": { - "message": "通过 userstyles.org  配置", + "message": "通过userstyles.org配置选项", "description": "Label for the button to configure userstyles.org userstyle" }, "confirmCancel": { @@ -252,6 +256,14 @@ "message": "复制到粘贴板", "description": "Tooltip for elements which can be copied" }, + "customNameHint": { + "message": "在此自定义本地名称才不影响在线更新", + "description": "" + }, + "customNameResetHint": { + "message": "切换为样式的原始名称", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, "dateInstalled": { "message": "安装日期", "description": "Option text for the user to sort the style by install date" @@ -269,7 +281,7 @@ "description": "Default CodeMirror CSS theme option on the edit style page" }, "deleteStyleConfirm": { - "message": "确定要删除此样式吗?", + "message": "确定要删除此样式吗 ??", "description": "Confirmation before deleting a style" }, "deleteStyleLabel": { @@ -277,7 +289,7 @@ "description": "Label for the button to delete a style" }, "description": { - "message": "Stylus 是一个调整网页外观的用户样式管理器。它可让您轻松地为许多热门网站网站安装主题和皮肤。", + "message": "Stylus 是广受好评的 CSS&UserCSS 用户样式容器! 能够自定义网页样式和在线安装分享等等...", "description": "Extension description" }, "disableAllStyles": { @@ -289,7 +301,7 @@ "description": "Label for the button to disable a style" }, "dragDropMessage": { - "message": "把 JSON 备份文件拖放到页面的任意位置,即可导入", + "message": "拖放JSON备份文件到管理器页面即可导入!", "description": "Drag'n'drop message" }, "dragDropUsercssTabstrip": { @@ -305,11 +317,11 @@ "description": "Go to line or line:column on Ctrl-G in style code editor" }, "editStyleHeading": { - "message": "修改样式", + "message": "编辑样式", "description": "Title of the page for editing styles" }, "editStyleLabel": { - "message": "修改", + "message": "编辑", "description": "Label for the button to go to the edit style page" }, "editStyleTitle": { @@ -358,7 +370,7 @@ "description": "Label for the external link to usercss documentation" }, "filteredStyles": { - "message": "已显示 $numShown$ 个,总共 $numTotal$ 个", + "message": "共$numTotal$个,已显示 $numShown$ 个", "description": "TL note - make this message short", "placeholders": { "numTotal": { @@ -374,15 +386,15 @@ "description": "Text shown when no styles match currently applied filter in the style manager" }, "findStyles": { - "message": "查找更多样式", + "message": "查找样式", "description": "Text for a link that gets a list of styles for the current site" }, "findStylesForSite": { - "message": "查找适合此网站的更多样式", + "message": "查找该域名的在线样式", "description": "Text for a link that gets a list of styles for the current site" }, "findStylesInline": { - "message": "嵌入到此页面", + "message": "嵌入此页", "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" }, "findStylesInlineTooltip": { @@ -398,7 +410,7 @@ "description": "Used in various places for an action that clones something" }, "genericDisabledLabel": { - "message": "未启用", + "message": "禁用", "description": "Used in various lists/options to indicate that something is disabled" }, "genericEnabledLabel": { @@ -414,11 +426,11 @@ "description": "Used in various places to show a history log of something" }, "genericNext": { - "message": "继续", + "message": "下一个", "description": "Used in various places to select/perform the next step/action" }, "genericPrevious": { - "message": "后退", + "message": "上一个", "description": "Used in various places to select/perform the previous step/action" }, "genericResetLabel": { @@ -454,27 +466,35 @@ "description": "Tooltip for cloud host disabled" }, "importAppendLabel": { - "message": "追加到样式", + "message": "追加导入", "description": "Label for the button to import a style and append to the existing sections" }, "importAppendTooltip": { - "message": "将被导入样式附加至当前样式", + "message": "以追加的方式来导入", "description": "Tooltip for the button to import a style and append to the existing sections" }, "importLabel": { "message": "导入", "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" }, + "importPreprocessor": { + "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "潜在问题之 @preprocessor 预处理", + "description": "" + }, "importReplaceLabel": { - "message": "覆盖样式", + "message": "覆盖替换导入", "description": "Label for the button to import and overwrite current style" }, "importReplaceTooltip": { - "message": "放弃当前样式的内容,使用已导入样式覆盖它", + "message": "完全覆盖的替换导入", "description": "Label for the button to import and overwrite current style" }, "importReportLegendAdded": { - "message": "个样式已添加", + "message": "个样式已被添加", "description": "Text after the number of styles added in the report shown after importing styles" }, "importReportLegendIdentical": { @@ -585,7 +605,7 @@ } }, "linterConfigTooltip": { - "message": "点击以配置此 Linter", + "message": "配置此Linter", "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" }, "linterInvalidConfigError": { @@ -634,11 +654,11 @@ "description": "The label of live-reload feature" }, "manageFavicons": { - "message": "显示已应用的图标", + "message": "显示 \"应用于\" 的favicon图标", "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" }, "manageFaviconsGray": { - "message": "灰色图标", + "message": "显示为灰色图标", "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" }, "manageFaviconsHelp": { @@ -650,15 +670,15 @@ "description": "Label for filters container" }, "manageHeading": { - "message": "已安装的样式", + "message": "样式管理器", "description": "Heading for the manage page" }, "manageMaxTargets": { - "message": "显示应用的规则列表数量", + "message": "显示 \"应用于\" 的数量", "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" }, "manageNewStyleAsUsercss": { - "message": "作为 UserCSS 样式", + "message": "新建为UserCSS", "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" }, "manageNewUI": { @@ -666,19 +686,19 @@ "description": "Label for the checkbox that toggles the new UI on manage page" }, "manageOnlyDisabled": { - "message": "只显示未启用的样式", + "message": "只显示 未启用 ", "description": "Checkbox to show only disabled styles" }, "manageOnlyEnabled": { - "message": "只显示已启用的样式", + "message": "只显示 已启用 ", "description": "Checkbox to show only enabled styles" }, "manageOnlyExternal": { - "message": "只显示外部安装的样式", + "message": "只显示 外部安装", "description": "Checkbox to show only externally installed styles i.e. updatable" }, "manageOnlyLocal": { - "message": "只显示本地创建的样式", + "message": "只显示 本地创建", "description": "Checkbox to show only locally created styles i.e. non-updatable" }, "manageOnlyLocalTooltip": { @@ -686,19 +706,23 @@ "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" }, "manageOnlyNonUsercss": { - "message": "只显示非 UserCSS 样式", + "message": "只显示 非UserCSS", "description": "Checkbox to show only non-Usercss (standard) styles" }, "manageOnlyUpdates": { - "message": "只显示可升级的样式", + "message": "只显示 可升级的 ", "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" }, "manageOnlyUsercss": { - "message": "只显示仅 UserCSS 样式", + "message": "只显示 仅UserCSS", "description": "Checkbox to show only Usercss styles" }, + "manageTitle": { + "message": "Stylus管理器", + "description": "Title for the manage page" + }, "menuShowBadge": { - "message": "显示生效的样式计数", + "message": "计数器角标", "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." }, "meta_invalidCheckboxDefault": { @@ -921,8 +945,12 @@ "message": "此网站没有样式。", "description": "Text displayed when no styles are installed for the current site" }, + "numberedLine": { + "message": "行:", + "description": "Will be followed by one or more line numbers in the editor." + }, "openManage": { - "message": "管理样式", + "message": "管理器", "description": "Link to open the manage page." }, "openOptions": { @@ -930,11 +958,11 @@ "description": "Go to Options UI" }, "openStylesManager": { - "message": "打开样式管理器", + "message": "打开管理器", "description": "Label for the style maanger opener in the browser action context menu." }, "optionsActions": { - "message": "接下来要做什么", + "message": "操作", "description": "" }, "optionsAdvanced": { @@ -946,23 +974,31 @@ "description": "" }, "optionsAdvancedExposeIframes": { - "message": "通过 HTML[stylus-iframe] 确定 iframe 父页面", + "message": "给 iframe 注入 stylus-iframe=\"域名\"", "description": "" }, "optionsAdvancedExposeIframesNote": { - "message": "为每个 iframe 页面的 html 添加 stylus-iframe 属性,以便在 iframe 页面中暴露其顶级父页面的顶级域名。\n允许像这样编写针对属于特定页面的 iframe 的 CSS:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }\n详见源代码:https://github.com/openstyles/stylus/blob/master/content/apply.js#L270", + "message": "给每个iframe内嵌框架的html标签注入 stylus-iframe=\"域名hostname\" 的属性(值),\n用途: 用作iframe选择器, 一键确定 iframe 父页面 的唯一选择器.\n示例 html[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n详见源码:github.com/openstyles/stylus/blob/master/content/apply.js#L270", "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." }, "optionsAdvancedNewStyleAsUsercss": { - "message": "将新样式的格式设为 UserCSS", + "message": "将新样式的格式设为UserCSS", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "即时注入模式", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在浏览时遇到样式闪烁(FOUC)、特别是在深色主题下会更明显,可尝试启用此功能。\n\n技术上的原因是 Chrome内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供Web扩展的样式同步的API接口,因此Stylus提供了此选项来变相实现, 利用 “已弃用的” XMLHttpRequest 这个同步API来获取适用的样式。 它几乎是没有任何副作用,因为样式请求在几毫秒内就OK, 而网页仍在从服务器下载中.\n有关FOUC报告,你可以查看此讨论https://crbug.com/853986\n\n尽管如此,但 Chrome 仍旧会在DevTools的 中显示警告。 可以手动搞定: 右键单击警告并将其隐藏,将防止再次显示警告。", "description": "" }, "optionsBadgeDisabled": { - "message": "禁用时的背景颜色", + "message": "计数器背景色 (一键全禁用时)", "description": "" }, "optionsBadgeNormal": { - "message": "背景颜色", + "message": "计数器背景色", "description": "" }, "optionsCheck": { @@ -974,15 +1010,15 @@ "description": "" }, "optionsCustomizeBadge": { - "message": "样式计数器", + "message": "计数器角标", "description": "" }, "optionsCustomizeIcon": { - "message": "切换图标", + "message": "图标风格", "description": "" }, "optionsCustomizePopup": { - "message": "样式管理弹框", + "message": "Stylus-Popup", "description": "" }, "optionsCustomizeUpdate": { @@ -998,11 +1034,11 @@ "description": "Heading for options section on manage page." }, "optionsIconDark": { - "message": "暗色浏览器主题", + "message": "高对比度暗色图标", "description": "" }, "optionsIconLight": { - "message": "亮色浏览器主题", + "message": "低对比度亮色图标", "description": "" }, "optionsOpen": { @@ -1010,11 +1046,11 @@ "description": "" }, "optionsOpenManager": { - "message": "管理样式", + "message": "管理器", "description": "" }, "optionsPopupWidth": { - "message": "Stylus 样式管理弹出框宽度(px)", + "message": "Popup 宽度(px)", "description": "" }, "optionsReset": { @@ -1025,16 +1061,20 @@ "message": "恢复默认值", "description": "" }, + "optionsStylusThemes": { + "message": "查找 Stylus UI 主题ᐝ", + "description": "" + }, "optionsSubheading": { "message": "附加选项", "description": "Subheading for options section on manage page." }, "optionsUpdateImportNote": { - "message": "从旧版本的 Stylus 或 Stylish 中导入样式备份时,请在样式管理器中手动检测升级一次,以确保所有样式都可更新到最新版本。", + "message": "从旧版的 Stylus 或 Stylish 中导入备份样式时,\n请手动检测升级一次,以确保所有样式都可更新到最新版本。", "description": "" }, "optionsUpdateInterval": { - "message": "每隔 N 小时,检查所有样式更新(0 为关闭检查)", + "message": "每隔 N 小时 自动检测更新(0 为禁用)", "description": "" }, "optionsSyncNone": { @@ -1126,7 +1166,7 @@ "description": "The error message to show when stylus failed to parse usercss" }, "popupAutoResort": { - "message": "切换后,在弹出窗口中重新排序样式", + "message": "样式切换后实时排序", "description": "Label for the checkbox controlling popup resorting." }, "popupBorders": { @@ -1138,27 +1178,31 @@ "description": "" }, "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, 数字小键盘也可以 - 切换到第 N 样式 (0 是切换到第 10 个样式)\n- 切换以该字母为名称首字母的样式\n 开启编辑器而不是切换\n 启用列出的样式\n 禁用列出的样式\n 和 <`> (倒引号) - 切换初始使用的样式;当弹窗开启时不应用后来启用的样式,因此你可以在测试完成后回复默认的初始选择:简单的禁用所有,然后切换。 \n更多信息详见 Wiki", + "message": "<1>-<9>, <0>, 按第1-10个来开关\n- 按英文首字母来开关\n附加: 打开编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`>~ - 仅针对弹出时的初始ON列表,\n 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n\n更多信息见Wiki", "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." }, "popupHotkeysTooltip": { - "message": "单击查看可用的快捷键", + "message": "查看Popup列表快捷键", "description": "Tooltip displayed when hovering the right edge of the extension popup" }, "popupManageTooltip": { - "message": "Shift + 左键单击 或 右键单击 以打开管理界面中当前页面适用的样式", + "message": "右击 || Shift+左击: 打开管理器且筛选当前URL(不含iframe)", "description": "Tooltip for the 'Manage' button in the popup." }, "popupMenuButtonTooltip": { "message": "操作菜单", "description": "Tooltip for menu button in popup." }, + "popupOpenEditInPopup": { + "message": "使用无地址栏的简洁新窗口来打开", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, "popupOpenEditInWindow": { - "message": "在新窗口中打开编辑器", + "message": "新窗口打开编辑器(或直接拖拽ꖅ)", "description": "Label for the checkbox controlling 'edit' action behavior in the popup." }, "popupOpenEditInWindowTooltip": { - "message": "可以通过将编辑器标签页拖出为单独窗口来启用,\n将被拖出的编辑器标签页拖入其他窗口即可禁用。", + "message": "此选项不用管. 因为它会动态跟随且记住\n编辑器标签页的拖出/拖入的状态. 即:\n拖出单独窗口时, ON 该选项.\n拖入合并窗口时, OFF该选项.", "description": "Label for the checkbox controlling 'edit' action behavior in the popup." }, "popupStylesFirst": { @@ -1166,7 +1210,7 @@ "description": "Label for the checkbox controlling section order in the popup." }, "prefShowBadge": { - "message": "当前网站激活的样式数量", + "message": "计数器角标 (或图标右键)", "description": "Label for the checkbox controlling toolbar badge text." }, "previewLabel": { @@ -1174,11 +1218,11 @@ "description": "Label for the checkbox in style editor to enable live preview while editing." }, "previewTooltip": { - "message": "无需保存即可临时应用样式预览效果。保存以使更改永久生效。", + "message": "无需保存即可临时预览样式效果", "description": "Tooltip for the checkbox in style editor to enable live preview while editing." }, "reload": { - "message": "重新加载 Stylus 扩展程序", + "message": "重启 Stylus", "description": "Context menu reload" }, "replace": { @@ -1205,6 +1249,10 @@ "message": "大小写敏感", "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" }, + "searchGlobalStyles": { + "message": "全局搜索", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, "searchNumberOfResults": { "message": "已找到", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" @@ -1213,12 +1261,16 @@ "message": "在代码和应用中匹配的数量", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" }, + "searchStyleQueryHint": { + "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, "searchRegexp": { - "message": "使用 JavaScript /re/ 语法(用“/”包裹正则表达式)进行正则表达式搜索", + "message": "/regex/ 用 / 包裹语法来正则搜索", "description": "Label after the search input field in the editor shown on Ctrl-F" }, "searchResultInstallCount": { - "message": "总安装次数", + "message": "总的安装次数", "description": "Text for label that shows the number of times a search result was installed" }, "searchResultNoneFound": { @@ -1238,15 +1290,15 @@ "description": "Text for label that shows the number of times a search result was installed during last week" }, "searchStyles": { - "message": "搜索内容", + "message": "搜索", "description": "Label for the search filter textbox on the Manage styles page" }, "searchStylesHelp": { - "message": "使用 键以定位搜索栏。\n纯文本: 搜索名字,代码,主页 URL 和适用于它的站点,少于 3 个字母的单词将会被忽略。 \n匹配URL:以 为前缀来搜索,例如 \n正则表达式:包括斜杠和标记。 \n精确的单词:使用双引号包住想要搜索的内容,例如 <\".header ~ div\">", + "message": " 或 聚焦搜索框 清空搜索框\n焦点在页面时, 也支持样式名的首字母索引!\n\n文本搜索: 样式名、代码、主页、适用于\n 搜索应用于该URL前缀的样式,例如\n\n正则搜索:js语法 用 / / 包裹及正则属性标记 \n精确搜索:用双引号包裹(跟网页搜索一样) 如 <\"head ~ div\">", "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" }, "sectionAdd": { - "message": "添加其他部分", + "message": "添加部分", "description": "Label for the button to add a section" }, "sectionCode": { @@ -1261,12 +1313,16 @@ "message": "撤销删除", "description": "Label for the button to restore a removed section" }, + "sections": { + "message": "章节", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, "shortcuts": { "message": "快捷键", "description": "Go to shortcut configuration" }, "shortcutsNote": { - "message": "定义键盘快捷键", + "message": "设置快捷键", "description": "" }, "sortDateNewestFirst": { @@ -1290,11 +1346,11 @@ "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" }, "sortStylesHelp": { - "message": "从下拉菜单中选择要应用于所有已安装项目的排序类型,默认使用标题升序排序 (A - Z)。「标题降序」则会应用降序排序 (Z - A)。\n还有很多其他排序方式,可以通过多个条件对已安装项目进行排序。你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设置为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", + "message": "默认用「标题升序」排序(A - Z)\n反之, 「标题降序」则是(Z - A)\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" }, "sortStylesHelpTitle": { - "message": "排序内容", + "message": "自定义排序帮助信息", "description": "Label for the sort info popup on the Manage styles page" }, "styleBadRegexp": { @@ -1306,7 +1362,7 @@ "description": "Label for the CSS-beautifier button on the edit style page" }, "styleBeautifyHint": { - "message": "提示: 你可以不显示此面板, 而是用右键“美化”按钮 或用下面定义的快捷键来美化.", + "message": "右键格式化按钮 或 下面的快捷键\n可实现一键格式化而不显示此弹框", "description": "Hint shown inside the CSS-beautifier panel" }, "styleBeautifyIndentConditional": { @@ -1395,11 +1451,11 @@ "description": "Tooltip in the popup for styles that were applied only partially" }, "styleRegexpTestButton": { - "message": "测试正则表达式", + "message": "正则测试", "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" }, "styleRegexpTestFull": { - "message": "匹配的标签页", + "message": "匹配到标签页的正则", "description": "RegExp test report: label for the fully matching expressions" }, "styleRegexpTestInvalid": { @@ -1407,7 +1463,7 @@ "description": "RegExp test report: label for the invalid expressions" }, "styleRegexpTestNone": { - "message": "没有匹配的标签页", + "message": "没有匹配到标签页的正则", "description": "RegExp test report: label for expressions that didn't match any tabs" }, "styleRegexpTestNote": { @@ -1419,7 +1475,7 @@ "description": "RegExp test report: label for the partially matching expressions" }, "styleRegexpTestTitle": { - "message": "匹配的标签页列表(点击链接可切换到该标签)", + "message": "已打开标签页的正则匹配(点击URL可跳转)", "description": "RegExp test report: title of the report" }, "styleSaveLabel": { @@ -1427,7 +1483,7 @@ "description": "Label for save button for style editing" }, "styleToMozillaFormatHelp": { - "message": "导入 FireFox (Mozilla) 格式的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。反过来,分段式的 CSS 也可以导出为 FireFox (Mozilla) 格式。需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox (Mozilla) 格式。", + "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框", "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" }, "styleToMozillaFormatTitle": { @@ -1448,11 +1504,11 @@ "description": "Confirmation to update the style in the editor" }, "stylusUnavailableForURL": { - "message": "Stylus 不能在此类页面上工作", + "message": "Stylus 无法介入到此类页面", "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" }, "stylusUnavailableForURLdetails": { - "message": "出于安全的因素,浏览器禁止拓展程序影响其内置页面 (例如 chrome://version ,Chrome 61 的新标准标签页,about:addons 等其他页面)以及其他拓展程序的页面。每个浏览器也限制了对于自己拓展程序库的介入 (例如 Chrome 网上应用店、Firefox 附加组件)。", + "message": "浏览器出于安全而限制扩展介入到\n非自身的chrome-extension://、chrome://、官方扩展商店页", "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" }, "syncStorageErrorSaving": { @@ -1460,7 +1516,7 @@ "description": "Displayed when trying to save an excessively big value via storage.sync API" }, "toggleStyle": { - "message": "切换样式", + "message": "切换ON/OFF", "description": "Label for the checkbox to enable/disable a style" }, "undo": { @@ -1488,11 +1544,11 @@ "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" }, "unreachableContentScript": { - "message": "无法读取页面,请尝试刷新。", + "message": "无法介入到此页面", "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" }, "unreachableFileHint": { - "message": "如果需要改变 file:// 协议的样式,则需要在 chrome://extensions 页面中的 Stylus 扩展选项里面,打开 允许访问文件网址 的权限", + "message": "! Stylus 无法介入到官方商店页面 !\n若是文件页面 或 小号无痕页面 请检查:\n1) 右键 - Stylus图标 并点击-\"管理扩展程序\"\n2) 勾选 - \"允许访问文件网址\" 以在 file:// 工作\n3) 勾选 - \"在无痕模式下启用\" 以在无痕页面和小号标签页工作 (有的浏览器带有小号功能、如CentBrowser)", "description": "Note in the toolbar popup for file:// URLs" }, "InaccessibleFileHint": { @@ -1565,11 +1621,11 @@ "description": "Placeholder text for the empty name input field when creating a new Usercss style" }, "usercssReplaceTemplateConfirmation": { - "message": "使用这些代码替换新 UserCSS 样式的默认模板?", + "message": "使用当前的 UserStyle 替换为新的UserCSS默认模板 ??", "description": "" }, "usercssReplaceTemplateName": { - "message": "以空的 @name 代替默认模板", + "message": "该赋值为空的保存可设置默认模板", "description": "The text shown after @name when creating a new Usercss style" }, "usercssReplaceTemplateSectionBody": { @@ -1581,11 +1637,11 @@ "description": "Displayed when the version of style is older than the installed one" }, "writeStyleFor": { - "message": "编写样式给:", + "message": "新建样式给:", "description": "Label for toolbar pop-up that precedes the links to write a new style" }, "writeStyleForURL": { - "message": "此 URL", + "message": "URL", "description": "Text for link in toolbar pop-up to write a new style for the current URL" }, "syncDropboxStyles": { @@ -1640,4 +1696,4 @@ "message": "正在上传文件...", "description": "" } -} +} \ No newline at end of file diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index 2551fb69..c14f9638 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -180,6 +180,10 @@ "message": "主題", "description": "Label for the style editor's CSS theme." }, + "colorpickerPaletteHint": { + "message": "右鍵點擊其中ㄧ部份以循環其原始碼", + "description": "" + }, "colorpickerSwitchFormatTooltip": { "message": "切換格式:HEX → RGB → HSL。\nShift 並點選則為反向進行。\n也可以使用 PgUp (PageUp) 與 PgDn (PageDown) 鍵。", "description": "Tooltip for the switch button in the color picker popup in the style editor." @@ -252,6 +256,14 @@ "message": "複製到剪貼簿", "description": "Tooltip for elements which can be copied" }, + "customNameHint": { + "message": "在此輸入自訂名稱以在使用者介面中重新命名樣式而不會中斷其更新", + "description": "" + }, + "customNameResetHint": { + "message": "停止使用自訂的名稱,切換到樣式自己的名稱", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, "dateInstalled": { "message": "安裝日期", "description": "Option text for the user to sort the style by install date" @@ -465,6 +477,14 @@ "message": "匯入", "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" }, + "importPreprocessor": { + "message": "使用 @preprocessor 的樣是在經典模式下無法運作。您可以將編輯器切換到 Usercss 模式:1) 開啟樣式管理程式,2) 啟用「做為 Usercss」對話框,3) 點擊「編寫新樣式」\n", + "description": "" + }, + "importPreprocessorTitle": { + "message": "@preprocessor 引起的潛在問題", + "description": "" + }, "importReplaceLabel": { "message": "覆蓋樣式", "description": "Label for the button to import and overwrite current style" @@ -921,6 +941,10 @@ "message": "目前網站沒有安裝任何樣式。", "description": "Text displayed when no styles are installed for the current site" }, + "numberedLine": { + "message": "行", + "description": "Will be followed by one or more line numbers in the editor." + }, "openManage": { "message": "管理已安裝樣式", "description": "Link to open the manage page." @@ -957,6 +981,14 @@ "message": "以 usercss 編寫新樣式", "description": "" }, + "optionsAdvancedStyleViaXhr": { + "message": "即時注入模式", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在瀏覽時遇到無樣式內容 (FOUC) 的閃爍(在深色主題下尤其明顯),請啟用此選項。\n\n技術上的原因是 Chrome/Chromium 通常以無意義的嘗試延遲擴充功能的非同步通訊來改善網頁的載入速度,這可能會導致樣式較慢才被套用。為了避免這種狀況,因為擴充功能無法使用同步 API,Stylus 提供了此選項以利用「已棄用」的同步 XMLHttpRequest 網路 API 來擷取可套用的樣式。應該不會有任何有害的影響,因為在從伺服器下載頁面的同時,請求也會在幾毫秒內完成。\n\n儘管如此,Chromium 還是會在開發者工具的主控台中顯示警告。右鍵點擊警告,然後隱藏它們,這樣警告就不會再顯示。", + "description": "" + }, "optionsBadgeDisabled": { "message": "停用時的背景色彩", "description": "" @@ -1025,6 +1057,10 @@ "message": "重設選項", "description": "" }, + "optionsStylusThemes": { + "message": "尋找 Sytlus UI 佈景主題", + "description": "" + }, "optionsSubheading": { "message": "更多選項", "description": "Subheading for options section on manage page." @@ -1153,6 +1189,10 @@ "message": "動作選單", "description": "Tooltip for menu button in popup." }, + "popupOpenEditInPopup": { + "message": "使用簡易視窗(無多功能方框)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, "popupOpenEditInWindow": { "message": "在新視窗開啟編輯器", "description": "Label for the checkbox controlling 'edit' action behavior in the popup." @@ -1205,6 +1245,10 @@ "message": "區分大小寫", "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" }, + "searchGlobalStyles": { + "message": "同時搜尋全域樣式", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, "searchNumberOfResults": { "message": "符合數量", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" @@ -1213,6 +1257,10 @@ "message": "在程式碼與套用到的值的符合數量", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" }, + "searchStyleQueryHint": { + "message": "搜尋樣式名稱時是區分大小寫的:\nsome words - 以任意順序搜尋所有文字\n\"some phrase\" - 精確符合引號內的詞語\n2020 - 如此年份顯示在2020年更新的樣式", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, "searchRegexp": { "message": "使用/re/語法正規表示式搜尋", "description": "Label after the search input field in the editor shown on Ctrl-F" @@ -1261,6 +1309,10 @@ "message": "復原已移除的部份", "description": "Label for the button to restore a removed section" }, + "sections": { + "message": "樣式段", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, "shortcuts": { "message": "快速鍵", "description": "Go to shortcut configuration" @@ -1640,4 +1692,4 @@ "message": "正在上傳檔案……", "description": "" } -} +} \ No newline at end of file From 7fa4d10fd65e62b2873daf6353d09068d6a4fb12 Mon Sep 17 00:00:00 2001 From: Rob Garrison Date: Fri, 13 Nov 2020 19:28:48 -0600 Subject: [PATCH 053/291] 1.5.14 --- manifest.json | 2 +- package-lock.json | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/manifest.json b/manifest.json index faf9d0ca..67e237bd 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name": "Stylus", - "version": "1.5.13", + "version": "1.5.14", "minimum_chrome_version": "55", "description": "__MSG_description__", "homepage_url": "https://add0n.com/stylus.html", diff --git a/package-lock.json b/package-lock.json index d6797a9f..bfab677a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "Stylus", - "version": "1.5.13", + "version": "1.5.14", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/package.json b/package.json index 5987b01c..f9f73364 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Stylus", - "version": "1.5.13", + "version": "1.5.14", "description": "Redesign the web with Stylus, a user styles manager", "license": "GPL-3.0-only", "repository": "openstyles/stylus", From 420733b93a097ae7d917af5dedb2b0525d86b25c Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 18 Nov 2020 14:17:15 +0300 Subject: [PATCH 054/291] PatchCSP + tweaks/fixes/features (#1107) * add Patch CSP option * show style version, size, and update age in manager * add scope selector to style search in manager * keep scroll position and selections in tab's session * directly install usercss from raw github links * ditch localStorage, use on-demand SessionStore proxy * simplify localization * allow tag in i18n-html * keep   nodes in HTML templates * API.getAllStyles is actually faster with code untouched * fix fitToContent when applies-to is taller than window * dedupe linter.enableForEditor calls * prioritize visible CMs in refreshOnViewListener * don't scroll to last style on editing a new one * delay colorview for invisible CMs * eslint comma-dangle error + autofix files * styleViaXhr: also toggle for disableAll pref * styleViaXhr: allow cookies for sandbox CSP * simplify notes in options * simplify getStylesViaXhr * oldUI fixups: * remove separator before 1st applies-to * center name bubbles * fix updateToc focus on a newly added section * fix fitToContent when cloning section * remove CSS `contain` as it makes no difference * replace overrides with declarative CSS + code cosmetics * simplify adjustWidth and make it work in FF --- .eslintrc.yml | 2 +- _locales/en/messages.json | 66 +++- background/background-worker.js | 14 +- background/background.js | 71 ++-- background/content-scripts.js | 6 +- background/db-chrome-storage.js | 2 +- background/db.js | 15 +- background/icon-manager.js | 8 +- background/icon-util.js | 4 +- background/navigator-util.js | 4 +- background/openusercss-api.js | 6 +- background/search-db.js | 145 ++++---- background/style-manager.js | 47 ++- background/style-via-webrequest.js | 140 ++++++++ background/style-via-xhr.js | 85 ----- background/sync.js | 12 +- background/token-manager.js | 26 +- background/update.js | 12 +- background/usercss-helper.js | 2 +- background/usercss-install-helper.js | 45 ++- content/apply.js | 28 +- content/install-hook-openusercss.js | 20 +- content/install-hook-userstyles.js | 6 +- edit/beautify.js | 4 +- edit/codemirror-default.js | 14 +- edit/codemirror-factory.js | 4 +- edit/codemirror-themes.js | 6 +- edit/edit.js | 70 ++-- edit/editor-worker.js | 4 +- edit/global-search.js | 31 +- edit/linter-config-dialog.js | 2 +- edit/linter-defaults.js | 8 +- edit/linter-engines.js | 8 +- edit/linter-meta.js | 2 +- edit/linter-report.js | 8 +- edit/linter.js | 4 +- edit/live-preview.js | 2 +- edit/moz-section-finder.js | 2 +- edit/moz-section-widget.js | 7 +- edit/regexp-tester.js | 12 +- edit/sections-editor-section.js | 23 +- edit/sections-editor.js | 77 ++-- edit/show-keymap-help.js | 15 +- edit/source-editor.js | 7 +- edit/util.js | 2 +- global.css | 1 + install-usercss/install-usercss.js | 6 +- js/cache.js | 2 +- js/dom.js | 2 +- js/localization.js | 359 +++++++++---------- js/messaging.js | 62 ++-- js/meta-parser.js | 14 +- js/polyfill.js | 9 - js/prefs.js | 1 + js/usercss.js | 9 +- js/worker-util.js | 2 +- manage.html | 35 +- manage/config-dialog.js | 28 +- manage/filters.js | 82 ++--- manage/manage.css | 71 ++-- manage/manage.js | 277 +++++++------- manage/sort.js | 18 +- manifest.json | 2 +- msgbox/msgbox.js | 19 +- options.html | 56 +-- options/options.js | 1 + popup/popup.js | 62 ++-- popup/search-results.js | 29 +- tools/build-vendor.js | 33 +- tools/zip.js | 2 +- vendor-overwrites/colorpicker/colorpicker.js | 6 +- vendor-overwrites/colorpicker/colorview.js | 13 +- vendor-overwrites/csslint/parserlib.js | 4 +- 73 files changed, 1273 insertions(+), 1010 deletions(-) create mode 100644 background/style-via-webrequest.js delete mode 100644 background/style-via-xhr.js diff --git a/.eslintrc.yml b/.eslintrc.yml index 0871bcad..c99504b4 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -19,7 +19,7 @@ rules: brace-style: [2, 1tbs, {allowSingleLine: false}] camelcase: [2, {properties: never}] class-methods-use-this: [2] - comma-dangle: [0] + comma-dangle: [2, {arrays: always-multiline, objects: always-multiline}] comma-spacing: [2, {before: false, after: true}] comma-style: [2, last] complexity: [0] diff --git a/_locales/en/messages.json b/_locales/en/messages.json index d99e03e5..3b59a07a 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -260,6 +260,42 @@ "message": "Stop using customized name, switch to the style's own name", "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y", + "placeholders": { + "value": { + "content": "$1" + } + } + }, "dateInstalled": { "message": "Date installed", "description": "Option text for the user to sort the style by install date" @@ -976,6 +1012,12 @@ "optionsAdvancedNewStyleAsUsercss": { "message": "Write new style as usercss" }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first." + }, "optionsAdvancedStyleViaXhr": { "message": "Instant inject mode" }, @@ -1243,14 +1285,30 @@ "message": "Weekly installs", "description": "Text for label that shows the number of times a search result was installed during last week" }, - "searchStyles": { - "message": "Search contents", - "description": "Label for the search filter textbox on the Manage styles page" + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." }, "searchStylesHelp": { - "message": " key focuses the search field.\nPlain text: search within the name, code, homepage URL and sites it is applied to. Words with less than 3 letters are ignored.\nStyles matching a full URL: prefix the search with , e.g. \nRegular expressions: include slashes and flags, e.g. \nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">", + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, "sectionAdd": { "message": "Add another section", "description": "Label for the button to add a section" diff --git a/background/background-worker.js b/background/background-worker.js index 2b49eebd..7b30969c 100644 --- a/background/background-worker.js +++ b/background/background-worker.js @@ -25,7 +25,7 @@ workerUtil.createAPI({ '/js/meta-parser.js' ); return metaParser.nullifyInvalidVars(vars); - } + }, }); function compileUsercss(preprocessor, code, vars) { @@ -55,7 +55,7 @@ function compileUsercss(preprocessor, code, vars) { const va = vars[key]; output[key] = Object.assign({}, va, { value: va.value === null || va.value === undefined ? - getVarValue(va, 'default') : getVarValue(va, 'value') + getVarValue(va, 'default') : getVarValue(va, 'value'), }); return output; }, {}); @@ -86,7 +86,7 @@ function getUsercssCompiler(preprocessor) { section.code = varDef + section.code; } } - } + }, }, stylus: { preprocess(source, vars) { @@ -96,7 +96,7 @@ function getUsercssCompiler(preprocessor) { new self.StylusRenderer(varDef + source) .render((err, output) => err ? reject(err) : resolve(output)); }); - } + }, }, less: { preprocess(source, vars) { @@ -110,7 +110,7 @@ function getUsercssCompiler(preprocessor) { const varDefs = Object.keys(vars).map(key => `@${key}:${vars[key].value};\n`).join(''); return self.less.render(varDefs + source) .then(({css}) => css); - } + }, }, uso: { preprocess(source, vars) { @@ -162,8 +162,8 @@ function getUsercssCompiler(preprocessor) { return pool.get(name); }); } - } - } + }, + }, }; if (preprocessor) { diff --git a/background/background.js b/background/background.js index d90a63be..dfcad0bf 100644 --- a/background/background.js +++ b/background/background.js @@ -8,7 +8,7 @@ // eslint-disable-next-line no-var var backgroundWorker = workerUtil.createWorker({ - url: '/background/background-worker.js' + url: '/background/background-worker.js', }); // eslint-disable-next-line no-var @@ -99,7 +99,7 @@ window.API_METHODS = Object.assign(window.API_METHODS || {}, { getSyncStatus: sync.getStatus, syncLogin: sync.login, - openManage + openManage, }); // ************************************************************************* @@ -119,7 +119,7 @@ if (FIREFOX) { navigatorUtil.onDOMContentLoaded(webNavIframeHelperFF, { url: [ {urlEquals: 'about:blank'}, - ] + ], }); } @@ -135,24 +135,13 @@ if (chrome.commands) { // ************************************************************************* chrome.runtime.onInstalled.addListener(({reason, previousVersion}) => { - // save install type: "admin", "development", "normal", "sideload" or "other" - // "normal" = addon installed from webstore - chrome.management.getSelf(info => { - localStorage.installType = info.installType; - if (reason === 'install' && info.installType === 'development' && chrome.contextMenus) { - createContextMenus(['reload']); - } - }); - if (reason !== 'update') return; - // translations may change - localStorage.L10N = JSON.stringify({ - browserUIlanguage: chrome.i18n.getUILanguage(), - }); - // themes may change - delete localStorage.codeMirrorThemes; - // inline search cache for USO is not needed anymore, TODO: remove this by the middle of 2021 if (semverCompare(previousVersion, '1.5.13') <= 0) { + // Removing unused stuff + // TODO: delete this entire block by the middle of 2021 + try { + localStorage.clear(); + } catch (e) {} setTimeout(async () => { const del = Object.keys(await chromeLocal.get()) .filter(key => key.startsWith('usoSearchCache')); @@ -181,7 +170,7 @@ contextMenus = { click: browserCommands.openOptions, }, 'reload': { - presentIf: () => localStorage.installType === 'development', + presentIf: async () => (await browser.management.getSelf()).installType === 'development', title: 'reload', click: browserCommands.reload, }, @@ -195,13 +184,13 @@ contextMenus = { msg.sendTab(tab.id, {method: 'editDeleteText'}, undefined, 'extension') .catch(msg.ignoreError); }, - } + }, }; -function createContextMenus(ids) { +async function createContextMenus(ids) { for (const id of ids) { let item = contextMenus[id]; - if (item.presentIf && !item.presentIf()) { + if (item.presentIf && !await item.presentIf()) { continue; } item = Object.assign({id}, item); @@ -320,33 +309,29 @@ function openEditor(params) { }); } -function openManage({options = false, search} = {}) { +async function openManage({options = false, search, searchMode} = {}) { let url = chrome.runtime.getURL('manage.html'); if (search) { - url += `?search=${encodeURIComponent(search)}`; + url += `?search=${encodeURIComponent(search)}&searchMode=${searchMode}`; } if (options) { url += '#stylus-options'; } - return findExistingTab({ + let tab = await findExistingTab({ url, currentWindow: null, ignoreHash: true, - ignoreSearch: true - }) - .then(tab => { - if (tab) { - return Promise.all([ - activateTab(tab), - (tab.pendingUrl || tab.url) !== url && msg.sendTab(tab.id, {method: 'pushState', url}) - .catch(console.error) - ]); - } - return getActiveTab().then(tab => { - if (isTabReplaceable(tab, url)) { - return activateTab(tab, {url}); - } - return browser.tabs.create({url}); - }); - }); + ignoreSearch: true, + }); + if (tab) { + await activateTab(tab); + if (url !== (tab.pendingUrl || tab.url)) { + await msg.sendTab(tab.id, {method: 'pushState', url}).catch(console.error); + } + return tab; + } + tab = await getActiveTab(); + return isTabReplaceable(tab, url) + ? activateTab(tab, {url}) + : browser.tabs.create({url}); } diff --git a/background/content-scripts.js b/background/content-scripts.js index 3aeecd16..23293097 100644 --- a/background/content-scripts.js +++ b/background/content-scripts.js @@ -29,7 +29,7 @@ const contentScripts = (() => { url: [ {hostEquals: 'greasyfork.org', urlMatches}, {hostEquals: 'sleazyfork.org', urlMatches}, - ] + ], }); return {injectToTab, injectToAllTabs}; @@ -57,7 +57,7 @@ const contentScripts = (() => { const options = { runAt: script.run_at, allFrames: script.all_frames, - matchAboutBlank: script.match_about_blank + matchAboutBlank: script.match_about_blank, }; if (frameId !== null) { options.allFrames = false; @@ -80,7 +80,7 @@ const contentScripts = (() => { } else { injectToTab({ url: tab.pendingUrl || tab.url, - tabId: tab.id + tabId: tab.id, }); } } diff --git a/background/db-chrome-storage.js b/background/db-chrome-storage.js index 01e38262..f3a67796 100644 --- a/background/db-chrome-storage.js +++ b/background/db-chrome-storage.js @@ -32,7 +32,7 @@ function createChromeStorageDB() { } } return output; - }) + }), }; return {exec}; diff --git a/background/db.js b/background/db.js index 223d3870..84075e18 100644 --- a/background/db.js +++ b/background/db.js @@ -24,14 +24,11 @@ const db = (() => { async function tryUsingIndexedDB() { // we use chrome.storage.local fallback if IndexedDB doesn't save data, // which, once detected on the first run, is remembered in chrome.storage.local - // for reliablility and in localStorage for fast synchronous access - // (FF may block localStorage depending on its privacy options) - // note that it may throw when accessing the variable - // https://github.com/openstyles/stylus/issues/615 + // note that accessing indexedDB may throw, https://github.com/openstyles/stylus/issues/615 if (typeof indexedDB === 'undefined') { throw new Error('indexedDB is undefined'); } - switch (await getFallback()) { + switch (await chromeLocal.getValue(FALLBACK)) { case true: throw null; case false: break; default: await testDB(); @@ -39,12 +36,6 @@ const db = (() => { return useIndexedDB(); } - async function getFallback() { - return localStorage[FALLBACK] === 'true' ? true : - localStorage[FALLBACK] === 'false' ? false : - chromeLocal.getValue(FALLBACK); - } - async function testDB() { let e = await dbExecIndexedDB('getAllKeys', IDBKeyRange.lowerBound(1), 1); // throws if result is null @@ -62,13 +53,11 @@ const db = (() => { chromeLocal.setValue(FALLBACK + 'Reason', workerUtil.cloneError(err)); console.warn('Failed to access indexedDB. Switched to storage API.', err); } - localStorage[FALLBACK] = 'true'; return createChromeStorageDB().exec; } function useIndexedDB() { chromeLocal.setValue(FALLBACK, false); - localStorage[FALLBACK] = 'false'; return dbExecIndexedDB; } diff --git a/background/icon-manager.js b/background/icon-manager.js index 0ea14d03..c69faa1b 100644 --- a/background/icon-manager.js +++ b/background/icon-manager.js @@ -13,7 +13,7 @@ const iconManager = (() => { ], () => debounce(refreshIconBadgeColor)); prefs.subscribe([ - 'show-badge' + 'show-badge', ], () => debounce(refreshAllIconsBadgeText)); prefs.subscribe([ @@ -79,7 +79,7 @@ const iconManager = (() => { tabManager.set(tabId, 'icon', newIcon); iconUtil.setIcon({ path: getIconPath(newIcon), - tabId + tabId, }); } @@ -103,14 +103,14 @@ const iconManager = (() => { function refreshGlobalIcon() { iconUtil.setIcon({ - path: getIconPath(getIconName()) + path: getIconPath(getIconName()), }); } function refreshIconBadgeColor() { const color = prefs.get(prefs.get('disableAll') ? 'badgeDisabled' : 'badgeNormal'); iconUtil.setBadgeBackgroundColor({ - color + color, }); } diff --git a/background/icon-util.js b/background/icon-util.js index ef7b2822..4bfffe31 100644 --- a/background/icon-util.js +++ b/background/icon-util.js @@ -19,7 +19,7 @@ const iconUtil = (() => { Cache imageData for paths */ setIcon, - setBadgeText + setBadgeText, }); function loadImage(url) { @@ -85,7 +85,7 @@ const iconUtil = (() => { return target[prop]; } return chrome.browserAction[prop].bind(chrome.browserAction); - } + }, }); } })(); diff --git a/background/navigator-util.js b/background/navigator-util.js index c1b702c6..ad73bf16 100644 --- a/background/navigator-util.js +++ b/background/navigator-util.js @@ -4,7 +4,7 @@ const navigatorUtil = (() => { const handler = { - urlChange: null + urlChange: null, }; return extendNative({onUrlChange}); @@ -69,7 +69,7 @@ const navigatorUtil = (() => { return target[prop]; } return chrome.webNavigation[prop].addListener.bind(chrome.webNavigation[prop]); - } + }, }); } })(); diff --git a/background/openusercss-api.js b/background/openusercss-api.js index 0ef98140..dfd890ff 100644 --- a/background/openusercss-api.js +++ b/background/openusercss-api.js @@ -31,11 +31,11 @@ return fetch(api, { method: 'POST', headers: new Headers({ - 'Content-Type': 'application/json' + 'Content-Type': 'application/json', }), body: query({ - id - }) + id, + }), }) .then(res => res.json()); }; diff --git a/background/search-db.js b/background/search-db.js index 21ef0572..fcea0a15 100644 --- a/background/search-db.js +++ b/background/search-db.js @@ -1,90 +1,97 @@ -/* global API_METHODS styleManager tryRegExp debounce */ +/* global + API_METHODS + debounce + stringAsRegExp + styleManager + tryRegExp + usercss +*/ 'use strict'; (() => { // toLocaleLowerCase cache, autocleared after 1 minute const cache = new Map(); - // top-level style properties to be searched - const PARTS = { - name: searchText, - url: searchText, - sourceCode: searchText, - sections: searchSections, - }; + const METAKEYS = ['customName', 'name', 'url', 'installationUrl', 'updateUrl']; + + const extractMeta = style => + style.usercssData + ? (style.sourceCode.match(usercss.RX_META) || [''])[0] + : null; + + const stripMeta = style => + style.usercssData + ? style.sourceCode.replace(usercss.RX_META, '') + : null; + + const MODES = Object.assign(Object.create(null), { + code: (style, test) => + style.usercssData + ? test(stripMeta(style)) + : searchSections(style, test, 'code'), + + meta: (style, test, part) => + METAKEYS.some(key => test(style[key])) || + test(part === 'all' ? style.sourceCode : extractMeta(style)) || + searchSections(style, test, 'funcs'), + + name: (style, test) => + test(style.customName) || + test(style.name), + + all: (style, test) => + MODES.meta(style, test, 'all') || + !style.usercssData && MODES.code(style, test), + }); /** * @param params * @param {string} params.query - 1. url:someurl 2. text (may contain quoted parts like "qUot Ed") + * @param {'name'|'meta'|'code'|'all'|'url'} [params.mode=all] * @param {number[]} [params.ids] - if not specified, all styles are searched * @returns {number[]} - array of matched styles ids */ - API_METHODS.searchDB = ({query, ids}) => { - let rx, words, icase, matchUrl; - query = query.trim(); - - if (/^url:/i.test(query)) { - matchUrl = query.slice(query.indexOf(':') + 1).trim(); - if (matchUrl) { - return styleManager.getStylesByUrl(matchUrl) - .then(results => results.map(r => r.data.id)); - } - } - if (query.startsWith('/') && /^\/(.+?)\/([gimsuy]*)$/.test(query)) { - rx = tryRegExp(RegExp.$1, RegExp.$2); - } - if (!rx) { - words = query - .split(/(".*?")|\s+/) - .filter(Boolean) - .map(w => w.startsWith('"') && w.endsWith('"') - ? w.slice(1, -1) - : w) - .filter(w => w.length > 1); - words = words.length ? words : [query]; - icase = words.some(w => w === lower(w)); - } - - return styleManager.getAllStyles().then(styles => { - if (ids) { - const idSet = new Set(ids); - styles = styles.filter(s => idSet.has(s.id)); - } - const results = []; - for (const style of styles) { - const id = style.id; - if (!query || words && !words.length) { - results.push(id); - continue; - } - for (const part in PARTS) { - const text = part === 'name' ? style.customName || style.name : style[part]; - if (text && PARTS[part](text, rx, words, icase)) { - results.push(id); - break; - } - } - } + API_METHODS.searchDB = async ({query, mode = 'all', ids}) => { + let res = []; + if (mode === 'url' && query) { + res = (await styleManager.getStylesByUrl(query)).map(r => r.data.id); + } else if (mode in MODES) { + const modeHandler = MODES[mode]; + const m = /^\/(.+?)\/([gimsuy]*)$/.exec(query); + const rx = m && tryRegExp(m[1], m[2]); + const test = rx ? rx.test.bind(rx) : makeTester(query); + res = (await styleManager.getAllStyles()) + .filter(style => + (!ids || ids.includes(style.id)) && + (!query || modeHandler(style, test))) + .map(style => style.id); if (cache.size) debounce(clearCache, 60e3); - return results; - }); + } + return res; }; - function searchText(text, rx, words, icase) { - if (rx) return rx.test(text); - for (let pass = 1; pass <= (icase ? 2 : 1); pass++) { - if (words.every(w => text.includes(w))) return true; - text = lower(text); - } + function makeTester(query) { + const flags = `u${lower(query) === query ? 'i' : ''}`; + const words = query + .split(/(".*?")|\s+/) + .filter(Boolean) + .map(w => w.startsWith('"') && w.endsWith('"') + ? w.slice(1, -1) + : w) + .filter(w => w.length > 1); + const rxs = (words.length ? words : [query]) + .map(w => stringAsRegExp(w, flags)); + return text => rxs.every(rx => rx.test(text)); } - function searchSections(sections, rx, words, icase) { + function searchSections({sections}, test, part) { + const inCode = part === 'code' || part === 'all'; + const inFuncs = part === 'funcs' || part === 'all'; for (const section of sections) { for (const prop in section) { const value = section[prop]; - if (typeof value === 'string') { - if (searchText(value, rx, words, icase)) return true; - } else if (Array.isArray(value)) { - if (value.some(str => searchText(str, rx, words, icase))) return true; + if (inCode && prop === 'code' && test(value) || + inFuncs && Array.isArray(value) && value.some(str => test(str))) { + return true; } } } @@ -92,9 +99,7 @@ function lower(text) { let result = cache.get(text); - if (result) return result; - result = text.toLocaleLowerCase(); - cache.set(text, result); + if (!result) cache.set(text, result = text.toLocaleLowerCase()); return result; } diff --git a/background/style-manager.js b/background/style-manager.js index 1af60bef..20713d15 100644 --- a/background/style-manager.js +++ b/background/style-manager.js @@ -12,6 +12,8 @@ script would try to fetch the new code. The live preview feature relies on `runtime.connect` and `port.onDisconnect` to cleanup the temporary code. See /edit/live-preview.js. */ + +/** @type {styleManager} */ const styleManager = (() => { const preparing = prepare(); @@ -38,7 +40,7 @@ const styleManager = (() => { style.appliesTo.delete(url); } } - } + }, }); const BAD_MATCHER = {test: () => false}; @@ -58,16 +60,16 @@ const styleManager = (() => { protocol: '', search: '', searchParams: new URLSearchParams(), - username: '' + username: '', }; const DELETE_IF_NULL = ['id', 'customName']; handleLivePreviewConnections(); - return Object.assign({ - compareRevision - }, ensurePrepared({ + return Object.assign(/** @namespace styleManager */{ + compareRevision, + }, ensurePrepared(/** @namespace styleManager */{ get, getByUUID, getSectionsByUrl, @@ -86,7 +88,7 @@ const styleManager = (() => { addExclusion, removeExclusion, addInclusion, - removeInclusion + removeInclusion, })); function handleLivePreviewConnections() { @@ -135,9 +137,8 @@ const styleManager = (() => { } } - function getAllStyles(noCode = false) { - const datas = [...styles.values()].map(s => s.data); - return noCode ? datas.map(getStyleWithNoCode) : datas; + function getAllStyles() { + return [...styles.values()].map(s => s.data); } function compareRevision(rev1, rev2) { @@ -316,7 +317,7 @@ const styleManager = (() => { uuidIndex.delete(style.data._id); return msg.broadcast({ method: 'styleDeleted', - style: {id} + style: {id}, }); }) .then(() => id); @@ -347,7 +348,7 @@ const styleManager = (() => { md5Url: null, url: null, originalMd5: null, - installDate: Date.now() + installDate: Date.now(), }; } @@ -368,7 +369,7 @@ const styleManager = (() => { updated.add(url); cache.sections[data.id] = { id: data.id, - code + code, }; } } @@ -378,10 +379,10 @@ const styleManager = (() => { style: { id: data.id, md5Url: data.md5Url, - enabled: data.enabled + enabled: data.enabled, }, reason, - codeIsUpdated + codeIsUpdated, }); } @@ -424,7 +425,7 @@ const styleManager = (() => { if (!style) { styles.set(data.id, { appliesTo: new Set(), - data + data, }); method = 'styleAdded'; } else { @@ -469,11 +470,7 @@ const styleManager = (() => { } } if (sectionMatched) { - result.push({ - data: getStyleWithNoCode(data), - excluded, - sloppy - }); + result.push({data, excluded, sloppy}); } } return result; @@ -484,7 +481,7 @@ const styleManager = (() => { if (!cache) { cache = { sections: {}, - maybeMatch: new Set() + maybeMatch: new Set(), }; buildCache(styles.values()); cachedStyleForUrl.set(url, cache); @@ -510,7 +507,7 @@ const styleManager = (() => { if (code) { cache.sections[data.id] = { id: data.id, - code + code, }; appliesTo.add(url); } @@ -535,7 +532,7 @@ const styleManager = (() => { const ADD_MISSING_PROPS = { name: style => `ID: ${style.id}`, _id: () => uuidv4(), - _rev: () => Date.now() + _rev: () => Date.now(), }; return db.exec('getAll') @@ -559,7 +556,7 @@ const styleManager = (() => { fixUsoMd5Issue(style); styles.set(style.id, { appliesTo: new Set(), - data: style + data: style, }); uuidIndex.set(style._id, style.id); } @@ -705,7 +702,7 @@ const styleManager = (() => { domain = u.hostname; } return domain; - } + }, }; } diff --git a/background/style-via-webrequest.js b/background/style-via-webrequest.js new file mode 100644 index 00000000..86ead33c --- /dev/null +++ b/background/style-via-webrequest.js @@ -0,0 +1,140 @@ +/* global API CHROME prefs */ +'use strict'; + +// eslint-disable-next-line no-unused-expressions +CHROME && (async () => { + const idCSP = 'patchCsp'; + const idOFF = 'disableAll'; + const idXHR = 'styleViaXhr'; + const rxHOST = /^('none'|(https?:\/\/)?[^']+?[^:'])$/; // strips CSP sources covered by * + const blobUrlPrefix = 'blob:' + chrome.runtime.getURL('/'); + const stylesToPass = {}; + const enabled = {}; + + await prefs.initializing; + prefs.subscribe([idXHR, idOFF, idCSP], toggle, {now: true}); + + function toggle() { + const csp = prefs.get(idCSP) && !prefs.get(idOFF); + const xhr = prefs.get(idXHR) && !prefs.get(idOFF) && Boolean(chrome.declarativeContent); + if (xhr === enabled.xhr && csp === enabled.csp) { + return; + } + // Need to unregister first so that the optional EXTRA_HEADERS is properly registered + chrome.webRequest.onBeforeRequest.removeListener(prepareStyles); + chrome.webRequest.onHeadersReceived.removeListener(modifyHeaders); + if (xhr || csp) { + const reqFilter = { + urls: [''], + types: ['main_frame', 'sub_frame'], + }; + chrome.webRequest.onBeforeRequest.addListener(prepareStyles, reqFilter); + chrome.webRequest.onHeadersReceived.addListener(modifyHeaders, reqFilter, [ + 'blocking', + 'responseHeaders', + xhr && chrome.webRequest.OnHeadersReceivedOptions.EXTRA_HEADERS, + ].filter(Boolean)); + } + if (enabled.xhr !== xhr) { + enabled.xhr = xhr; + toggleEarlyInjection(); + } + enabled.csp = csp; + } + + /** Runs content scripts earlier than document_start */ + function toggleEarlyInjection() { + const api = chrome.declarativeContent; + if (!api) return; + api.onPageChanged.removeRules([idXHR], async () => { + if (enabled.xhr) { + api.onPageChanged.addRules([{ + id: idXHR, + conditions: [ + new api.PageStateMatcher({ + pageUrl: {urlContains: '://'}, + }), + ], + actions: [ + new api.RequestContentScript({ + js: chrome.runtime.getManifest().content_scripts[0].js, + allFrames: true, + }), + ], + }]); + } + }); + } + + /** @param {chrome.webRequest.WebRequestBodyDetails} req */ + function prepareStyles(req) { + API.getSectionsByUrl(req.url).then(sections => { + if (Object.keys(sections).length) { + stylesToPass[req.requestId] = !enabled.xhr ? true : + URL.createObjectURL(new Blob([JSON.stringify(sections)])).slice(blobUrlPrefix.length); + setTimeout(cleanUp, 600e3, req.requestId); + } + }); + } + + /** @param {chrome.webRequest.WebResponseHeadersDetails} req */ + function modifyHeaders(req) { + const {responseHeaders} = req; + const id = stylesToPass[req.requestId]; + if (!id) { + return; + } + if (enabled.xhr) { + responseHeaders.push({ + name: 'Set-Cookie', + value: `${chrome.runtime.id}=${id}`, + }); + } + const csp = enabled.csp && + responseHeaders.find(h => h.name.toLowerCase() === 'content-security-policy'); + if (csp) { + patchCsp(csp); + } + if (enabled.xhr || csp) { + return {responseHeaders}; + } + } + + /** @param {chrome.webRequest.HttpHeader} csp */ + function patchCsp(csp) { + const src = {}; + for (let p of csp.value.split(';')) { + p = p.trim().split(/\s+/); + src[p[0]] = p.slice(1); + } + // Allow style assets + patchCspSrc(src, 'img-src', 'data:', '*'); + patchCspSrc(src, 'font-src', 'data:', '*'); + // Allow our DOM styles + patchCspSrc(src, 'style-src', '\'unsafe-inline\''); + // Allow our XHR cookies in CSP sandbox (known case: raw github urls) + if (src.sandbox && !src.sandbox.includes('allow-same-origin')) { + src.sandbox.push('allow-same-origin'); + } + csp.value = Object.entries(src).map(([k, v]) => + `${k}${v.length ? ' ' : ''}${v.join(' ')}`).join('; '); + } + + function patchCspSrc(src, name, ...values) { + let def = src['default-src']; + let list = src[name]; + if (def || list) { + if (!def) def = []; + if (!list) list = [...def]; + if (values.includes('*')) list = src[name] = list.filter(v => !rxHOST.test(v)); + list.push(...values.filter(v => !list.includes(v) && !def.includes(v))); + if (!list.length) delete src[name]; + } + } + + function cleanUp(key) { + const blobId = stylesToPass[key]; + delete stylesToPass[key]; + if (blobId) URL.revokeObjectURL(blobUrlPrefix + blobId); + } +})(); diff --git a/background/style-via-xhr.js b/background/style-via-xhr.js deleted file mode 100644 index dc7dc1bc..00000000 --- a/background/style-via-xhr.js +++ /dev/null @@ -1,85 +0,0 @@ -/* global API CHROME prefs */ -'use strict'; - -// eslint-disable-next-line no-unused-expressions -CHROME && (async () => { - const prefId = 'styleViaXhr'; - const blobUrlPrefix = 'blob:' + chrome.runtime.getURL('/'); - const stylesToPass = {}; - - await prefs.initializing; - toggle(prefId, prefs.get(prefId)); - prefs.subscribe([prefId], toggle); - - function toggle(key, value) { - if (!chrome.declarativeContent) { // not yet granted in options page - value = false; - } - if (value) { - const reqFilter = { - urls: [''], - types: ['main_frame', 'sub_frame'], - }; - chrome.webRequest.onBeforeRequest.addListener(prepareStyles, reqFilter); - chrome.webRequest.onHeadersReceived.addListener(passStyles, reqFilter, [ - 'blocking', - 'responseHeaders', - chrome.webRequest.OnHeadersReceivedOptions.EXTRA_HEADERS, - ].filter(Boolean)); - } else { - chrome.webRequest.onBeforeRequest.removeListener(prepareStyles); - chrome.webRequest.onHeadersReceived.removeListener(passStyles); - } - if (!chrome.declarativeContent) { - return; - } - chrome.declarativeContent.onPageChanged.removeRules([prefId], async () => { - if (!value) return; - chrome.declarativeContent.onPageChanged.addRules([{ - id: prefId, - conditions: [ - new chrome.declarativeContent.PageStateMatcher({ - pageUrl: {urlContains: ':'}, - }), - ], - actions: [ - new chrome.declarativeContent.RequestContentScript({ - allFrames: true, - // This runs earlier than document_start - js: chrome.runtime.getManifest().content_scripts[0].js, - }), - ], - }]); - }); - } - - /** @param {chrome.webRequest.WebRequestBodyDetails} req */ - function prepareStyles(req) { - API.getSectionsByUrl(req.url).then(sections => { - const str = JSON.stringify(sections); - if (str !== '{}') { - stylesToPass[req.requestId] = URL.createObjectURL(new Blob([str])).slice(blobUrlPrefix.length); - setTimeout(cleanUp, 600e3, req.requestId); - } - }); - } - - /** @param {chrome.webRequest.WebResponseHeadersDetails} req */ - function passStyles(req) { - const blobId = stylesToPass[req.requestId]; - if (blobId) { - const {responseHeaders} = req; - responseHeaders.push({ - name: 'Set-Cookie', - value: `${chrome.runtime.id}=${prefs.get('disableAll') ? 1 : 0}${blobId}`, - }); - return {responseHeaders}; - } - } - - function cleanUp(key) { - const blobId = stylesToPass[key]; - delete stylesToPass[key]; - if (blobId) URL.revokeObjectURL(blobUrlPrefix + blobId); - } -})(); diff --git a/background/sync.js b/background/sync.js index 052784d8..6581e732 100644 --- a/background/sync.js +++ b/background/sync.js @@ -13,7 +13,7 @@ const sync = (() => { progress: null, currentDriveName: null, errorMessage: null, - login: false + login: false, }; let currentDrive; const ctrl = dbToCloud.dbToCloud({ @@ -43,7 +43,7 @@ const sync = (() => { setState(drive, state) { const key = `sync/state/${drive.name}`; return chromeLocal.setValue(key, state); - } + }, }); const initializing = prefs.initializing.then(() => { @@ -58,7 +58,7 @@ const sync = (() => { }); return Object.assign({ - getStatus: () => status + getStatus: () => status, }, ensurePrepared({ start, stop, @@ -73,7 +73,7 @@ const sync = (() => { return ctrl.delete(...args); }, syncNow, - login + login, })); function ensurePrepared(obj) { @@ -99,7 +99,7 @@ const sync = (() => { function schedule(delay = SYNC_DELAY) { chrome.alarms.create('syncNow', { delayInMinutes: delay, - periodInMinutes: SYNC_INTERVAL + periodInMinutes: SYNC_INTERVAL, }); } @@ -206,7 +206,7 @@ const sync = (() => { function getDrive(name) { if (name === 'dropbox' || name === 'google' || name === 'onedrive') { return dbToCloud.drive[name]({ - getAccessToken: () => tokenManager.getToken(name) + getAccessToken: () => tokenManager.getToken(name), }); } throw new Error(`unknown cloud name: ${name}`); diff --git a/background/token-manager.js b/background/token-manager.js index b99b38b5..a5738e0f 100644 --- a/background/token-manager.js +++ b/background/token-manager.js @@ -13,9 +13,9 @@ const tokenManager = (() => { fetch('https://api.dropboxapi.com/2/auth/token/revoke', { method: 'POST', headers: { - 'Authorization': `Bearer ${token}` - } - }) + 'Authorization': `Bearer ${token}`, + }, + }), }, google: { flow: 'code', @@ -27,14 +27,14 @@ const tokenManager = (() => { // tokens for multiple machines. // https://stackoverflow.com/q/18519185 access_type: 'offline', - prompt: 'consent' + prompt: 'consent', }, tokenURL: 'https://oauth2.googleapis.com/token', scopes: ['https://www.googleapis.com/auth/drive.appdata'], revoke: token => { const params = {token}; return postQuery(`https://accounts.google.com/o/oauth2/revoke?${new URLSearchParams(params)}`); - } + }, }, onedrive: { flow: 'code', @@ -45,8 +45,8 @@ const tokenManager = (() => { redirect_uri: FIREFOX ? 'https://clngdbkpkpeebahjckkjfobafhncgmne.chromiumapp.org/' : 'https://' + location.hostname + '.chromiumapp.org/', - scopes: ['Files.ReadWrite.AppFolder', 'offline_access'] - } + scopes: ['Files.ReadWrite.AppFolder', 'offline_access'], + }, }; const NETWORK_LATENCY = 30; // seconds @@ -114,7 +114,7 @@ const tokenManager = (() => { client_id: provider.clientId, refresh_token: obj[k.REFRESH], grant_type: 'refresh_token', - scope: provider.scopes.join(' ') + scope: provider.scopes.join(' '), }; if (provider.clientSecret) { body.client_secret = provider.clientSecret; @@ -136,7 +136,7 @@ const tokenManager = (() => { response_type: provider.flow, client_id: provider.clientId, redirect_uri: provider.redirect_uri || chrome.identity.getRedirectURL(), - state + state, }; if (provider.scopes) { query.scope = provider.scopes.join(' '); @@ -148,7 +148,7 @@ const tokenManager = (() => { return webextLaunchWebAuthFlow({ url, interactive, - redirect_uri: query.redirect_uri + redirect_uri: query.redirect_uri, }) .then(url => { const params = new URLSearchParams( @@ -171,7 +171,7 @@ const tokenManager = (() => { code, grant_type: 'authorization_code', client_id: provider.clientId, - redirect_uri: query.redirect_uri + redirect_uri: query.redirect_uri, }; if (provider.clientSecret) { body.client_secret = provider.clientSecret; @@ -185,7 +185,7 @@ const tokenManager = (() => { return chromeLocal.set({ [k.TOKEN]: result.access_token, [k.EXPIRE]: result.expires_in ? Date.now() + (Number(result.expires_in) - NETWORK_LATENCY) * 1000 : undefined, - [k.REFRESH]: result.refresh_token + [k.REFRESH]: result.refresh_token, }) .then(() => result.access_token); } @@ -194,7 +194,7 @@ const tokenManager = (() => { const options = { method: 'POST', headers: { - 'Content-Type': 'application/x-www-form-urlencoded' + 'Content-Type': 'application/x-www-form-urlencoded', }, body: body ? new URLSearchParams(body) : null, }; diff --git a/background/update.js b/background/update.js index ec55a9e5..9b877cbd 100644 --- a/background/update.js +++ b/background/update.js @@ -35,7 +35,7 @@ const ALARM_NAME = 'scheduledUpdate'; const MIN_INTERVAL_MS = 60e3; - let lastUpdateTime = parseInt(localStorage.lastUpdateTime) || Date.now(); + let lastUpdateTime; let checkingAll = false; let logQueue = []; let logLastWriteTime = 0; @@ -46,9 +46,11 @@ API_METHODS.updateCheck = checkStyle; API_METHODS.getUpdaterStates = () => STATES; - prefs.subscribe(['updateInterval'], schedule); - schedule(); - chrome.alarms.onAlarm.addListener(onAlarm); + chromeLocal.getValue('lastUpdateTime').then(val => { + lastUpdateTime = val || Date.now(); + prefs.subscribe('updateInterval', schedule, {now: true}); + chrome.alarms.onAlarm.addListener(onAlarm); + }); return {checkAllStyles, checkStyle, STATES}; @@ -255,7 +257,7 @@ } function resetInterval() { - localStorage.lastUpdateTime = lastUpdateTime = Date.now(); + chromeLocal.setValue('lastUpdateTime', lastUpdateTime = Date.now()); schedule(); } diff --git a/background/usercss-helper.js b/background/usercss-helper.js index 58dc2233..acb1e1af 100644 --- a/background/usercss-helper.js +++ b/background/usercss-helper.js @@ -61,7 +61,7 @@ const usercssHelper = (() => { find(styleId ? {id: styleId} : style) : Promise.resolve(); return Promise.all([ metaOnly ? style : doBuild(style, findDup), - findDup + findDup, ]); }) .then(([style, dup]) => ({style, dup})); diff --git a/background/usercss-install-helper.js b/background/usercss-install-helper.js index b0fbb593..5bf61fdb 100644 --- a/background/usercss-install-helper.js +++ b/background/usercss-install-helper.js @@ -1,4 +1,10 @@ -/* global API_METHODS openURL download URLS tabManager */ +/* global + API_METHODS + download + openURL + tabManager + URLS +*/ 'use strict'; (() => { @@ -27,16 +33,39 @@ return code; }; + // `glob`: pathname match pattern for webRequest + // `rx`: pathname regex to verify the URL really looks like a raw usercss + const maybeDistro = { + // https://github.com/StylishThemes/GitHub-Dark/raw/master/github-dark.user.css + 'github.com': { + glob: '/*/raw/*', + rx: /^\/[^/]+\/[^/]+\/raw\/[^/]+\/[^/]+?\.user\.(css|styl)$/, + }, + // https://raw.githubusercontent.com/StylishThemes/GitHub-Dark/master/github-dark.user.css + 'raw.githubusercontent.com': { + glob: '/*', + rx: /^(\/[^/]+?){4}\.user\.(css|styl)$/, + }, + }; + // Faster installation on known distribution sites to avoid flicker of css text chrome.webRequest.onBeforeSendHeaders.addListener(({tabId, url}) => { - openInstallerPage(tabId, url, {}); - // Silently suppressing navigation like it never happened - return {redirectUrl: 'javascript:void 0'}; // eslint-disable-line no-script-url + const u = new URL(url); + const m = maybeDistro[u.hostname]; + if (!m || m.rx.test(u.pathname)) { + openInstallerPage(tabId, url, {}); + // Silently suppress navigation. + // Don't redirect to the install URL as it'll flash the text! + return {redirectUrl: 'javascript:void 0'}; // eslint-disable-line no-script-url + } }, { urls: [ URLS.usoArchiveRaw + 'usercss/*.user.css', '*://greasyfork.org/scripts/*/code/*.user.css', '*://sleazyfork.org/scripts/*/code/*.user.css', + ...[].concat( + ...Object.entries(maybeDistro) + .map(([host, {glob}]) => makeUsercssGlobs(host, glob))), ], types: ['main_frame'], }, ['blocking']); @@ -46,7 +75,7 @@ const h = responseHeaders.find(h => h.name.toLowerCase() === 'content-type'); tabManager.set(tabId, isContentTypeText.name, h && isContentTypeText(h.value) || undefined); }, { - urls: '%css,%css?*,%styl,%styl?*'.replace(/%/g, '*://*/*.user.').split(','), + urls: makeUsercssGlobs('*', '/*'), types: ['main_frame'], }, ['responseHeaders']); @@ -57,7 +86,7 @@ !oldUrl.startsWith(URLS.installUsercss)) { const inTab = url.startsWith('file:') && Boolean(fileLoader); const code = await (inTab ? fileLoader : urlLoader)(tabId, url); - if (/==userstyle==/i.test(code)) { + if (/==userstyle==/i.test(code) && !/^\s* { if (STYLE_VIA_API) { await API.styleViaAPI({method: 'styleApply'}); } else { - const blobId = chrome.app && getXhrBlobId(); - const styles = blobId && getStylesViaXhr(blobId) || + const styles = chrome.app && !chrome.tabs && getStylesViaXhr() || await API.getSectionsByUrl(getMatchUrl(), null, true); if (styles.disableAll) { delete styles.disableAll; @@ -70,27 +69,16 @@ self.INJECTED !== 1 && (() => { } } - function getXhrBlobId() { + function getStylesViaXhr() { try { - const {cookie} = document; // may throw in sandboxed frames - return new RegExp(`(^|\\s|;)${chrome.runtime.id}=\\s*([-\\w]+)\\s*(;|$)`).exec(cookie)[2]; - } catch (e) {} - } - - function getStylesViaXhr(data) { - try { - const disableAll = data[0] === '1'; - const url = 'blob:' + chrome.runtime.getURL(data.slice(1)); + const blobId = document.cookie.split(chrome.runtime.id + '=')[1].split(';')[0]; + const url = 'blob:' + chrome.runtime.getURL(blobId); document.cookie = `${chrome.runtime.id}=1; max-age=0`; // remove our cookie - let res; - if (!disableAll) { // when disabled, will get the styles asynchronously, no rush - const xhr = new XMLHttpRequest(); - xhr.open('GET', url, false); // synchronous - xhr.send(); - res = JSON.parse(xhr.response); - } + const xhr = new XMLHttpRequest(); + xhr.open('GET', url, false); // synchronous + xhr.send(); URL.revokeObjectURL(url); - return res; + return JSON.parse(xhr.response); } catch (e) {} } diff --git a/content/install-hook-openusercss.js b/content/install-hook-openusercss.js index 31defada..f85fb4da 100644 --- a/content/install-hook-openusercss.js +++ b/content/install-hook-openusercss.js @@ -5,7 +5,7 @@ const manifest = chrome.runtime.getManifest(); const allowedOrigins = [ 'https://openusercss.org', - 'https://openusercss.com' + 'https://openusercss.com', ]; const sendPostMessage = message => { @@ -17,7 +17,7 @@ const askHandshake = () => { // Tell the page that we exist and that it should send the handshake sendPostMessage({ - type: 'ouc-begin-handshake' + type: 'ouc-begin-handshake', }); }; @@ -25,7 +25,7 @@ const sendInstalledCallback = styleData => { sendPostMessage({ type: 'ouc-is-installed-response', - style: styleData + style: styleData, }); }; @@ -36,14 +36,14 @@ ) { API.findUsercss({ name: event.data.name, - namespace: event.data.namespace + namespace: event.data.namespace, }).then(style => { const data = {event}; const callbackObject = { installed: Boolean(style), enabled: style.enabled, name: data.name, - namespace: data.namespace + namespace: data.namespace, }; sendInstalledCallback(callbackObject); @@ -71,7 +71,7 @@ 'update-auto', 'export-json-backups', 'import-json-backups', - 'manage-local' + 'manage-local', ]; const reportedFeatures = []; @@ -96,8 +96,8 @@ key: event.data.key, extension: { name: manifest.name, - capabilities: reportedFeatures - } + capabilities: reportedFeatures, + }, }); }; @@ -120,7 +120,7 @@ // we were able to install the theme and it may display a success message sendPostMessage({ type: 'ouc-install-callback', - key: data.key + key: data.key, }); }; @@ -135,7 +135,7 @@ }).then(style => { sendInstallCallback({ enabled: style.enabled, - key: event.data.key + key: event.data.key, }); }); } diff --git a/content/install-hook-userstyles.js b/content/install-hook-userstyles.js index f01f1a8f..1a5f4842 100644 --- a/content/install-hook-userstyles.js +++ b/content/install-hook-userstyles.js @@ -85,7 +85,7 @@ const observer = new MutationObserver(check); observer.observe(document.documentElement, { childList: true, - subtree: true + subtree: true, }); check(); @@ -105,7 +105,7 @@ ? 'styleCanBeUpdatedChrome' : 'styleAlreadyInstalledChrome', detail: { - updateUrl: installedStyle.updateUrl + updateUrl: installedStyle.updateUrl, }, }); }); @@ -155,7 +155,7 @@ function doInstall() { let oldStyle; return API.findStyle({ - md5Url: getMeta('stylish-md5-url') || location.href + md5Url: getMeta('stylish-md5-url') || location.href, }, true) .then(_oldStyle => { oldStyle = _oldStyle; diff --git a/edit/beautify.js b/edit/beautify.js index 0f097fce..af4d5cf2 100644 --- a/edit/beautify.js +++ b/edit/beautify.js @@ -162,7 +162,7 @@ function beautify(scope, ui = true) { $create('SVG:path', { 'fill-rule': 'evenodd', 'd': 'M1408 704q0 26-19 45l-448 448q-19 19-45 ' + - '19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z' + '19t-45-19l-448-448q-19-19-19-45t19-45 45-19h896q26 0 45 19t19 45z', }), ]), ]), @@ -176,7 +176,7 @@ function beautify(scope, ui = true) { $create('input', { type: 'checkbox', dataset: {option: optionName}, - checked: options[optionName] !== false + checked: options[optionName] !== false, }), $create('SVG:svg.svg-icon.checked', $create('SVG:use', {'xlink:href': '#svg-icon-checked'})), diff --git a/edit/codemirror-default.js b/edit/codemirror-default.js index ff2f51a8..a25efa73 100644 --- a/edit/codemirror-default.js +++ b/edit/codemirror-default.js @@ -1,4 +1,10 @@ -/* global CodeMirror prefs editor $ template */ +/* global + $ + CodeMirror + editor + prefs + t +*/ 'use strict'; @@ -82,7 +88,7 @@ [ {from: 'Ctrl-', to: ['Alt-', 'Ctrl-Alt-']}, // Note: modifier order in CodeMirror is S-C-A - {from: 'Shift-Ctrl-', to: ['Ctrl-Alt-', 'Shift-Ctrl-Alt-']} + {from: 'Shift-Ctrl-', to: ['Ctrl-Alt-', 'Shift-Ctrl-Alt-']}, ].forEach(remap => { const oldKey = remap.from + char; Object.keys(CodeMirror.keyMap).forEach(keyMapName => { @@ -134,7 +140,7 @@ let filled; this.eachLine(({text}) => (filled = text && /\S/.test(text))); return !filled; - } + }, }); // editor commands @@ -183,7 +189,7 @@ // setTimeout(() => { // $('.CodeMirror-dialog', section).focus(); // }); - cm.openDialog(template.jumpToLine.cloneNode(true), str => { + cm.openDialog(t.template.jumpToLine.cloneNode(true), str => { const m = str.match(/^\s*(\d+)(?:\s*:\s*(\d+))?\s*$/); if (m) { cm.setCursor(m[1] - 1, m[2] ? m[2] - 1 : cur.ch); diff --git a/edit/codemirror-factory.js b/edit/codemirror-factory.js index 887e6c08..4d30ddf4 100644 --- a/edit/codemirror-factory.js +++ b/edit/codemirror-factory.js @@ -33,13 +33,13 @@ const cmFactory = (() => { cm.setOption('highlightSelectionMatches', { showToken: /[#.\-\w]/, annotateScrollbar: true, - onUpdate: updateMatchHighlightCount + onUpdate: updateMatchHighlightCount, }); } else if (value === 'selection') { cm.setOption('highlightSelectionMatches', { showToken: false, annotateScrollbar: true, - onUpdate: updateMatchHighlightCount + onUpdate: updateMatchHighlightCount, }); } else { cm.setOption('highlightSelectionMatches', null); diff --git a/edit/codemirror-themes.js b/edit/codemirror-themes.js index d9e25d19..aa3628c1 100644 --- a/edit/codemirror-themes.js +++ b/edit/codemirror-themes.js @@ -1,7 +1,7 @@ -/* exported CODEMIRROR_THEMES */ -// this file is generated by update-codemirror-themes.js +/* Do not edit. This file is auto-generated by build-vendor.js */ 'use strict'; +/* exported CODEMIRROR_THEMES */ const CODEMIRROR_THEMES = [ '3024-day', '3024-night', @@ -65,5 +65,5 @@ const CODEMIRROR_THEMES = [ 'xq-light', 'yeti', 'yonce', - 'zenburn' + 'zenburn', ]; diff --git a/edit/edit.js b/edit/edit.js index c1de3dd0..7468c47d 100644 --- a/edit/edit.js +++ b/edit/edit.js @@ -22,11 +22,10 @@ prefs rerouteHotkeys SectionsEditor - sessionStorageHash + sessionStore setupLivePrefs SourceEditor t - tHTML tryCatch tryJSONparse */ @@ -56,13 +55,23 @@ lazyInit(); .then(initTheme), onDOMready(), ]); + const scrollInfo = style.id && tryJSONparse(sessionStore['editorScrollInfo' + style.id]); /** @namespace EditorBase */ Object.assign(editor, { style, dirty, + scrollInfo, updateName, updateToc, toggleStyle, + applyScrollInfo(cm, si = ((scrollInfo || {}).cms || [])[0]) { + if (si && si.sel) { + cm.operation(() => { + cm.setSelections(...si.sel, {scroll: false}); + cm.scrollIntoView(cm.getCursor(), si.parentHeight / 2); + }); + } + }, }); prefs.subscribe('editor.linter', updateLinter); prefs.subscribe('editor.keyMap', showHotkeyInTooltip); @@ -78,17 +87,21 @@ lazyInit(); $('#heading').textContent = t(style.id ? 'editStyleHeading' : 'addStyleTitle'); $('#preview-label').classList.toggle('hidden', !style.id); - const toc = []; const elToc = $('#toc'); elToc.onclick = e => editor.jumpToEditor([...elToc.children].indexOf(e.target)); - - (editor.isUsercss ? SourceEditor : SectionsEditor)(); - + if (editor.isUsercss) { + SourceEditor(); + } else { + SectionsEditor(); + } prefs.subscribe('editor.toc.expanded', (k, val) => val && editor.updateToc(), {now: true}); dirty.onChange(updateDirty); - await editor.ready; + await editor.ready; + editor.ready = true; + + setTimeout(() => editor.getEditors().forEach(linter.enableForEditor)); // enabling after init to prevent flash of validation failure on an empty name $('#name').required = !editor.isUsercss; $('#save-button').onclick = editor.save; @@ -100,7 +113,7 @@ lazyInit(); // switching the mode here to show the correct page ASAP, usually before DOMContentLoaded editor.isUsercss = Boolean(style.usercssData || !style.id && prefs.get('newStyleAsUsercss')); document.documentElement.classList.toggle('usercss', editor.isUsercss); - sessionStorage.justEditedStyleId = style.id || ''; + sessionStore.justEditedStyleId = style.id || ''; // no such style so let's clear the invalid URL parameters if (!style.id) history.replaceState({}, '', location.pathname); updateTitle(false); @@ -290,16 +303,9 @@ lazyInit(); function updateToc(added = editor.sections) { const {sections} = editor; const first = sections.indexOf(added[0]); - let el = elToc.children[first]; - if (added.focus) { - const cls = 'current'; - const old = $('.' + cls, elToc); - if (old && old !== el) old.classList.remove(cls); - el.classList.add(cls); - return; - } - if (first >= 0) { - for (let i = first; i < sections.length; i++) { + const elFirst = elToc.children[first]; + if (first >= 0 && (!added.focus || !elFirst)) { + for (let el = elFirst, i = first; i < sections.length; i++) { const entry = sections[i].tocEntry; if (!deepEqual(entry, toc[i])) { if (!el) el = elToc.appendChild($create('li', {tabIndex: 0})); @@ -318,6 +324,13 @@ lazyInit(); elToc.lastElementChild.remove(); toc.length--; } + if (added.focus) { + const cls = 'current'; + const old = $('.' + cls, elToc); + const el = elFirst || elToc.children[first]; + if (old && old !== el) old.classList.remove(cls); + el.classList.add(cls); + } } })(); @@ -335,7 +348,7 @@ function lazyInit() { async function patchHistoryBack(tab) { ownTabId = tab.id; // use browser history back when 'back to manage' is clicked - if (sessionStorageHash('manageStylesHistory').value[ownTabId] === location.href) { + if (sessionStore['manageStylesHistory' + ownTabId] === location.href) { await onDOMready(); $('#cancel-button').onclick = event => { event.stopPropagation(); @@ -346,8 +359,8 @@ function lazyInit() { } /** resize on 'undo close' */ function restoreWindowSize() { - const pos = tryJSONparse(sessionStorage.windowPos); - delete sessionStorage.windowPos; + const pos = tryJSONparse(sessionStore.windowPos); + delete sessionStore.windowPos; if (pos && pos.left != null && chrome.windows) { chrome.windows.update(chrome.windows.WINDOW_ID_CURRENT, pos); } @@ -408,7 +421,16 @@ function onRuntimeMessage(request) { } function beforeUnload(e) { - sessionStorage.windowPos = JSON.stringify(canSaveWindowPos() && prefs.get('windowPosition')); + sessionStore.windowPos = JSON.stringify(canSaveWindowPos() && prefs.get('windowPosition')); + sessionStore['editorScrollInfo' + editor.style.id] = JSON.stringify({ + scrollY: window.scrollY, + cms: editor.getEditors().map(cm => /** @namespace EditorScrollInfo */({ + focus: cm.hasFocus(), + height: cm.display.wrapper.style.height.replace('100vh', ''), + parentHeight: cm.display.wrapper.parentElement.offsetHeight, + sel: cm.isClean() && [cm.doc.sel.ranges, cm.doc.sel.primIndex], + })), + }); const activeElement = document.activeElement; if (activeElement) { // blurring triggers 'change' or 'input' event if needed @@ -429,7 +451,7 @@ function showHelp(title = '', body) { const contents = $('.contents', div); contents.textContent = ''; if (body) { - contents.appendChild(typeof body === 'string' ? tHTML(body) : body); + contents.appendChild(typeof body === 'string' ? t.HTML(body) : body); } $('.title', div).textContent = title; @@ -492,7 +514,7 @@ function showCodeMirrorPopup(title, html, options) { matchBrackets: true, styleActiveLine: true, theme: prefs.get('editor.theme'), - keyMap: prefs.get('editor.keyMap') + keyMap: prefs.get('editor.keyMap'), }, options)); cm.focus(); rerouteHotkeys(false); diff --git a/edit/editor-worker.js b/edit/editor-worker.js index 9dd1b368..9a0ec6fd 100644 --- a/edit/editor-worker.js +++ b/edit/editor-worker.js @@ -29,13 +29,13 @@ workerUtil.createAPI({ code: err.code, args: err.args, message: err.message, - index: err.index + index: err.index, }) ); return result; }, getStylelintRules, - getCsslintRules + getCsslintRules, }); function getCsslintRules() { diff --git a/edit/global-search.js b/edit/global-search.js index 546805c5..ff18616f 100644 --- a/edit/global-search.js +++ b/edit/global-search.js @@ -1,5 +1,18 @@ -/* global CodeMirror focusAccessibility colorMimicry editor chromeLocal - onDOMready $ $$ $create t debounce tryRegExp stringAsRegExp template */ +/* global + $ + $$ + $create + chromeLocal + CodeMirror + colorMimicry + debounce + editor + focusAccessibility + onDOMready + stringAsRegExp + t + tryRegExp +*/ 'use strict'; onDOMready().then(() => { @@ -100,7 +113,7 @@ onDOMready().then(() => { state.lastFind = ''; toggleDataset(this, 'enabled', !state.icase); doSearch({canAdvance: false}); - } + }, }, }; @@ -136,7 +149,7 @@ onDOMready().then(() => { trimUndoHistory(); enableUndoButton(state.undoHistory.length); if (state.find) doSearch({canAdvance: false}); - } + }, }; const DIALOG_PROPS = { @@ -152,7 +165,7 @@ onDOMready().then(() => { state.replace = this.value; adjustTextareaSize(this); debounce(writeStorage, STORAGE_UPDATE_DELAY); - } + }, }, }; @@ -169,7 +182,7 @@ onDOMready().then(() => { replace(cm) { state.reverse = false; focusDialog('replace', cm); - } + }, }; COMMANDS.replaceAll = COMMANDS.replace; @@ -563,14 +576,14 @@ onDOMready().then(() => { state.originalFocus = document.activeElement; state.firstRun = true; - const dialog = state.dialog = template.searchReplaceDialog.cloneNode(true); + const dialog = state.dialog = t.template.searchReplaceDialog.cloneNode(true); Object.assign(dialog, DIALOG_PROPS.dialog); dialog.addEventListener('focusout', EVENTS.onfocusout); dialog.dataset.type = type; dialog.style.pointerEvents = 'auto'; const content = $('[data-type="content"]', dialog); - content.parentNode.replaceChild(template[type].cloneNode(true), content); + content.parentNode.replaceChild(t.template[type].cloneNode(true), content); createInput(0, 'input', state.find); createInput(1, 'input2', state.replace); @@ -633,7 +646,7 @@ onDOMready().then(() => { input.value = value; Object.assign(input, DIALOG_PROPS[name]); - input.parentElement.appendChild(template.clearSearch.cloneNode(true)); + input.parentElement.appendChild(t.template.clearSearch.cloneNode(true)); $('[data-action]', input.parentElement)._input = input; } diff --git a/edit/linter-config-dialog.js b/edit/linter-config-dialog.js index d357cb79..5168e86b 100644 --- a/edit/linter-config-dialog.js +++ b/edit/linter-config-dialog.js @@ -61,7 +61,7 @@ loadScript([ '/vendor/codemirror/mode/javascript/javascript.js', '/vendor/codemirror/addon/lint/json-lint.js', - '/vendor/jsonlint/jsonlint.js' + '/vendor/jsonlint/jsonlint.js', ]).then(() => { cm.setOption('mode', 'application/json'); cm.setOption('lint', true); diff --git a/edit/linter-defaults.js b/edit/linter-defaults.js index 4d1d6aee..6c2dd09b 100644 --- a/edit/linter-defaults.js +++ b/edit/linter-defaults.js @@ -12,13 +12,13 @@ const LINTER_DEFAULTS = (() => { rules: { 'at-rule-no-unknown': [true, { 'ignoreAtRules': ['extend', 'extends', 'css', 'block'], - 'severity': 'warning' + 'severity': 'warning', }], 'block-no-empty': [true, SEVERITY], 'color-no-invalid-hex': [true, SEVERITY], 'declaration-block-no-duplicate-properties': [true, { 'ignore': ['consecutive-duplicates-with-different-values'], - 'severity': 'warning' + 'severity': 'warning', }], 'declaration-block-no-shorthand-property-overrides': [true, SEVERITY], 'font-family-no-duplicate-names': [true, SEVERITY], @@ -172,7 +172,7 @@ const LINTER_DEFAULTS = (() => { 'value-list-comma-space-before': 'never', 'value-list-max-empty-lines': 0 */ - } + }, }; const CSSLINT = { // Default warnings @@ -216,7 +216,7 @@ const LINTER_DEFAULTS = (() => { 'universal-selector': 0, 'unqualified-attributes': 0, 'vendor-prefix': 0, - 'zero-units': 0 + 'zero-units': 0, }; return {STYLELINT, CSSLINT, SEVERITY}; })(); diff --git a/edit/linter-engines.js b/edit/linter-engines.js index 8ec09144..295e5d32 100644 --- a/edit/linter-engines.js +++ b/edit/linter-engines.js @@ -7,7 +7,7 @@ storageName: chromeSync.LZ_KEY.csslint, lint: csslint, validMode: mode => mode === 'css', - getConfig: config => Object.assign({}, LINTER_DEFAULTS.CSSLINT, config) + getConfig: config => Object.assign({}, LINTER_DEFAULTS.CSSLINT, config), }, stylelint: { storageName: chromeSync.LZ_KEY.stylelint, @@ -15,9 +15,9 @@ validMode: () => true, getConfig: config => ({ syntax: 'sugarss', - rules: Object.assign({}, LINTER_DEFAULTS.STYLELINT.rules, config && config.rules) - }) - } + rules: Object.assign({}, LINTER_DEFAULTS.STYLELINT.rules, config && config.rules), + }), + }, }); async function stylelint(text, config, mode) { diff --git a/edit/linter-meta.js b/edit/linter-meta.js index 0068771a..bee0b5e5 100644 --- a/edit/linter-meta.js +++ b/edit/linter-meta.js @@ -33,7 +33,7 @@ function createMetaCompiler(cm, onUpdated) { to: cm.posFromIndex((err.index || 0) + match.index), message: err.code && chrome.i18n.getMessage(`meta_${err.code}`, err.args) || err.message, severity: err.code === 'unknownMeta' ? 'warning' : 'error', - rule: err.code + rule: err.code, }) ); meta = match[0]; diff --git a/edit/linter-report.js b/edit/linter-report.js index 4387cb76..b3aea52b 100644 --- a/edit/linter-report.js +++ b/edit/linter-report.js @@ -77,7 +77,7 @@ Object.assign(linter, (() => { element: table, trs, updateAnnotations, - updateCaption + updateCaption, }; function updateCaption() { @@ -124,18 +124,18 @@ Object.assign(linter, (() => { const message = $create('td', {attributes: {role: 'message'}}); const trElement = $create('tr', { - onclick: () => gotoLintIssue(cm, anno) + onclick: () => gotoLintIssue(cm, anno), }, [ severity, line, $create('td', {attributes: {role: 'sep'}}, ':'), col, - message + message, ]); return { element: trElement, update, - getAnnotation: () => anno + getAnnotation: () => anno, }; function update(_anno) { diff --git a/edit/linter.js b/edit/linter.js index 607eb057..52a525b8 100644 --- a/edit/linter.js +++ b/edit/linter.js @@ -3,7 +3,7 @@ /* exported editorWorker */ const editorWorker = workerUtil.createWorker({ - url: '/edit/editor-worker.js' + url: '/edit/editor-worker.js', }); /* exported linter */ @@ -19,7 +19,7 @@ const linter = (() => { enableForEditor, disableForEditor, onLintingUpdated, - onUnhook + onUnhook, }; function onUnhook(cb) { diff --git a/edit/live-preview.js b/edit/live-preview.js index 34bf13be..fafaa50f 100644 --- a/edit/live-preview.js +++ b/edit/live-preview.js @@ -40,7 +40,7 @@ function createLivePreview(preprocess, shouldShow) { function createPreviewer() { const port = chrome.runtime.connect({ - name: 'livePreview' + name: 'livePreview', }); port.onDisconnect.addListener(err => { throw err; diff --git a/edit/moz-section-finder.js b/edit/moz-section-finder.js index e80fbb12..9d143993 100644 --- a/edit/moz-section-finder.js +++ b/edit/moz-section-finder.js @@ -75,7 +75,7 @@ function MozSectionFinder(cm) { /** @param {MozSection} [section] */ updatePositions(section) { (section ? [section] : getState().sections).forEach(setPositionFromMark); - } + }, }; return MozSectionFinder; diff --git a/edit/moz-section-widget.js b/edit/moz-section-widget.js index e8f4cfe3..fcb6fce5 100644 --- a/edit/moz-section-widget.js +++ b/edit/moz-section-widget.js @@ -9,7 +9,6 @@ prefs regExpTester t - template tryCatch */ 'use strict'; @@ -55,7 +54,7 @@ function MozSectionWidget( $create('ul' + C_LIST), ]), listItem: - template.appliesTo.cloneNode(true), + t.template.appliesTo.cloneNode(true), appliesToEverything: $create('li.applies-to-everything', t('appliesToEverything')), }; @@ -74,7 +73,7 @@ function MozSectionWidget( if (funcs.length < 2) { messageBox({ contents: t('appliesRemoveError'), - buttons: [t('confirmClose')] + buttons: [t('confirmClose')], }); return; } @@ -125,7 +124,7 @@ function MozSectionWidget( return; } } - } + }, }; actualStyle = $create('style'); diff --git a/edit/regexp-tester.js b/edit/regexp-tester.js index 5b7bf13e..82fab8ab 100644 --- a/edit/regexp-tester.js +++ b/edit/regexp-tester.js @@ -1,4 +1,12 @@ -/* global showHelp $ $create tryRegExp URLS t template openURL */ +/* global + $ + $create + openURL + showHelp + t + tryRegExp + URLS +*/ /* exported regExpTester */ 'use strict'; @@ -86,7 +94,7 @@ const regExpTester = (() => { full: {data: [], label: t('styleRegexpTestFull')}, partial: {data: [], label: [ t('styleRegexpTestPartial'), - template.regexpTestPartial.cloneNode(true), + t.template.regexpTestPartial.cloneNode(true), ]}, none: {data: [], label: t('styleRegexpTestNone')}, invalid: {data: [], label: t('styleRegexpTestInvalid')}, diff --git a/edit/sections-editor-section.js b/edit/sections-editor-section.js index d1446881..02fdf787 100644 --- a/edit/sections-editor-section.js +++ b/edit/sections-editor-section.js @@ -9,7 +9,6 @@ prefs regExpTester t - template trimCommentLabel tryRegExp */ @@ -17,20 +16,28 @@ /* exported createSection */ -/** @returns {EditorSection} */ -function createSection(originalSection, genId) { +/** + * @param {StyleSection} originalSection + * @param {function():number} genId + * @param {EditorScrollInfo} [si] + * @returns {EditorSection} + */ +function createSection(originalSection, genId, si) { const {dirty} = editor; const sectionId = genId(); - const el = template.section.cloneNode(true); + const el = t.template.section.cloneNode(true); const elLabel = $('.code-label', el); const cm = cmFactory.create(wrapper => { // making it tall during initial load so IntersectionObserver sees only one adjacent CM - wrapper.style.height = '100vh'; + if (editor.ready !== true) { + wrapper.style.height = si ? si.height : '100vh'; + } elLabel.after(wrapper); }, { value: originalSection.code, }); el.CodeMirror = cm; // used by getAssociatedEditor + editor.applyScrollInfo(cm, si); const changeListeners = new Set(); @@ -259,8 +266,8 @@ function createSection(originalSection, genId) { function createApply({type = 'url', value, all = false}) { const applyId = genId(); const dirtyPrefix = `section.${sectionId}.apply.${applyId}`; - const el = all ? template.appliesToEverything.cloneNode(true) : - template.appliesTo.cloneNode(true); + const el = all ? t.template.appliesToEverything.cloneNode(true) : + t.template.appliesTo.cloneNode(true); const selectEl = !all && $('.applies-type', el); if (selectEl) { @@ -353,7 +360,7 @@ function createSection(originalSection, genId) { function createResizeGrip(cm) { const wrapper = cm.display.wrapper; wrapper.classList.add('resize-grip-enabled'); - const resizeGrip = template.resizeGrip.cloneNode(true); + const resizeGrip = t.template.resizeGrip.cloneNode(true); wrapper.appendChild(resizeGrip); let lastClickTime = 0; let initHeight; diff --git a/edit/sections-editor.js b/edit/sections-editor.js index a2c07773..1c9a649f 100644 --- a/edit/sections-editor.js +++ b/edit/sections-editor.js @@ -15,6 +15,7 @@ messageBox prefs sectionsToMozFormat + sessionStore showCodeMirrorPopup showHelp t @@ -117,7 +118,7 @@ function SectionsEditor() { } newStyle = await API.editSave(newStyle); destroyRemovedSections(); - sessionStorage.justEditedStyleId = newStyle.id; + sessionStore.justEditedStyleId = newStyle.id; editor.replaceStyle(newStyle, false); }, @@ -141,7 +142,7 @@ function SectionsEditor() { /** @param {EditorSection} section */ function fitToContent(section) { - const {el, cm, cm: {display: {wrapper, sizer}}} = section; + const {cm, cm: {display: {wrapper, sizer}}} = section; if (cm.display.renderedView) { resize(); } else { @@ -154,12 +155,13 @@ function SectionsEditor() { return; } if (headerOffset == null) { - headerOffset = el.getBoundingClientRect().top; + headerOffset = container.getBoundingClientRect().top; } contentHeight += 9; // border & resize grip cm.off('update', resize); const cmHeight = wrapper.offsetHeight; - const maxHeight = (window.innerHeight - headerOffset) - (section.el.offsetHeight - cmHeight); + const appliesToHeight = Math.min(section.el.offsetHeight - cmHeight, window.innerHeight / 2); + const maxHeight = (window.innerHeight - headerOffset) - appliesToHeight; const fit = Math.min(contentHeight, maxHeight); if (Math.abs(fit - cmHeight) > 1) { cm.setSize(null, fit); @@ -434,7 +436,7 @@ function SectionsEditor() { /** @returns {Style} */ function getModel() { return Object.assign({}, style, { - sections: sections.filter(s => !s.removed).map(s => s.getModel()) + sections: sections.filter(s => !s.removed).map(s => s.getModel()), }); } @@ -484,7 +486,7 @@ function SectionsEditor() { livePreview.update(getModel()); } - function initSections(originalSections, { + function initSections(src, { focusOn = 0, replace = false, pristine = false, @@ -495,27 +497,35 @@ function SectionsEditor() { container.textContent = ''; } let done; - const total = originalSections.length; - originalSections = originalSections.slice(); + let index = 0; + let y = 0; + const total = src.length; + let si = editor.scrollInfo; + if (si && si.cms && si.cms.length === src.length) { + si.scrollY2 = si.scrollY + window.innerHeight; + container.style.height = si.scrollY2 + 'px'; + scrollTo(0, si.scrollY); + } else { + si = null; + } return new Promise(resolve => { done = resolve; - chunk(true); + chunk(!si); }); function chunk(forceRefresh) { const t0 = performance.now(); - while (originalSections.length && performance.now() - t0 < 100) { - insertSectionAfter(originalSections.shift(), undefined, forceRefresh); + while (index < total && performance.now() - t0 < 100) { + if (si) forceRefresh = y < si.scrollY2 && (y += si.cms[index].parentHeight) > si.scrollY; + insertSectionAfter(src[index], undefined, forceRefresh, si && si.cms[index]); if (pristine) dirty.clear(); - if (focusOn !== false && sections[focusOn]) { - sections[focusOn].cm.focus(); - focusOn = false; - } + if (index === focusOn && !si) sections[index].cm.focus(); + index++; } - setGlobalProgress(total - originalSections.length, total); - if (!originalSections.length) { + setGlobalProgress(index, total); + if (index === total) { setGlobalProgress(); - requestAnimationFrame(fitToAvailableSpace); - sections.forEach(({cm}) => setTimeout(linter.enableForEditor, 0, cm)); + if (!si) requestAnimationFrame(fitToAvailableSpace); + container.style.removeProperty('height'); done(); } else { setTimeout(chunk); @@ -564,24 +574,26 @@ function SectionsEditor() { * @param {StyleSection} [init] * @param {EditorSection} [base] * @param {boolean} [forceRefresh] + * @param {EditorScrollInfo} [si] */ - function insertSectionAfter(init, base, forceRefresh) { + function insertSectionAfter(init, base, forceRefresh, si) { if (!init) { init = {code: '', urlPrefixes: ['http://example.com']}; } - const section = createSection(init, genId); + const section = createSection(init, genId, si); const {cm} = section; - sections.splice(base ? sections.indexOf(base) + 1 : sections.length, 0, section); + const index = base ? sections.indexOf(base) + 1 : sections.length; + sections.splice(index, 0, section); container.insertBefore(section.el, base ? base.el.nextSibling : null); - refreshOnView(cm, forceRefresh); + refreshOnView(cm, base || forceRefresh); registerEvents(section); - if (!base || init.code) { + if ((!si || !si.height) && (!base || init.code)) { // Fit a) during startup or b) when the clone button is clicked on a section with some code fitToContent(section); } if (base) { cm.focus(); - setTimeout(editor.scrollToEditor, 0, cm); + editor.scrollToEditor(cm); linter.enableForEditor(cm); } updateSectionOrder(); @@ -646,11 +658,18 @@ function SectionsEditor() { xo.observe(cm.display.wrapper); } + /** @param {IntersectionObserverEntry[]} entries */ function refreshOnViewListener(entries) { - for (const {isIntersecting, target} of entries) { - if (isIntersecting) { - target.CodeMirror.refresh(); - xo.unobserve(target); + for (const e of entries) { + const r = e.isIntersecting && e.intersectionRect; + if (r) { + xo.unobserve(e.target); + const cm = e.target.CodeMirror; + if (r.bottom > 0 && r.top < window.innerHeight) { + cm.refresh(); + } else { + setTimeout(() => cm.refresh()); + } } } } diff --git a/edit/show-keymap-help.js b/edit/show-keymap-help.js index 66cf08ea..b17971b7 100644 --- a/edit/show-keymap-help.js +++ b/edit/show-keymap-help.js @@ -1,5 +1,14 @@ -/* global CodeMirror showHelp onDOMready $ $$ $create template t - prefs stringAsRegExp */ +/* global + $ + $$ + $create + CodeMirror + onDOMready + prefs + showHelp + stringAsRegExp + t +*/ 'use strict'; onDOMready().then(() => { @@ -11,7 +20,7 @@ function showKeyMapHelp() { const keyMapSorted = Object.keys(keyMap) .map(key => ({key, cmd: keyMap[key]})) .sort((a, b) => (a.cmd < b.cmd || (a.cmd === b.cmd && a.key < b.key) ? -1 : 1)); - const table = template.keymapHelp.cloneNode(true); + const table = t.template.keymapHelp.cloneNode(true); const tBody = table.tBodies[0]; const row = tBody.rows[0]; const cellA = row.children[0]; diff --git a/edit/source-editor.js b/edit/source-editor.js index ca8cd183..48272e17 100644 --- a/edit/source-editor.js +++ b/edit/source-editor.js @@ -16,6 +16,7 @@ MozSectionWidget prefs sectionsToMozFormat + sessionStore t */ @@ -74,6 +75,7 @@ function SourceEditor() { 'editor.appliesToLineWidget': (k, val) => sectionWidget.toggle(val), 'editor.toc.expanded': (k, val) => sectionFinder.onOff(editor.updateToc, val), }, {now: true}); + editor.applyScrollInfo(cm); cm.clearHistory(); cm.markClean(); savedGeneration = cm.changeGeneration(); @@ -89,7 +91,6 @@ function SourceEditor() { linter.run(); updateLinterSwitch(); }); - debounce(linter.enableForEditor, 0, cm); if (!$.isTextInput(document.activeElement)) { cm.focus(); } @@ -98,7 +99,7 @@ function SourceEditor() { return API.buildUsercss({ styleId: style.id, sourceCode: style.sourceCode, - assignVars: true + assignVars: true, }) .then(({style: newStyle}) => { delete newStyle.enabled; @@ -217,7 +218,7 @@ function SourceEditor() { if (style.id !== newStyle.id) { history.replaceState({}, '', `?id=${newStyle.id}`); } - sessionStorage.justEditedStyleId = newStyle.id; + sessionStore.justEditedStyleId = newStyle.id; Object.assign(style, newStyle); $('#preview-label').classList.remove('hidden'); updateMeta(); diff --git a/edit/util.js b/edit/util.js index 8af544de..f987e601 100644 --- a/edit/util.js +++ b/edit/util.js @@ -214,6 +214,6 @@ function createHotkeyInput(prefId, onDone = () => {}) { }, onpaste(event) { event.preventDefault(); - } + }, }); } diff --git a/global.css b/global.css index ad92d486..77489a74 100644 --- a/global.css +++ b/global.css @@ -142,6 +142,7 @@ select { transition: color .5s; } +.select-wrapper, .select-resizer { display: inline-flex!important; cursor: default; diff --git a/install-usercss/install-usercss.js b/install-usercss/install-usercss.js index fa6c6aa3..56afae69 100644 --- a/install-usercss/install-usercss.js +++ b/install-usercss/install-usercss.js @@ -22,7 +22,7 @@ if (theme !== 'default') { document.head.appendChild($create('link', { rel: 'stylesheet', - href: `vendor/codemirror/theme/${theme}.css` + href: `vendor/codemirror/theme/${theme}.css`, })); } window.addEventListener('resize', adjustCodeHeight); @@ -111,7 +111,7 @@ frag.appendChild($createLink(url, $create('SVG:svg.svg-icon', {viewBox: '0 0 20 20'}, $create('SVG:path', { - d: 'M4,4h5v2H6v8h8v-3h2v5H4V4z M11,3h6v6l-2-2l-4,4L9,9l4-4L11,3z' + d: 'M4,4h5v2H6v8h8v-3h2v5H4V4z M11,3h6v6l-2-2l-4,4L9,9l4-4L11,3z', })) )); } @@ -130,7 +130,7 @@ $create('li', $createLink(...args) ) - )) + )), ])); } } diff --git a/js/cache.js b/js/cache.js index 07acfd06..3b6abd73 100644 --- a/js/cache.js +++ b/js/cache.js @@ -25,7 +25,7 @@ function createCache({size = 1000, onDeleted} = {}) { }, get size() { return map.size; - } + }, }; function get(id) { diff --git a/js/dom.js b/js/dom.js index d8bafda8..74649ab4 100644 --- a/js/dom.js +++ b/js/dom.js @@ -296,7 +296,7 @@ function $createLink(href = '', content) { const opt = { tag: 'a', target: '_blank', - rel: 'noopener' + rel: 'noopener', }; if (typeof href === 'object') { Object.assign(opt, href); diff --git a/js/localization.js b/js/localization.js index e4a8de10..2effaf17 100644 --- a/js/localization.js +++ b/js/localization.js @@ -1,149 +1,16 @@ -/* global tryCatch */ -/* exported tHTML formatDate */ 'use strict'; -const template = {}; -tDocLoader(); - - function t(key, params) { - const cache = !params && t.cache[key]; - const s = cache || chrome.i18n.getMessage(key, params); - if (s === '') { - throw `Missing string "${key}"`; - } - if (!params && !cache) { - t.cache[key] = s; - } + const s = chrome.i18n.getMessage(key, params); + if (!s) throw `Missing string "${key}"`; return s; } - -function tHTML(html, tag) { - // body is a text node without HTML tags - if (typeof html === 'string' && !tag && /<\w+/.test(html) === false) { - return document.createTextNode(html); - } - if (typeof html === 'string') { - // spaces are removed; use   for an explicit space - html = html.replace(/>\s+<').trim(); - if (tag) { - html = `<${tag}>${html}`; - } - const body = t.DOMParser.parseFromString(html, 'text/html').body; - if (html.includes('i18n-')) { - tNodeList(body.getElementsByTagName('*')); - } - // the html string may contain more than one top-level node - if (!body.childNodes[1]) { - return body.firstChild; - } - const fragment = document.createDocumentFragment(); - while (body.firstChild) { - fragment.appendChild(body.firstChild); - } - return fragment; - } - return html; -} - - -function tNodeList(nodes) { - const PREFIX = 'i18n-'; - - for (let n = nodes.length; --n >= 0;) { - const node = nodes[n]; - if (node.nodeType !== Node.ELEMENT_NODE) { - continue; - } - if (node.localName === 'template') { - createTemplate(node); - continue; - } - for (let a = node.attributes.length; --a >= 0;) { - const attr = node.attributes[a]; - const name = attr.nodeName; - if (!name.startsWith(PREFIX)) { - continue; - } - const type = name.substr(PREFIX.length); - const value = t(attr.value); - let toInsert, before; - switch (type) { - case 'word-break': - // we already know that: hasWordBreak - break; - case 'text': - before = node.firstChild; - // fallthrough to text-append - case 'text-append': - toInsert = createText(value); - break; - case 'html': { - toInsert = createHtml(value); - break; - } - default: - node.setAttribute(type, value); - } - tDocLoader.pause(); - if (toInsert) { - node.insertBefore(toInsert, before || null); - } - node.removeAttribute(name); - } - } - - function createTemplate(node) { - const elements = node.content.querySelectorAll('*'); - tNodeList(elements); - template[node.dataset.id] = elements[0]; - // compress inter-tag whitespace to reduce number of DOM nodes by 25% - const walker = document.createTreeWalker(elements[0], NodeFilter.SHOW_TEXT); - const toRemove = []; - while (walker.nextNode()) { - const textNode = walker.currentNode; - if (!textNode.nodeValue.trim()) { - toRemove.push(textNode); - } - } - tDocLoader.pause(); - toRemove.forEach(el => el.remove()); - } - - function createText(str) { - return document.createTextNode(tWordBreak(str)); - } - - function createHtml(value) { - // bar are the only recognizable HTML elements - const rx = /(?:]*)>([^<]*)<\/a>)?([^<]*)/gi; - const bin = document.createDocumentFragment(); - for (let m; (m = rx.exec(value)) && m[0];) { - const [, linkParams, linkText, nextText] = m; - if (linkText) { - const href = /\bhref\s*=\s*(\S+)/.exec(linkParams); - const a = bin.appendChild(document.createElement('a')); - a.href = href && href[1].replace(/^(["'])(.*)\1$/, '$2') || ''; - a.appendChild(createText(linkText)); - } - if (nextText) { - bin.appendChild(createText(nextText)); - } - } - return bin; - } -} - - -function tDocLoader() { - t.DOMParser = new DOMParser(); - t.cache = (() => { - try { - return JSON.parse(localStorage.L10N); - } catch (e) {} - })() || {}; - t.RX_WORD_BREAK = new RegExp([ +Object.assign(t, { + template: {}, + DOMParser: new DOMParser(), + ALLOWED_TAGS: 'a,b,code,i,sub,sup,wbr'.split(','), + RX_WORD_BREAK: new RegExp([ '(', /[\d\w\u007B-\uFFFF]{10}/, '|', @@ -152,73 +19,171 @@ function tDocLoader() { /((?!\s)\W){10}/, ')', /(?!\b|\s|$)/, - ].map(rx => rx.source || rx).join(''), 'g'); + ].map(rx => rx.source || rx).join(''), 'g'), - // reset L10N cache on UI language change - const UIlang = chrome.i18n.getUILanguage(); - if (t.cache.browserUIlanguage !== UIlang) { - t.cache = {browserUIlanguage: UIlang}; - localStorage.L10N = JSON.stringify(t.cache); - } - const cacheLength = Object.keys(t.cache).length; + HTML(html) { + return typeof html !== 'string' + ? html + : /<\w+/.test(html) // check for html tags + ? t.createHtml(html.replace(/>\n\s*<').trim()) + : document.createTextNode(html); + }, - Object.assign(tDocLoader, { - observer: new MutationObserver(process), - start() { - if (!tDocLoader.observing) { - tDocLoader.observing = true; - tDocLoader.observer.observe(document, {subtree: true, childList: true}); + NodeList(nodes) { + const PREFIX = 'i18n-'; + for (let n = nodes.length; --n >= 0;) { + const node = nodes[n]; + if (node.nodeType !== Node.ELEMENT_NODE) { + continue; } - }, - stop() { - tDocLoader.pause(); - document.removeEventListener('DOMContentLoaded', onLoad); - }, - pause() { - if (tDocLoader.observing) { - tDocLoader.observing = false; - tDocLoader.observer.disconnect(); + if (node.localName === 'template') { + t.createTemplate(node); + continue; + } + for (let a = node.attributes.length; --a >= 0;) { + const attr = node.attributes[a]; + const name = attr.nodeName; + if (!name.startsWith(PREFIX)) { + continue; + } + const type = name.substr(PREFIX.length); + const value = t(attr.value); + let toInsert, before; + switch (type) { + case 'word-break': + // we already know that: hasWordBreak + break; + case 'text': + before = node.firstChild; + // fallthrough to text-append + case 'text-append': + toInsert = t.createText(value); + break; + case 'html': { + toInsert = t.createHtml(value); + break; + } + default: + node.setAttribute(type, value); + } + t.stopObserver(); + if (toInsert) { + node.insertBefore(toInsert, before || null); + } + node.removeAttribute(name); + } + } + }, + + /** Adds soft hyphens every 10 characters to ensure the long words break before breaking the layout */ + breakWord(text) { + return text.length <= 10 ? text : + text.replace(t.RX_WORD_BREAK, '$&\u00AD'); + }, + + createTemplate(node) { + const elements = node.content.querySelectorAll('*'); + t.NodeList(elements); + t.template[node.dataset.id] = elements[0]; + // compress inter-tag whitespace to reduce number of DOM nodes by 25% + const walker = document.createTreeWalker(elements[0], NodeFilter.SHOW_TEXT); + const toRemove = []; + while (walker.nextNode()) { + const textNode = walker.currentNode; + if (!/[\xA0\S]/.test(textNode.nodeValue)) { // allow \xA0 to keep   + toRemove.push(textNode); + } + } + t.stopObserver(); + toRemove.forEach(el => el.remove()); + }, + + createText(str) { + return document.createTextNode(t.breakWord(str)); + }, + + createHtml(str, trusted) { + const root = t.DOMParser.parseFromString(str, 'text/html').body; + if (!trusted) { + t.sanitizeHtml(root); + } else if (str.includes('i18n-')) { + t.NodeList(root.getElementsByTagName('*')); + } + const bin = document.createDocumentFragment(); + while (root.firstChild) { + bin.appendChild(root.firstChild); + } + return bin; + }, + + sanitizeHtml(root) { + const toRemove = []; + const walker = document.createTreeWalker(root); + for (let n; (n = walker.nextNode());) { + if (n.nodeType === Node.TEXT_NODE) { + n.nodeValue = t.breakWord(n.nodeValue); + } else if (t.ALLOWED_TAGS.includes(n.localName)) { + for (const attr of n.attributes) { + if (n.localName !== 'a' || attr.localName !== 'href' || !/^https?:/.test(n.href)) { + n.removeAttribute(attr.name); + } + } + } else { + toRemove.push(n); + } + } + for (const n of toRemove) { + const parent = n.parentNode; + if (parent) parent.removeChild(n); // not using .remove() as there may be a non-element + } + }, + + formatDate(date) { + if (!date) { + return ''; + } + try { + const newDate = new Date(Number(date) || date); + const string = newDate.toLocaleDateString([chrome.i18n.getUILanguage(), 'en'], { + day: '2-digit', + month: 'short', + year: newDate.getYear() === new Date().getYear() ? undefined : '2-digit', + }); + return string === 'Invalid Date' ? '' : string; + } catch (e) { + return ''; + } + }, +}); + +(() => { + const observer = new MutationObserver(process); + let observing = false; + Object.assign(t, { + stopObserver() { + if (observing) { + observing = false; + observer.disconnect(); } }, }); + document.addEventListener('DOMContentLoaded', () => { + process(observer.takeRecords()); + t.stopObserver(); + }, {once: true}); - tNodeList(document.getElementsByTagName('*')); - tDocLoader.start(); - document.addEventListener('DOMContentLoaded', onLoad); + t.NodeList(document.getElementsByTagName('*')); + start(); function process(mutations) { - for (const mutation of mutations) { - tNodeList(mutation.addedNodes); - } - tDocLoader.start(); + mutations.forEach(m => t.NodeList(m.addedNodes)); + start(); } - function onLoad() { - document.removeEventListener('DOMContentLoaded', onLoad); - process(tDocLoader.observer.takeRecords()); - tDocLoader.stop(); - if (cacheLength !== Object.keys(t.cache).length) { - localStorage.L10N = JSON.stringify(t.cache); + function start() { + if (!observing) { + observing = true; + observer.observe(document, {subtree: true, childList: true}); } } -} - - -function tWordBreak(text) { - // adds soft hyphens every 10 characters to ensure the long words break before breaking the layout - return text.length <= 10 ? text : - text.replace(t.RX_WORD_BREAK, '$&\u00AD'); -} - - -function formatDate(date) { - return !date ? '' : tryCatch(() => { - const newDate = new Date(Number(date) || date); - const string = newDate.toLocaleDateString([t.cache.browserUIlanguage, 'en'], { - day: '2-digit', - month: 'short', - year: newDate.getYear() === new Date().getYear() ? undefined : '2-digit', - }); - return string === 'Invalid Date' ? '' : string; - }) || ''; -} +})(); diff --git a/js/messaging.js b/js/messaging.js index ba7ae2ed..c713d3e5 100644 --- a/js/messaging.js +++ b/js/messaging.js @@ -1,6 +1,20 @@ -/* exported getTab getActiveTab onTabReady stringAsRegExp openURL ignoreChromeError - getStyleWithNoCode tryRegExp sessionStorageHash download deepEqual - closeCurrentTab capitalize CHROME_HAS_BORDER_BUG */ +/* exported + capitalize + CHROME_HAS_BORDER_BUG + closeCurrentTab + deepEqual + download + getActiveTab + getStyleWithNoCode + getTab + ignoreChromeError + onTabReady + openURL + sessionStore + stringAsRegExp + tryCatch + tryRegExp +*/ 'use strict'; const CHROME = Boolean(chrome.app) && parseInt(navigator.userAgent.match(/Chrom\w+\/(\d+)|$/)[1]); @@ -112,7 +126,7 @@ function urlToMatchPattern(url, ignoreSearch) { if (ignoreSearch) { return [ `${url.protocol}//${url.hostname}/${url.pathname}`, - `${url.protocol}//${url.hostname}/${url.pathname}?*` + `${url.protocol}//${url.hostname}/${url.pathname}?*`, ]; } // FIXME: is %2f allowed in pathname and search? @@ -206,7 +220,7 @@ function activateTab(tab, {url, index, openerTabId} = {}) { return Promise.all([ browser.tabs.update(tab.id, options), browser.windows && browser.windows.update(tab.windowId, {focused: true}), - index != null && browser.tabs.move(tab.id, {index}) + index != null && browser.tabs.move(tab.id, {index}), ]) .then(() => tab); } @@ -316,24 +330,28 @@ function deepEqual(a, b, ignoredKeys) { return true; } - -function sessionStorageHash(name) { - return { - name, - value: tryCatch(JSON.parse, sessionStorage[name]) || {}, - set(k, v) { - this.value[k] = v; - this.updateStorage(); - }, - unset(k) { - delete this.value[k]; - this.updateStorage(); - }, - updateStorage() { - sessionStorage[this.name] = JSON.stringify(this.value); +/* A simple polyfill in case DOM storage is disabled in the browser */ +const sessionStore = new Proxy({}, { + get(target, name) { + try { + return sessionStorage[name]; + } catch (e) { + Object.defineProperty(window, 'sessionStorage', {value: target}); } - }; -} + }, + set(target, name, value, proxy) { + try { + sessionStorage[name] = `${value}`; + } catch (e) { + proxy[name]; // eslint-disable-line no-unused-expressions + target[name] = `${value}`; + } + return true; + }, + deleteProperty(target, name) { + return delete target[name]; + }, +}); /** * @param {String} url diff --git a/js/meta-parser.js b/js/meta-parser.js index 2f5bec83..246c2996 100644 --- a/js/meta-parser.js +++ b/js/meta-parser.js @@ -12,17 +12,17 @@ const metaParser = (() => { throw new ParseError({ code: 'unknownPreprocessor', args: [state.value], - index: state.valueIndex + index: state.valueIndex, }); } - } + }, }, validateVar: { select: state => { if (state.varResult.options.every(o => o.name !== state.value)) { throw new ParseError({ code: 'invalidSelectValueMismatch', - index: state.valueIndex + index: state.valueIndex, }); } }, @@ -32,19 +32,19 @@ const metaParser = (() => { throw new ParseError({ code: 'invalidColor', args: [state.value], - index: state.valueIndex + index: state.valueIndex, }); } state.value = colorConverter.format(color, 'rgb'); - } - } + }, + }, }; const parser = createParser(options); const looseParser = createParser(Object.assign({}, options, {allowErrors: true, unknownKey: 'throw'})); return { parse, lint, - nullifyInvalidVars + nullifyInvalidVars, }; function parse(text, indexOffset) { diff --git a/js/polyfill.js b/js/polyfill.js index 32b19b05..18c0765f 100644 --- a/js/polyfill.js +++ b/js/polyfill.js @@ -66,15 +66,6 @@ self.INJECTED !== 1 && (() => { //#region for our extension pages - for (const storage of ['localStorage', 'sessionStorage']) { - try { - window[storage]._access_check = 1; - delete window[storage]._access_check; - } catch (err) { - Object.defineProperty(window, storage, {value: {}}); - } - } - if (!(new URLSearchParams({foo: 1})).get('foo')) { // TODO: remove when minimum_chrome_version >= 61 window.URLSearchParams = class extends URLSearchParams { diff --git a/js/prefs.js b/js/prefs.js index ea290534..4e3f935e 100644 --- a/js/prefs.js +++ b/js/prefs.js @@ -15,6 +15,7 @@ window.INJECTED !== 1 && (() => { 'exposeIframes': false, // Add 'stylus-iframe' attribute to HTML element in all iframes 'newStyleAsUsercss': false, // create new style in usercss format 'styleViaXhr': false, // early style injection to avoid FOUC + 'patchCsp': false, // add data: and popular image hosting sites to strict CSP // checkbox in style config dialog 'config.autosave': true, diff --git a/js/usercss.js b/js/usercss.js index b2afea36..4dd2177a 100644 --- a/js/usercss.js +++ b/js/usercss.js @@ -12,7 +12,12 @@ const usercss = (() => { }; const RX_META = /\/\*!?\s*==userstyle==[\s\S]*?==\/userstyle==\s*\*\//i; const ERR_ARGS_IS_LIST = new Set(['missingMandatory', 'missingChar']); - return {buildMeta, buildCode, assignVars}; + return { + RX_META, + buildMeta, + buildCode, + assignVars, + }; function buildMeta(sourceCode) { sourceCode = sourceCode.replace(/\r\n?/g, '\n'); @@ -20,7 +25,7 @@ const usercss = (() => { const style = { enabled: true, sourceCode, - sections: [] + sections: [], }; const match = sourceCode.match(RX_META); diff --git a/js/worker-util.js b/js/worker-util.js index 5ba40232..767502e6 100644 --- a/js/worker-util.js +++ b/js/worker-util.js @@ -67,7 +67,7 @@ const workerUtil = { message: err.message, lineNumber: err.lineNumber, columnNumber: err.columnNumber, - fileName: err.fileName + fileName: err.fileName, }, err); }, diff --git a/manage.html b/manage.html index 2a5aa734..9ee92aba 100644 --- a/manage.html +++ b/manage.html @@ -11,8 +11,6 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + - + + + + + + diff --git a/popup/popup-preinit.js b/popup/popup-preinit.js new file mode 100644 index 00000000..fc1d942a --- /dev/null +++ b/popup/popup-preinit.js @@ -0,0 +1,87 @@ +/* global + API + URLS +*/ +'use strict'; + +const ABOUT_BLANK = 'about:blank'; +/* exported tabURL */ +/** @type string */ +let tabURL; + +/* exported initializing */ +const initializing = (async () => { + let [tab] = await browser.tabs.query({currentWindow: true, active: true}); + if (!chrome.app && tab.status === 'loading' && tab.url === 'about:blank') { + tab = await waitForTabUrlFF(tab); + } + const frames = sortTabFrames(await browser.webNavigation.getAllFrames({tabId: tab.id})); + let url = tab.pendingUrl || tab.url || ''; // new Chrome uses pendingUrl while connecting + if (url === 'chrome://newtab/' && !URLS.chromeProtectsNTP) { + url = frames[0].url || ''; + } + if (!URLS.supported(url)) { + url = ''; + frames.length = 1; + } + tabURL = frames[0].url = url; + const uniqFrames = frames.filter(f => f.url && !f.isDupe); + const styles = await Promise.all(uniqFrames.map(getFrameStyles)); + return {frames, styles}; + + async function getFrameStyles({url}) { + return { + url, + styles: await getStyleDataMerged(url), + }; + } + + /** @param {chrome.webNavigation.GetAllFrameResultDetails[]} frames */ + function sortTabFrames(frames) { + const unknown = new Map(frames.map(f => [f.frameId, f])); + const known = new Map([[0, unknown.get(0) || {frameId: 0, url: ''}]]); + unknown.delete(0); + let lastSize = 0; + while (unknown.size !== lastSize) { + for (const [frameId, f] of unknown) { + if (known.has(f.parentFrameId)) { + unknown.delete(frameId); + if (!f.errorOccurred) known.set(frameId, f); + if (f.url === ABOUT_BLANK) f.url = known.get(f.parentFrameId).url; + } + } + lastSize = unknown.size; // guard against an infinite loop due to a weird frame structure + } + const sortedFrames = [...known.values(), ...unknown.values()]; + const urls = new Set([ABOUT_BLANK]); + for (const f of sortedFrames) { + if (!f.url) f.url = ''; + f.isDupe = urls.has(f.url); + urls.add(f.url); + } + return sortedFrames; + } + + function waitForTabUrlFF(tab) { + return new Promise(resolve => { + browser.tabs.onUpdated.addListener(...[ + function onUpdated(tabId, info, updatedTab) { + if (info.url && tabId === tab.id) { + browser.tabs.onUpdated.removeListener(onUpdated); + resolve(updatedTab); + } + }, + ...'UpdateFilter' in browser.tabs ? [{tabId: tab.id}] : [], + // TODO: remove both spreads and tabId check when strict_min_version >= 61 + ]); + }); + } +})(); + +/* Merges the extra props from API into style data. + * When `id` is specified returns a single object otherwise an array */ +async function getStyleDataMerged(url, id) { + const styles = (await API.getStylesByUrl(url, id)) + .map(r => Object.assign(r.data, r)); + return id ? styles[0] : styles; +} diff --git a/popup/popup.js b/popup/popup.js index dc092f96..adc81cbe 100644 --- a/popup/popup.js +++ b/popup/popup.js @@ -3,18 +3,22 @@ $$ $create animateElement + ABOUT_BLANK API CHROME CHROME_HAS_BORDER_BUG configDialog FIREFOX getActiveTab + getStyleDataMerged hotkeys + initializing msg onDOMready prefs setupLivePrefs t + tabURL tryJSONparse URLS */ @@ -23,11 +27,8 @@ /** @type Element */ let installed; -/** @type string */ -let tabURL; const handleEvent = {}; -const ABOUT_BLANK = 'about:blank'; const ENTRY_ID_PREFIX_RAW = 'style-'; $.entry = styleOrId => $(`#${ENTRY_ID_PREFIX_RAW}${styleOrId.id || styleOrId}`); @@ -38,28 +39,21 @@ if (CHROME >= 66 && CHROME <= 69) { // Chrome 66-69 adds a gap, https://crbug.co toggleSideBorders(); -initTabUrls() - .then(frames => - Promise.all([ - onDOMready().then(() => initPopup(frames)), - ...frames - .filter(f => f.url && !f.isDupe) - .map(({url}) => getStyleDataMerged(url).then(styles => ({styles, url}))), - ])) - .then(([, ...results]) => { - const sliders = prefs.get('ui.sliders'); - const slot = $('toggle', t.template.style); - const toggle = t.template[sliders ? 'toggleSlider' : 'toggleChecker']; - slot.parentElement.replaceChild(toggle.cloneNode(true), slot); - document.body.classList.toggle('has-sliders', sliders); - if (results[0]) { - showStyles(results); - } else { - // unsupported URL; - $('#popup-manage-button').removeAttribute('title'); - } - }) - .catch(console.error); +Promise.all([ + initializing, + onDOMready(), +]).then(([ + {frames, styles}, +]) => { + toggleUiSliders(); + initPopup(frames); + if (styles[0]) { + showStyles(styles); + } else { + // unsupported URL; + $('#popup-manage-button').removeAttribute('title'); + } +}); msg.onExtension(onRuntimeMessage); @@ -109,23 +103,12 @@ function toggleSideBorders(state = prefs.get('popup.borders')) { } } -async function initTabUrls() { - let tab = await getActiveTab(); - if (FIREFOX && tab.status === 'loading' && tab.url === ABOUT_BLANK) { - tab = await waitForTabUrlFF(tab); - } - let frames = await browser.webNavigation.getAllFrames({tabId: tab.id}); - let url = tab.pendingUrl || tab.url || ''; // new Chrome uses pendingUrl while connecting - frames = sortTabFrames(frames); - if (url === 'chrome://newtab/' && !URLS.chromeProtectsNTP) { - url = frames[0].url || ''; - } - if (!URLS.supported(url)) { - url = ''; - frames.length = 1; - } - tabURL = frames[0].url = url; - return frames; +function toggleUiSliders() { + const sliders = prefs.get('ui.sliders'); + const slot = $('toggle', t.template.style); + const toggle = t.template[sliders ? 'toggleSlider' : 'toggleChecker']; + slot.parentElement.replaceChild(toggle.cloneNode(true), slot); + document.body.classList.toggle('has-sliders', sliders); } /** @param {chrome.webNavigation.GetAllFrameResultDetails[]} frames */ @@ -158,6 +141,10 @@ async function initPopup(frames) { installed); } + for (const el of $$('link[media=print]')) { + el.removeAttribute('media'); + } + if (!tabURL) { blockPopup(); return; @@ -188,6 +175,11 @@ async function initPopup(frames) { // so we'll wait a bit to handle popup being invoked right after switching await new Promise(resolve => setTimeout(resolve, 100)); } + + initUnreachable(isStore); +} + +function initUnreachable(isStore) { const info = t.template.unreachableInfo; if (!FIREFOX) { // Chrome "Allow access to file URLs" in chrome://extensions message @@ -294,32 +286,6 @@ function getDomains(url) { return domains; } -/** @param {chrome.webNavigation.GetAllFrameResultDetails[]} frames */ -function sortTabFrames(frames) { - const unknown = new Map(frames.map(f => [f.frameId, f])); - const known = new Map([[0, unknown.get(0) || {frameId: 0, url: ''}]]); - unknown.delete(0); - let lastSize = 0; - while (unknown.size !== lastSize) { - for (const [frameId, f] of unknown) { - if (known.has(f.parentFrameId)) { - unknown.delete(frameId); - if (!f.errorOccurred) known.set(frameId, f); - if (f.url === ABOUT_BLANK) f.url = known.get(f.parentFrameId).url; - } - } - lastSize = unknown.size; // guard against an infinite loop due to a weird frame structure - } - const sortedFrames = [...known.values(), ...unknown.values()]; - const urls = new Set([ABOUT_BLANK]); - for (const f of sortedFrames) { - if (!f.url) f.url = ''; - f.isDupe = urls.has(f.url); - urls.add(f.url); - } - return sortedFrames; -} - function sortStyles(entries) { const enabledFirst = prefs.get('popup.enabledFirst'); return entries.sort(({styleMeta: a}, {styleMeta: b}) => @@ -697,29 +663,6 @@ function handleDelete(id) { } } -function waitForTabUrlFF(tab) { - return new Promise(resolve => { - browser.tabs.onUpdated.addListener(...[ - function onUpdated(tabId, info, updatedTab) { - if (info.url && tabId === tab.id) { - chrome.tabs.onUpdated.removeListener(onUpdated); - resolve(updatedTab); - } - }, - ...'UpdateFilter' in browser.tabs ? [{tabId: tab.id}] : [], - // TODO: remove both spreads and tabId check when strict_min_version >= 61 - ]); - }); -} - -/* Merges the extra props from API into style data. - * When `id` is specified returns a single object otherwise an array */ -async function getStyleDataMerged(url, id) { - const styles = (await API.getStylesByUrl(url, id)) - .map(r => Object.assign(r.data, r)); - return id ? styles[0] : styles; -} - function blockPopup(isBlocked = true) { document.body.classList.toggle('blocked', isBlocked); if (isBlocked) { From 5bb1b5ef35118922f8c49a5cfebdbd8d81d1ba92 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 23 Nov 2020 12:09:30 +0300 Subject: [PATCH 067/291] dedup code for modals in popup --- js/dom.js | 31 +++++++++--- popup.html | 8 +-- popup/popup.css | 5 -- popup/popup.js | 130 +++++++++++++++++++++--------------------------- 4 files changed, 84 insertions(+), 90 deletions(-) diff --git a/js/dom.js b/js/dom.js index 74649ab4..339a793d 100644 --- a/js/dom.js +++ b/js/dom.js @@ -387,9 +387,10 @@ function focusAccessibility() { } /** - * Switches to the next/previous keyboard-focusable element + * Switches to the next/previous keyboard-focusable element. + * Doesn't check `visibility` or `display` via getComputedStyle for simplicity. * @param {HTMLElement} rootElement - * @param {Number} step - for exmaple 1 or -1 + * @param {Number} step - for exmaple 1 or -1 (or 0 to focus the first focusable el in the box) * @returns {HTMLElement|false|undefined} - * HTMLElement: focus changed, * false: focus unchanged, @@ -397,16 +398,15 @@ function focusAccessibility() { */ function moveFocus(rootElement, step) { const elements = [...rootElement.getElementsByTagName('*')]; - const activeIndex = Math.max(0, elements.indexOf(document.activeElement)); + const activeEl = document.activeElement; + const activeIndex = step ? Math.max(step < 0 ? 0 : -1, elements.indexOf(activeEl)) : -1; const num = elements.length; - const {activeElement} = document; + if (!step) step = 1; for (let i = 1; i < num; i++) { - const elementIndex = (activeIndex + i * step + num) % num; - // we don't use positive tabindex so we stop at any valid value - const el = elements[elementIndex]; + const el = elements[(activeIndex + i * step + num) % num]; if (!el.disabled && el.tabIndex >= 0) { el.focus(); - return activeElement !== el && el; + return activeEl !== el && el; } } } @@ -462,3 +462,18 @@ function setupLivePrefs( } } } + +/* exported getEventKeyName */ +/** + * @param {KeyboardEvent} e + * @param {boolean} [letterAsCode] - use locale-independent KeyA..KeyZ for single-letter chars + */ +function getEventKeyName(e, letterAsCode) { + const mods = + (e.shiftKey ? 'Shift-' : '') + + (e.ctrlKey ? 'Ctrl-' : '') + + (e.altKey ? 'Alt-' : '') + + (e.metaKey ? 'Meta-' : ''); + return (mods === e.key + '-' ? '' : mods) + + (e.key.length === 1 && letterAsCode ? e.code : e.key); +} diff --git a/popup.html b/popup.html index 7c7a10fe..f41f4910 100644 --- a/popup.html +++ b/popup.html @@ -25,22 +25,22 @@
    - @@ -450,8 +450,8 @@ - - + + diff --git a/manage.html b/manage.html index c11f9ea7..5ae4ae34 100644 --- a/manage.html +++ b/manage.html @@ -364,8 +364,8 @@ - - + + diff --git a/manage/manage.css b/manage/manage.css index 6a4afa3c..470d01dc 100644 --- a/manage/manage.css +++ b/manage/manage.css @@ -151,7 +151,8 @@ a:hover { } .svg-icon.config { - transform: scale(.8); + width: 16px; + height: 16px; } .homepage { diff --git a/popup.html b/popup.html index dfa86071..4b8ce303 100644 --- a/popup.html +++ b/popup.html @@ -280,8 +280,8 @@ - - + + diff --git a/popup/popup.css b/popup/popup.css index 883ac56c..74be4f6f 100644 --- a/popup/popup.css +++ b/popup/popup.css @@ -291,8 +291,8 @@ html[style*="border"] .entry:nth-child(11):before { } .svg-icon.config { - height: 14px; - width: 14px; + height: 16px; + width: 16px; } a.configure[target="_blank"] .svg-icon.config { From 83adc5aa1e1ee09150c253499e481644103ea3c0 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 10 Feb 2021 18:29:34 +0300 Subject: [PATCH 138/291] fix #1176 --- install-usercss/install-usercss.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install-usercss/install-usercss.js b/install-usercss/install-usercss.js index 796f5a56..eb6f9b5a 100644 --- a/install-usercss/install-usercss.js +++ b/install-usercss/install-usercss.js @@ -14,7 +14,6 @@ let installedDup; let liveReload; let tabId; -window.on('resize', adjustCodeHeight); // "History back" in Firefox (for now) restores the old DOM including the messagebox, // which stays after installing since we don't want to wait for the fadeout animation before resolving. document.on('visibilitychange', () => { @@ -81,6 +80,7 @@ setTimeout(() => { colorpicker: true, theme, }); + window.on('resize', adjustCodeHeight); if (error) { showBuildError(error); } From 75db3601d0f59424e6cf85b8c6746e33f108359d Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 10 Feb 2021 19:47:07 +0300 Subject: [PATCH 139/291] fix #1177 regressed in fdbfb235 --- popup/events.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/popup/events.js b/popup/events.js index eb06e0ad..3f165b15 100644 --- a/popup/events.js +++ b/popup/events.js @@ -154,7 +154,7 @@ const Events = { }; window.on('keydown', box._onkeydown); moveFocus(box, 0); - Events.hideModal(oldBox); + if (oldBox) Events.hideModal(oldBox); }, async toggleState(event) { From c17dddb0ee82244a7afe1f7dc736c5e5f843a3ad Mon Sep 17 00:00:00 2001 From: eight Date: Sun, 14 Feb 2021 23:24:49 +0800 Subject: [PATCH 140/291] Fix: less intrusive authorization (#1172) * Update db-to-cloud * Change: refactor sync logic, disallow implicit auth * Add: better relog message in options page * read prefs only when `ready` * show the internal error text in icon tooltip * show the internal error text in options fully Co-authored-by: tophf * Update _locales/en/messages.json Co-authored-by: Enrico Lamperti <910672+elamperti@users.noreply.github.com> --- _locales/en/messages.json | 3 + background/sync-manager.js | 81 ++++++++++++++------------- background/token-manager.js | 9 ++- options/options.css | 4 +- options/options.js | 19 ++++--- package-lock.json | 17 +++--- package.json | 2 +- vendor/db-to-cloud/README.md | 2 +- vendor/db-to-cloud/db-to-cloud.min.js | 2 +- 9 files changed, 73 insertions(+), 66 deletions(-) diff --git a/_locales/en/messages.json b/_locales/en/messages.json index c9fb1aa6..026c0b66 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1141,6 +1141,9 @@ "optionsSyncStatusDisconnected": { "message": "Disconnected" }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again." + }, "paginationCurrent": { "message": "Current page", "description": "Tooltip for the current page index in search results" diff --git a/background/sync-manager.js b/background/sync-manager.js index 3fbb72e6..d37df6c5 100644 --- a/background/sync-manager.js +++ b/background/sync-manager.js @@ -63,19 +63,19 @@ const syncMan = (() => { return status; }, - async login(name = prefs.get('sync.enabled')) { + async login(name) { if (ready.then) await ready; + if (!name) name = prefs.get('sync.enabled'); + await tokenMan.revokeToken(name); try { await tokenMan.getToken(name, true); + status.login = true; } catch (err) { - if (/Authorization page could not be loaded/i.test(err.message)) { - // FIXME: Chrome always fails at the first login so we try again - await tokenMan.getToken(name); - } + status.login = false; throw err; + } finally { + emitStatusChange(); } - status.login = true; - emitStatusChange(); }, async put(...args) { @@ -88,29 +88,32 @@ const syncMan = (() => { async start(name, fromPref = false) { if (ready.then) await ready; if (!ctrl) await initController(); + if (currentDrive) return; currentDrive = getDrive(name); ctrl.use(currentDrive); + status.state = STATES.connecting; status.currentDriveName = currentDrive.name; - status.login = true; emitStatusChange(); - try { - if (!fromPref) { - await syncMan.login(name).catch(handle401Error); - } - await syncMan.syncNow(); - status.errorMessage = null; - lastError = null; - } catch (err) { - status.errorMessage = err.message; - lastError = err; - // FIXME: should we move this logic to options.js? - if (!fromPref) { + + if (fromPref) { + status.login = true; + } else { + try { + await syncMan.login(name); + } catch (err) { console.error(err); + status.errorMessage = err.message; + lastError = err; + emitStatusChange(); return syncMan.stop(); } } + + await ctrl.init(); + + await syncMan.syncNow(name); prefs.set('sync.enabled', name); status.state = STATES.connected; schedule(SYNC_INTERVAL); @@ -124,7 +127,7 @@ const syncMan = (() => { status.state = STATES.disconnecting; emitStatusChange(); try { - await ctrl.stop(); + await ctrl.uninit(); await tokenMan.revokeToken(currentDrive.name); await chromeLocal.remove(STORAGE_KEY + currentDrive.name); } catch (e) {} @@ -138,14 +141,21 @@ const syncMan = (() => { async syncNow() { if (ready.then) await ready; - if (!currentDrive) throw new Error('cannot sync when disconnected'); + if (!currentDrive || !status.login) { + console.warn('cannot sync when disconnected'); + return; + } try { - await (ctrl.isInit() ? ctrl.syncNow() : ctrl.start()).catch(handle401Error); + await ctrl.syncNow(); status.errorMessage = null; lastError = null; } catch (err) { status.errorMessage = err.message; lastError = err; + + if (isGrantError(err)) { + status.login = false; + } } emitStatusChange(); }, @@ -192,21 +202,6 @@ const syncMan = (() => { }); } - async function handle401Error(err) { - let authError = false; - if (err.code === 401) { - await tokenMan.revokeToken(currentDrive.name).catch(console.error); - authError = true; - } else if (/User interaction required|Requires user interaction/i.test(err.message)) { - authError = true; - } - if (authError) { - status.login = false; - emitStatusChange(); - } - return Promise.reject(err); - } - function emitStatusChange() { msg.broadcastExtension({method: 'syncStatusUpdate', status}); iconMan.overrideBadge(getErrorBadge()); @@ -223,11 +218,17 @@ const syncMan = (() => { } function getErrorBadge() { - if (status.state === STATES.connected && lastError && !isNetworkError(lastError)) { + if (status.state === STATES.connected && + (!status.login || lastError && !isNetworkError(lastError))) { return { text: 'x', color: '#F00', - title: isGrantError(lastError) ? 'syncErrorRelogin' : 'syncError', + title: !status.login ? 'syncErrorRelogin' : `${ + chrome.i18n.getMessage('syncError') + }\n---------------------\n${ + // splitting to limit each line length + lastError.message.replace(/.{60,}?\s(?=.{30,})/g, '$&\n') + }`, }; } } diff --git a/background/token-manager.js b/background/token-manager.js index 4c2e7f0c..4aac046a 100644 --- a/background/token-manager.js +++ b/background/token-manager.js @@ -75,13 +75,12 @@ const tokenMan = (() => { return obj[k.TOKEN]; } if (obj[k.REFRESH]) { - try { - return await refreshToken(name, k, obj); - } catch (err) { - if (err.code !== 401) throw err; - } + return refreshToken(name, k, obj); } } + if (!interactive) { + throw new Error(`Invalid token: ${name}`); + } return authUser(name, k, interactive); }, diff --git a/options/options.css b/options/options.css index 7c70e536..656bf4e3 100644 --- a/options/options.css +++ b/options/options.css @@ -398,12 +398,10 @@ html:not(.firefox):not(.opera) #updates { } .sync-status { + width: 0; /* together with flex-grow makes it reuse the current width */ flex-grow: 1; padding-right: 8px; box-sizing: border-box; - white-space: nowrap; - overflow: hidden; - text-overflow: ellipsis; } .sync-status::first-letter { text-transform: uppercase; diff --git a/options/options.js b/options/options.js index b68e6deb..107c02fc 100644 --- a/options/options.js +++ b/options/options.js @@ -147,7 +147,7 @@ document.onclick = e => { [elCloud, isDisconnected], [elStart, isDisconnected && elCloud.value !== 'none'], [elStop, isConnected && !status.syncing], - [elSyncNow, isConnected && !status.syncing], + [elSyncNow, isConnected && !status.syncing && status.login], ]) { el.disabled = !enable; } @@ -156,19 +156,22 @@ document.onclick = e => { } function getStatusText() { - let res; if (status.syncing) { const {phase, loaded, total} = status.progress || {}; - res = phase + return phase ? t(`optionsSyncStatus${capitalize(phase)}`, [loaded + 1, total], false) || `${phase} ${loaded} / ${total}` : t('optionsSyncStatusSyncing'); - } else { - const {state, errorMessage, STATES} = status; - res = (state === STATES.connected || state === STATES.disconnected) && errorMessage || - t(`optionsSyncStatus${capitalize(state)}`, null, false) || state; } - return res; + + const {state, errorMessage, STATES} = status; + if (errorMessage && (state === STATES.connected || state === STATES.disconnected)) { + return errorMessage; + } + if (state === STATES.connected && !status.login) { + return t('optionsSyncStatusRelogin'); + } + return t(`optionsSyncStatus${capitalize(state)}`, null, false) || state; } })(); diff --git a/package-lock.json b/package-lock.json index 9fce00ac..20bee63a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "GPL-3.0-only", "dependencies": { "codemirror": "5.59.2", - "db-to-cloud": "^0.4.5", + "db-to-cloud": "^0.6.0", "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", "lz-string-unsafe": "^1.4.4-fork-1", @@ -2772,12 +2772,15 @@ } }, "node_modules/db-to-cloud": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/db-to-cloud/-/db-to-cloud-0.4.5.tgz", - "integrity": "sha512-3E5eYVIlZmX0ZRgSZ3WJF+lxs8eCFOJWruw8GLHbKDGK5tIZ13Bxsge+eFXbYBQUidzW7y3xuxD8MdpjDLY7eQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/db-to-cloud/-/db-to-cloud-0.6.0.tgz", + "integrity": "sha512-AbvxpU+fA3Fsdzu0OxL+cVPS9HwM6DzXFDg00WIQ3YeMkWs5saMXpiXMfISlkpBUwm5Cbr4W7cfhYszu38BzSw==", "dependencies": { "@eight04/read-write-lock": "^0.1.0", "universal-base64": "^2.1.0" + }, + "engines": { + "node": ">=8" } }, "node_modules/debounce": { @@ -14299,9 +14302,9 @@ } }, "db-to-cloud": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/db-to-cloud/-/db-to-cloud-0.4.5.tgz", - "integrity": "sha512-3E5eYVIlZmX0ZRgSZ3WJF+lxs8eCFOJWruw8GLHbKDGK5tIZ13Bxsge+eFXbYBQUidzW7y3xuxD8MdpjDLY7eQ==", + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/db-to-cloud/-/db-to-cloud-0.6.0.tgz", + "integrity": "sha512-AbvxpU+fA3Fsdzu0OxL+cVPS9HwM6DzXFDg00WIQ3YeMkWs5saMXpiXMfISlkpBUwm5Cbr4W7cfhYszu38BzSw==", "requires": { "@eight04/read-write-lock": "^0.1.0", "universal-base64": "^2.1.0" diff --git a/package.json b/package.json index f7d0d447..43718d74 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,7 @@ "author": "Stylus Team", "dependencies": { "codemirror": "5.59.2", - "db-to-cloud": "^0.4.5", + "db-to-cloud": "^0.6.0", "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", "lz-string-unsafe": "^1.4.4-fork-1", diff --git a/vendor/db-to-cloud/README.md b/vendor/db-to-cloud/README.md index bab08836..fed55581 100644 --- a/vendor/db-to-cloud/README.md +++ b/vendor/db-to-cloud/README.md @@ -1,4 +1,4 @@ -## db-to-cloud v0.4.5 +## db-to-cloud v0.6.0 Following files are copied from npm (node_modules): diff --git a/vendor/db-to-cloud/db-to-cloud.min.js b/vendor/db-to-cloud/db-to-cloud.min.js index ca1f42bf..6d46dcfe 100644 --- a/vendor/db-to-cloud/db-to-cloud.min.js +++ b/vendor/db-to-cloud/db-to-cloud.min.js @@ -1,2 +1,2 @@ -var dbToCloud=function(t){"use strict";function e(t,e,n,o,r,i,c){try{var a=t[i](c),l=a.value}catch(t){return void n(t)}a.done?e(l):Promise.resolve(l).then(o,r)}function n(t){return function(){var n=this,o=arguments;return new Promise((function(r,i){var c=t.apply(n,o);function a(t){e(c,r,i,a,l,"next",t)}function l(t){e(c,r,i,a,l,"throw",t)}a(void 0)}))}}function o(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function r(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(t);e&&(o=o.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,o)}return n}function i(t){for(var e=1;e=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if(!(Symbol.iterator in Object(t)||"[object Arguments]"===Object.prototype.toString.call(t)))return;var n=[],o=!0,r=!1,i=void 0;try{for(var c,a=t[Symbol.iterator]();!(o=(c=a.next()).done)&&(n.push(c.value),!e||n.length!==e);o=!0);}catch(t){r=!0,i=t}finally{try{o||null==a.return||a.return()}finally{if(r)throw i}}return n}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}function l({maxActiveReader:t=1/0}={}){let e,n,o=0;const r={read:t=>i(t,!1),write:t=>i(t,!0),length:0};return r;function i(i,a){const l=function({fn:t,block:e=!1,prev:n,next:o,q:r=c(),q2:i=(t.length?c():null)}){return{fn:t,block:e,prev:n,next:o,q:r,q2:i}}({fn:i,block:a});return n?(n.next=l,l.prev=n,n=l,e||(e=n)):e=n=l,r.length++,function i(){const c=e;if(!c||c.block&&c.prev||c.prev&&c.prev.block||o>=t)return;c.block||o++;e=c.next;let a;try{a=c.fn(c.q2&&c.q2.resolve)}catch(t){return c.q.reject(t),void l()}c.q2&&c.q2.promise.then(s);if(a&&a.then){const t=a.then(c.q.resolve,c.q.reject);c.q2||t.then(l)}else if(c.q.resolve(a),!c.q2)return void l();i();function l(){s()}function s(t){c.prev&&(c.prev.next=c.next),c.next&&(c.next.prev=c.prev),n===c&&(n=c.prev),c.block||o--,r.length--,t&&t(),i()}}(),l.q.promise}function c(){const t={};return t.promise=new Promise((e,n)=>{t.resolve=e,t.reject=n}),t}}function s(t){let e,n=0;return()=>(n&&clearTimeout(n),n=setTimeout(o),e||(e=function(){const t={};return t.promise=new Promise((e,n)=>{t.resolve=e,t.reject=n}),t}()),e.promise);function o(){Promise.resolve(t()).then(e.resolve,e.reject),n=0,e=null}}const u={};function p(t){return String.fromCharCode(parseInt(t.slice(1),16))}function f(t){return"%".concat("00".concat(t.charCodeAt(0).toString(16)).slice(-2))}Object.defineProperty(u,"__esModule",{value:!0}),u.encode=function(t){return btoa(encodeURIComponent(t).replace(/%[0-9A-F]{2}/g,p))},u.decode=function(t){return decodeURIComponent(Array.from(atob(t),f).join(""))};class d extends Error{constructor(t,e,n=e&&e.status){super(t),this.code=n,this.origin=e,Error.captureStackTrace&&Error.captureStackTrace(this,d)}}function h(t){return new Promise(e=>setTimeout(e,t))}function y({fetch:t,cooldown:e=0,getAccessToken:o}){const r=l();return t=>r.write(function(){var o=n((function*(n){try{return yield function(t){return a.apply(this,arguments)}(t)}finally{e&&t.method&&"GET"!==t.method?setTimeout(n,e):n()}}));return function(t){return o.apply(this,arguments)}}());function a(){return(a=n((function*(e){let n=e.path,r=e.contentType,a=e.headers,l=e.format,s=c(e,["path","contentType","headers","format"]);const u={Authorization:"Bearer ".concat(yield o())};for(r&&(u["Content-Type"]=r),Object.assign(u,a);;){const e=yield t(n,i({headers:u},s));if(!e.ok){const t=e.headers.get("Retry-After");if(t){const e=Number(t);if(e){yield h(1e3*e);continue}}const n=yield e.text();throw new d("failed to fetch [".concat(e.status,"]: ").concat(n),e)}if(l)return yield e[l]();const o=e.headers.get("Content-Type");return/application\/json/.test(o)?yield e.json():yield e.text()}}))).apply(this,arguments)}}var g=Object.freeze({fsDrive:()=>{},github:function({userAgent:t="db-to-cloud",owner:e,repo:o,getAccessToken:r,fetch:i=("undefined"!=typeof self?self:global).fetch}){const c=y({fetch:i,getAccessToken:r,cooldown:1e3}),a=new Map;return{name:"github",get:p,put:d,post:function(t,e){return d(t,e,!1)},delete:function(t){return g.apply(this,arguments)},list:function(t){return s.apply(this,arguments)},shaCache:a};function l(e){return e.headers||(e.headers={}),e.headers["User-Agent"]||(e.headers["User-Agent"]=t),e.headers.Accept||(e.headers.Accept="application/vnd.github.v3+json"),e.path="https://api.github.com".concat(e.path),c(e)}function s(){return(s=n((function*(t){const n=yield l({path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t)}),r=[];var i=!0,c=!1,s=void 0;try{for(var u,p=n[Symbol.iterator]();!(i=(u=p.next()).done);i=!0){const t=u.value;r.push(t.name),a.set(t.path,t.sha)}}catch(t){c=!0,s=t}finally{try{i||null==p.return||p.return()}finally{if(c)throw s}}return r}))).apply(this,arguments)}function p(t){return f.apply(this,arguments)}function f(){return(f=n((function*(t){const n=yield l({path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t)});return a.set(n.path,n.sha),u.decode(n.content)}))).apply(this,arguments)}function d(t,e){return h.apply(this,arguments)}function h(){return(h=n((function*(t,n,r=!0){const i={message:"",content:u.encode(n)};r&&a.has(t)&&(i.sha=a.get(t));const c={method:"PUT",path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t),contentType:"application/json",body:JSON.stringify(i)};let s,f=!1;for(;!s;){try{s=yield l(c)}catch(e){if(422!==e.code||!e.message.includes('\\"sha\\" wasn\'t supplied'))throw e;if(!r||f)throw e.code="EEXIST",e;yield p(t)}f=!0}a.set(t,s.content.sha)}))).apply(this,arguments)}function g(){return(g=n((function*(t){try{let n=a.get(t);n||(yield p(t),n=a.get(t)),yield l({method:"DELETE",path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t),body:JSON.stringify({message:"",sha:n})})}catch(t){if(404===t.code)return;throw t}}))).apply(this,arguments)}},dropbox:function({getAccessToken:t,fetch:e=("undefined"!=typeof self?self:global).fetch}){const o=y({fetch:e,getAccessToken:t});return{name:"dropbox",get:function(t){return s.apply(this,arguments)},put:u,post:function(t,e){return f.apply(this,arguments)},delete:function(t){return d.apply(this,arguments)},list:function(t){return a.apply(this,arguments)}};function r(t){let e=t.path,n=t.body,r=c(t,["path","body"]);return o(i({method:"POST",path:"https://api.dropboxapi.com/2/".concat(e),contentType:"application/json",body:JSON.stringify(n)},r))}function a(){return(a=n((function*(t){const e=[];let n=yield r({path:"files/list_folder",body:{path:"/".concat(t)}});var o=!0,i=!1,c=void 0;try{for(var a,l=n.entries[Symbol.iterator]();!(o=(a=l.next()).done);o=!0){const t=a.value;e.push(t.name)}}catch(t){i=!0,c=t}finally{try{o||null==l.return||l.return()}finally{if(i)throw c}}if(!n.has_more)return e;for(;n.has_more;){n=yield r({path:"files/list_folder/continue",body:{cursor:n.cursor}});var s=!0,u=!1,p=void 0;try{for(var f,d=n.entries[Symbol.iterator]();!(s=(f=d.next()).done);s=!0){const t=f.value;e.push(t.name)}}catch(t){u=!0,p=t}finally{try{s||null==d.return||d.return()}finally{if(u)throw p}}}return e}))).apply(this,arguments)}function l(t){const e=new URLSearchParams;return e.set("arg",JSON.stringify(t)),e.toString()}function s(){return(s=n((function*(t){const e={path:"/".concat(t)};try{return yield o({path:"https://content.dropboxapi.com/2/files/download?".concat(l(e)),format:"text"})}catch(t){throw 409===t.code&&t.message.includes("not_found")&&(t.code="ENOENT"),t}}))).apply(this,arguments)}function u(t,e){return p.apply(this,arguments)}function p(){return(p=n((function*(t,e,n="overwrite"){const r={path:"/".concat(t),mode:n,autorename:!1};yield o({path:"https://content.dropboxapi.com/2/files/upload?".concat(l(r)),method:"POST",contentType:"application/octet-stream",body:e})}))).apply(this,arguments)}function f(){return(f=n((function*(t,e){try{return yield u(t,e,"add")}catch(t){throw 409===t.code&&t.message.includes("conflict")&&(t.code="EEXIST"),t}}))).apply(this,arguments)}function d(){return(d=n((function*(t){try{yield r({path:"files/delete_v2",body:{path:"/".concat(t)}})}catch(t){if(409===t.code&&t.message.includes("not_found"))return;throw t}}))).apply(this,arguments)}},onedrive:function({getAccessToken:t,fetch:e=("undefined"!=typeof self?self:global).fetch}){const o=y({fetch:e,getAccessToken:t});return{name:"onedrive",get:function(t){return a.apply(this,arguments)},put:function(t,e){return l.apply(this,arguments)},post:function(t,e){return s.apply(this,arguments)},delete:function(t){return u.apply(this,arguments)},list:function(t){return c.apply(this,arguments)}};function r(t){return i.apply(this,arguments)}function i(){return(i=n((function*(t){return t.path="https://graph.microsoft.com/v1.0/me/drive/special/approot".concat(t.path),yield o(t)}))).apply(this,arguments)}function c(){return(c=n((function*(t){t&&(t=":/".concat(t,":"));let e=yield r({path:"".concat(t,"/children?select=name")}),n=e.value.map(t=>t.name);for(;e["@odata.nextLink"];)e=yield o({path:e["@odata.nextLink"]}),n=n.concat(e.value.map(t=>t.name));return n}))).apply(this,arguments)}function a(){return(a=n((function*(t){return yield r({path:":/".concat(t,":/content"),format:"text"})}))).apply(this,arguments)}function l(){return(l=n((function*(t,e){yield r({method:"PUT",path:":/".concat(t,":/content"),headers:{"Content-Type":"text/plain"},body:e})}))).apply(this,arguments)}function s(){return(s=n((function*(t,e){try{yield r({method:"PUT",path:":/".concat(t,":/content?@microsoft.graph.conflictBehavior=fail"),headers:{"Content-Type":"text/plain"},body:e})}catch(t){throw 409===t.code&&t.message.includes("nameAlreadyExists")&&(t.code="EEXIST"),t}}))).apply(this,arguments)}function u(){return(u=n((function*(t){try{yield r({method:"DELETE",path:":/".concat(t,":")})}catch(t){if(404===t.code)return;throw t}}))).apply(this,arguments)}},google:function({getAccessToken:t,fetch:e=("undefined"!=typeof self?self:global).fetch,FormData:o=("undefined"!=typeof self?self:global).FormData,Blob:r=("undefined"!=typeof self?self:global).Blob}){const i=y({fetch:e,getAccessToken:t}),c=new Map;let a;return{name:"google",get:function(t){return T.apply(this,arguments)},put:function(t,e){return j.apply(this,arguments)},post:k,delete:function(t){return x.apply(this,arguments)},list:function(t){return b.apply(this,arguments)},init:function(){return w.apply(this,arguments)},acquireLock:function(t){return u.apply(this,arguments)},releaseLock:function(){return p.apply(this,arguments)},fileMetaCache:c};function l(t,e){return s.apply(this,arguments)}function s(){return(s=n((function*(t,e){yield i({method:"DELETE",path:"https://www.googleapis.com/drive/v3/files/".concat(t,"/revisions/").concat(e)})}))).apply(this,arguments)}function u(){return(u=n((function*(t){const e=c.get("lock.json"),n=(yield h(e.id,JSON.stringify({expire:Date.now()+60*t*1e3}))).headRevisionId,o=yield i({path:"https://www.googleapis.com/drive/v3/files/".concat(e.id,"/revisions?fields=revisions(id)")});for(let t=1;tDate.now())throw yield l(e.id,n),new d("failed to acquire lock",null,"EEXIST");yield l(e.id,r)}throw new Error("cannot find lock revision")}))).apply(this,arguments)}function p(){return(p=n((function*(){const t=c.get("lock.json");yield l(t.id,a),a=null}))).apply(this,arguments)}function f(){return(f=n((function*(t,e){t="https://www.googleapis.com/drive/v3/files?spaces=appDataFolder&fields=nextPageToken,files(id,name,headRevisionId)"+(t?"&"+t:"");let n=yield i({path:t});for(e(n);n.nextPageToken;)e(n=yield i({path:"".concat(t,"&pageToken=").concat(n.nextPageToken)}))}))).apply(this,arguments)}function h(t,e){return g.apply(this,arguments)}function g(){return(g=n((function*(t,e){return yield i({method:"PATCH",path:"https://www.googleapis.com/upload/drive/v3/files/".concat(t,"?uploadType=media&fields=headRevisionId"),headers:{"Content-Type":"text/plain"},body:e})}))).apply(this,arguments)}function v(t){return m.apply(this,arguments)}function m(){return(m=n((function*(t){t&&(t="q=".concat(encodeURIComponent(t))),yield function(t,e){return f.apply(this,arguments)}(t,t=>{var e=!0,n=!1,o=void 0;try{for(var r,i=t.files[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){const t=r.value;c.set(t.name,t)}}catch(t){n=!0,o=t}finally{try{e||null==i.return||i.return()}finally{if(n)throw o}}})}))).apply(this,arguments)}function w(){return(w=n((function*(){yield v(),c.has("lock.json")||(yield k("lock.json","{}")),c.has("meta.json")||(yield k("meta.json","{}"))}))).apply(this,arguments)}function b(){return(b=n((function*(t){return[...c.values()].filter(e=>e.name.startsWith(t+"/")).map(t=>t.name.split("/")[1])}))).apply(this,arguments)}function T(){return(T=n((function*(t){let e=c.get(t);if(!(e||(yield v("name = '".concat(t,"'")),e=c.get(t))))throw new d("metaCache doesn't contain ".concat(t),null,"ENOENT");try{return yield i({path:"https://www.googleapis.com/drive/v3/files/".concat(e.id,"?alt=media")})}catch(t){throw 404===t.code&&(t.code="ENOENT"),t}}))).apply(this,arguments)}function j(){return(j=n((function*(t,e){if(!c.has(t))return yield k(t,e);const n=c.get(t),o=yield h(n.id,e);n.headRevisionId=o.headRevisionId}))).apply(this,arguments)}function k(t,e){return O.apply(this,arguments)}function O(){return(O=n((function*(t,e){const n=new o,a={name:t,parents:["appDataFolder"]};n.append("metadata",new r([JSON.stringify(a)],{type:"application/json; charset=UTF-8"})),n.append("media",new r([e],{type:"text/plain"}));const l=yield i({method:"POST",path:"https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&fields=id,name,headRevisionId",body:n});c.set(l.name,l)}))).apply(this,arguments)}function x(){return(x=n((function*(t){const e=c.get(t);if(e)try{yield i({method:"DELETE",path:"https://www.googleapis.com/drive/v3/files/".concat(e.id)})}catch(t){if(404===t.code)return;throw t}}))).apply(this,arguments)}}});return t.dbToCloud=function({onGet:t,onPut:e,onDelete:o,onFirstSync:r,onWarn:i=console.error,onProgress:c,compareRevision:u,getState:p,setState:f,lockExpire:d=60}){let h,y,g;const v=new Map,m=s(()=>f(h,y)),w=new Map,b=l();return{use:function(t){h=function(t){const e=Object.create(t);return e.get=function(){var e=n((function*(e){return JSON.parse(yield t.get(e))}));return function(t){return e.apply(this,arguments)}}(),e.put=function(){var e=n((function*(e,n){return yield t.put(e,JSON.stringify(n))}));return function(t,n){return e.apply(this,arguments)}}(),e.post=function(){var e=n((function*(e,n){return yield t.post(e,JSON.stringify(n))}));return function(t,n){return e.apply(this,arguments)}}(),e.acquireLock||(e.acquireLock=function(t){return o.apply(this,arguments)},e.releaseLock=function(){return r.apply(this,arguments)}),e.getMeta||(e.getMeta=function(){return i.apply(this,arguments)},e.putMeta=function(t){return c.apply(this,arguments)}),e.peekChanges||(e.peekChanges=function(t){return a.apply(this,arguments)}),e;function o(){return(o=n((function*(t){try{yield this.post("lock.json",{expire:Date.now()+60*t*1e3})}catch(t){if("EEXIST"===t.code){const t=yield this.get("lock.json");Date.now()>t.expire&&(yield this.delete("lock.json"))}throw t}}))).apply(this,arguments)}function r(){return(r=n((function*(){yield this.delete("lock.json")}))).apply(this,arguments)}function i(){return(i=n((function*(){try{return yield this.get("meta.json")}catch(t){if("ENOENT"===t.code||404===t.code)return{};throw t}}))).apply(this,arguments)}function c(){return(c=n((function*(t){yield this.put("meta.json",t)}))).apply(this,arguments)}function a(){return(a=n((function*(t){return(yield this.getMeta()).lastChange!==t.lastChange}))).apply(this,arguments)}}(t)},start:function(){return b.write(n((function*(){if(!y||!y.enabled){if(!h)throw new Error("cloud drive is undefined");h.init&&(yield h.init()),(y=(yield p(h))||{}).enabled=!0,y.queue||(y.queue=[]),null==y.lastChange&&(yield r()),yield O()}})))},stop:function(){return b.write(n((function*(){y&&y.enabled&&(y=g=null,v.clear(),w.clear(),h.uninit&&(yield h.uninit()),yield m())})))},put:function(t,e){if(!y||!y.enabled)return;y.queue.push({_id:t,_rev:e,action:"put"}),m()},delete:function(t,e){if(!y||!y.enabled)return;y.queue.push({_id:t,_rev:e,action:"delete"}),m()},syncNow:function(t){return b.write(n((function*(){if(!y||!y.enabled)throw new Error("Cannot sync now, the sync is not enabled");yield O(t)})))},drive:()=>h,isInit:()=>Boolean(y&&y.enabled)};function T(){return(T=n((function*(){if(!(g=yield h.getMeta()).lastChange||g.lastChange===y.lastChange)return;let t=[];if(y.lastChange){const e=Math.floor((g.lastChange-1)/100);let n=Math.floor(y.lastChange/100);for(;n<=e;){const e=yield h.get("changes/".concat(n,".json"));v.set(n,e),t=t.concat(e),n++}t=t.slice(y.lastChange%100)}else t=(yield h.list("docs")).map(t=>({action:"put",_id:t.slice(0,-5)}));const n=new Map;var r=!0,l=!1,s=void 0;try{for(var u,p=t[Symbol.iterator]();!(r=(u=p.next()).done);r=!0){const t=u.value;n.set(t._id,t)}}catch(t){l=!0,s=t}finally{try{r||null==p.return||p.return()}finally{if(l)throw s}}let f=0;var d=!0,b=!1,T=void 0;try{for(var j,k=n[Symbol.iterator]();!(d=(j=k.next()).done);d=!0){const t=a(j.value,2),r=t[0],l=t[1];let s,u;if(c&&c({phase:"pull",total:n.size,loaded:f,change:l}),"delete"===l.action)yield o(r,l._rev);else if("put"===l.action){try{var O=yield h.get("docs/".concat(r,".json"));s=O.doc,u=O._rev}catch(t){if("ENOENT"===t.code||404===t.code){i("Cannot find ".concat(r,". Is it deleted without updating the history?")),f++;continue}throw t}yield e(s)}const p=l._rev||u;p&&w.set(r,p),f++}}catch(t){b=!0,T=t}finally{try{d||null==k.return||k.return()}finally{if(b)throw T}}y.lastChange=g.lastChange,yield m()}))).apply(this,arguments)}function j(){return(j=n((function*(){if(!y.queue.length)return;const e=y.queue.slice(),n=new Map;var o=!0,r=!1,i=void 0;try{for(var a,l=e[Symbol.iterator]();!(o=(a=l.next()).done);o=!0){const t=a.value;n.set(t._id,t)}}catch(t){r=!0,i=t}finally{try{o||null==l.return||l.return()}finally{if(r)throw i}}const s=[];var p=!0,f=!1,d=void 0;try{for(var b,T=n.values()[Symbol.iterator]();!(p=(b=T.next()).done);p=!0){const t=b.value,e=w.get(t._id);void 0!==e&&u(t._rev,e)<=0||s.push(t)}}catch(t){f=!0,d=t}finally{try{p||null==T.return||T.return()}finally{if(f)throw d}}let j,k,O=0;for(var x=0,E=s;x=0||(r[n]=t[n]);return r}(t,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function a(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(t)))return;var n=[],o=!0,r=!1,i=void 0;try{for(var c,a=t[Symbol.iterator]();!(o=(c=a.next()).done)&&(n.push(c.value),!e||n.length!==e);o=!0);}catch(t){r=!0,i=t}finally{try{o||null==a.return||a.return()}finally{if(r)throw i}}return n}(t,e)||s(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(t,e){if(t){if("string"==typeof t)return l(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(t):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?l(t,e):void 0}}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,o=new Array(e);n=t.length?{done:!0}:{done:!1,value:t[o++]}},e:function(t){throw t},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,c=!0,a=!1;return{s:function(){n=t[Symbol.iterator]()},n:function(){var t=n.next();return c=t.done,t},e:function(t){a=!0,i=t},f:function(){try{c||null==n.return||n.return()}finally{if(a)throw i}}}}function p({maxActiveReader:t=1/0}={}){let e,n,o=0;const r={read:t=>i(t,!1),write:t=>i(t,!0),length:0};return r;function i(t,o){const i=function({fn:t,block:e=!1,prev:n,next:o,q:r=c(),q2:i=(t.length?c():null)}){return{fn:t,block:e,prev:n,next:o,q:r,q2:i}}({fn:t,block:o});return n?(n.next=i,i.prev=n,n=i,e||(e=n)):e=n=i,r.length++,a(),i.q.promise}function c(){const t={};return t.promise=new Promise(((e,n)=>{t.resolve=e,t.reject=n})),t}function a(){const i=e;if(!i||i.block&&i.prev||i.prev&&i.prev.block||o>=t)return;let c;i.block||o++,e=i.next;try{c=i.fn(i.q2&&i.q2.resolve)}catch(t){return i.q.reject(t),void s()}if(i.q2&&i.q2.promise.then(l),c&&c.then){const t=c.then(i.q.resolve,i.q.reject);i.q2||t.then(s)}else if(i.q.resolve(c),!i.q2)return void s();function s(){l()}function l(t){i.prev&&(i.prev.next=i.next),i.next&&(i.next.prev=i.prev),n===i&&(n=i.prev),i.block||o--,r.length--,t&&t(),a()}a()}}function f(t){let e,n=0;return()=>(n&&clearTimeout(n),n=setTimeout(o),e||(e=function(){const t={};return t.promise=new Promise(((e,n)=>{t.resolve=e,t.reject=n})),t}()),e.promise);function o(){Promise.resolve(t()).then(e.resolve,e.reject),n=0,e=null}}const d={};function h(t){return String.fromCharCode(parseInt(t.slice(1),16))}function y(t){return"%".concat("00".concat(t.charCodeAt(0).toString(16)).slice(-2))}Object.defineProperty(d,"__esModule",{value:!0}),d.encode=function(t){return btoa(encodeURIComponent(t).replace(/%[0-9A-F]{2}/g,h))},d.decode=function(t){return decodeURIComponent(Array.from(atob(t),y).join(""))};class g extends Error{constructor(t,e,n=e&&e.status){super(t),this.code=n,this.origin=e,Error.captureStackTrace&&Error.captureStackTrace(this,g)}}function v(t){return new Promise((e=>setTimeout(e,t)))}function m({fetch:t,cooldown:e=0,getAccessToken:o}){const r=p();return t=>r.write(function(){var o=n((function*(n){try{return yield function(t){return a.apply(this,arguments)}(t)}finally{e&&t.method&&"GET"!==t.method?setTimeout(n,e):n()}}));return function(t){return o.apply(this,arguments)}}());function a(){return(a=n((function*(e){let n=e.path,r=e.contentType,a=e.headers,s=e.format,l=c(e,["path","contentType","headers","format"]);const u={Authorization:"Bearer ".concat(yield o())};for(r&&(u["Content-Type"]=r),Object.assign(u,a);;){const e=yield t(n,i({headers:u},l));if(!e.ok){const t=e.headers.get("Retry-After");if(t){const e=Number(t);if(e){yield v(1e3*e);continue}}const n=yield e.text();throw new g("failed to fetch [".concat(e.status,"]: ").concat(n),e)}if(s)return yield e[s]();const o=e.headers.get("Content-Type");return/application\/json/.test(o)?yield e.json():yield e.text()}}))).apply(this,arguments)}}var b=Object.freeze({__proto__:null,fsDrive:()=>{},github:function({userAgent:t="db-to-cloud",owner:e,repo:o,getAccessToken:r,fetch:i=("undefined"!=typeof self?self:global).fetch}){const c=m({fetch:i,getAccessToken:r,cooldown:1e3}),a=new Map;return{name:"github",get:p,put:h,post:function(t,e){return h(t,e,!1)},delete:function(t){return g.apply(this,arguments)},list:function(t){return l.apply(this,arguments)},shaCache:a};function s(e){return e.headers||(e.headers={}),e.headers["User-Agent"]||(e.headers["User-Agent"]=t),e.headers.Accept||(e.headers.Accept="application/vnd.github.v3+json"),e.path="https://api.github.com".concat(e.path),c(e)}function l(){return(l=n((function*(t){const n=[];var r,i=u(yield s({path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t)}));try{for(i.s();!(r=i.n()).done;){const t=r.value;n.push(t.name),a.set(t.path,t.sha)}}catch(t){i.e(t)}finally{i.f()}return n}))).apply(this,arguments)}function p(t){return f.apply(this,arguments)}function f(){return(f=n((function*(t){const n=yield s({path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t)});return a.set(n.path,n.sha),d.decode(n.content)}))).apply(this,arguments)}function h(t,e){return y.apply(this,arguments)}function y(){return(y=n((function*(t,n,r=!0){const i={message:"",content:d.encode(n)};r&&a.has(t)&&(i.sha=a.get(t));const c={method:"PUT",path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t),contentType:"application/json",body:JSON.stringify(i)};let l,u=!1;for(;!l;){try{l=yield s(c)}catch(e){if(422!==e.code||!e.message.includes('\\"sha\\" wasn\'t supplied'))throw e;if(!r||u)throw e.code="EEXIST",e;yield p(t)}u=!0}a.set(t,l.content.sha)}))).apply(this,arguments)}function g(){return(g=n((function*(t){try{let n=a.get(t);n||(yield p(t),n=a.get(t)),yield s({method:"DELETE",path:"/repos/".concat(e,"/").concat(o,"/contents/").concat(t),body:JSON.stringify({message:"",sha:n})})}catch(t){if(404===t.code)return;throw t}}))).apply(this,arguments)}},dropbox:function({getAccessToken:t,fetch:e=("undefined"!=typeof self?self:global).fetch}){const o=m({fetch:e,getAccessToken:t});return{name:"dropbox",get:function(t){return l.apply(this,arguments)},put:p,post:function(t,e){return d.apply(this,arguments)},delete:function(t){return h.apply(this,arguments)},list:function(t){return a.apply(this,arguments)}};function r(t){let e=t.path,n=t.body,r=c(t,["path","body"]);return o(i({method:"POST",path:"https://api.dropboxapi.com/2/".concat(e),contentType:"application/json",body:JSON.stringify(n)},r))}function a(){return(a=n((function*(t){const e=[];let n=yield r({path:"files/list_folder",body:{path:"/".concat(t)}});var o,i=u(n.entries);try{for(i.s();!(o=i.n()).done;){const t=o.value;e.push(t.name)}}catch(t){i.e(t)}finally{i.f()}if(!n.has_more)return e;for(;n.has_more;){n=yield r({path:"files/list_folder/continue",body:{cursor:n.cursor}});var c,a=u(n.entries);try{for(a.s();!(c=a.n()).done;){const t=c.value;e.push(t.name)}}catch(t){a.e(t)}finally{a.f()}}return e}))).apply(this,arguments)}function s(t){const e=new URLSearchParams;return e.set("arg",JSON.stringify(t)),e.toString()}function l(){return(l=n((function*(t){const e={path:"/".concat(t)};try{return yield o({path:"https://content.dropboxapi.com/2/files/download?".concat(s(e)),format:"text"})}catch(t){throw 409===t.code&&t.message.includes("not_found")&&(t.code="ENOENT"),t}}))).apply(this,arguments)}function p(t,e){return f.apply(this,arguments)}function f(){return(f=n((function*(t,e,n="overwrite"){const r={path:"/".concat(t),mode:n,autorename:!1,mute:!0};yield o({path:"https://content.dropboxapi.com/2/files/upload?".concat(s(r)),method:"POST",contentType:"application/octet-stream",body:e})}))).apply(this,arguments)}function d(){return(d=n((function*(t,e){try{return yield p(t,e,"add")}catch(t){throw 409===t.code&&t.message.includes("conflict")&&(t.code="EEXIST"),t}}))).apply(this,arguments)}function h(){return(h=n((function*(t){try{yield r({path:"files/delete_v2",body:{path:"/".concat(t)}})}catch(t){if(409===t.code&&t.message.includes("not_found"))return;throw t}}))).apply(this,arguments)}},onedrive:function({getAccessToken:t,fetch:e=("undefined"!=typeof self?self:global).fetch}){const o=m({fetch:e,getAccessToken:t});return{name:"onedrive",get:function(t){return a.apply(this,arguments)},put:function(t,e){return s.apply(this,arguments)},post:function(t,e){return l.apply(this,arguments)},delete:function(t){return u.apply(this,arguments)},list:function(t){return c.apply(this,arguments)}};function r(t){return i.apply(this,arguments)}function i(){return(i=n((function*(t){return t.path="https://graph.microsoft.com/v1.0/me/drive/special/approot".concat(t.path),yield o(t)}))).apply(this,arguments)}function c(){return(c=n((function*(t){t&&(t=":/".concat(t,":"));let e=yield r({path:"".concat(t,"/children?select=name")}),n=e.value.map((t=>t.name));for(;e["@odata.nextLink"];)e=yield o({path:e["@odata.nextLink"]}),n=n.concat(e.value.map((t=>t.name)));return n}))).apply(this,arguments)}function a(){return(a=n((function*(t){return yield r({path:":/".concat(t,":/content"),format:"text"})}))).apply(this,arguments)}function s(){return(s=n((function*(t,e){yield r({method:"PUT",path:":/".concat(t,":/content"),headers:{"Content-Type":"text/plain"},body:e})}))).apply(this,arguments)}function l(){return(l=n((function*(t,e){try{yield r({method:"PUT",path:":/".concat(t,":/content?@microsoft.graph.conflictBehavior=fail"),headers:{"Content-Type":"text/plain"},body:e})}catch(t){throw 409===t.code&&t.message.includes("nameAlreadyExists")&&(t.code="EEXIST"),t}}))).apply(this,arguments)}function u(){return(u=n((function*(t){try{yield r({method:"DELETE",path:":/".concat(t,":")})}catch(t){if(404===t.code)return;throw t}}))).apply(this,arguments)}},google:function({getAccessToken:t,fetch:e=("undefined"!=typeof self?self:global).fetch,FormData:o=("undefined"!=typeof self?self:global).FormData,Blob:r=("undefined"!=typeof self?self:global).Blob}){const i=m({fetch:e,getAccessToken:t}),c=new Map;let a;return{name:"google",get:function(t){return O.apply(this,arguments)},put:function(t,e){return k.apply(this,arguments)},post:E,delete:function(t){return S.apply(this,arguments)},list:function(t){return j.apply(this,arguments)},init:function(){return T.apply(this,arguments)},acquireLock:function(t){return p.apply(this,arguments)},releaseLock:function(){return f.apply(this,arguments)},fileMetaCache:c};function s(t,e){return l.apply(this,arguments)}function l(){return(l=n((function*(t,e){yield i({method:"DELETE",path:"https://www.googleapis.com/drive/v3/files/".concat(t,"/revisions/").concat(e)})}))).apply(this,arguments)}function p(){return(p=n((function*(t){const e=c.get("lock.json"),n=(yield y(e.id,JSON.stringify({expire:Date.now()+60*t*1e3}))).headRevisionId,o=yield i({path:"https://www.googleapis.com/drive/v3/files/".concat(e.id,"/revisions?fields=revisions(id)")});for(let t=1;tDate.now())throw yield s(e.id,n),new g("failed to acquire lock",null,"EEXIST");yield s(e.id,r)}throw new Error("cannot find lock revision")}))).apply(this,arguments)}function f(){return(f=n((function*(){const t=c.get("lock.json");yield s(t.id,a),a=null}))).apply(this,arguments)}function d(t,e){return h.apply(this,arguments)}function h(){return(h=n((function*(t,e){t="https://www.googleapis.com/drive/v3/files?spaces=appDataFolder&fields=nextPageToken,files(id,name,headRevisionId)"+(t?"&"+t:"");let n=yield i({path:t});for(e(n);n.nextPageToken;)n=yield i({path:"".concat(t,"&pageToken=").concat(n.nextPageToken)}),e(n)}))).apply(this,arguments)}function y(t,e){return v.apply(this,arguments)}function v(){return(v=n((function*(t,e){return yield i({method:"PATCH",path:"https://www.googleapis.com/upload/drive/v3/files/".concat(t,"?uploadType=media&fields=headRevisionId"),headers:{"Content-Type":"text/plain"},body:e})}))).apply(this,arguments)}function b(t){return w.apply(this,arguments)}function w(){return(w=n((function*(t){t&&(t="q=".concat(encodeURIComponent(t))),yield d(t,(t=>{var e,n=u(t.files);try{for(n.s();!(e=n.n()).done;){const t=e.value;c.set(t.name,t)}}catch(t){n.e(t)}finally{n.f()}}))}))).apply(this,arguments)}function T(){return(T=n((function*(){yield b(),c.has("lock.json")||(yield E("lock.json","{}")),c.has("meta.json")||(yield E("meta.json","{}"))}))).apply(this,arguments)}function j(){return(j=n((function*(t){return[...c.values()].filter((e=>e.name.startsWith(t+"/"))).map((t=>t.name.split("/")[1]))}))).apply(this,arguments)}function O(){return(O=n((function*(t){let e=c.get(t);if(!e&&(yield b("name = '".concat(t,"'")),e=c.get(t),!e))throw new g("metaCache doesn't contain ".concat(t),null,"ENOENT");try{return yield i({path:"https://www.googleapis.com/drive/v3/files/".concat(e.id,"?alt=media")})}catch(t){throw 404===t.code&&(t.code="ENOENT"),t}}))).apply(this,arguments)}function k(){return(k=n((function*(t,e){if(!c.has(t))return yield E(t,e);const n=c.get(t),o=yield y(n.id,e);n.headRevisionId=o.headRevisionId}))).apply(this,arguments)}function E(t,e){return C.apply(this,arguments)}function C(){return(C=n((function*(t,e){const n=new o,a={name:t,parents:["appDataFolder"]};n.append("metadata",new r([JSON.stringify(a)],{type:"application/json; charset=UTF-8"})),n.append("media",new r([e],{type:"text/plain"}));const s=yield i({method:"POST",path:"https://www.googleapis.com/upload/drive/v3/files?uploadType=multipart&fields=id,name,headRevisionId",body:n});c.set(s.name,s)}))).apply(this,arguments)}function S(){return(S=n((function*(t){const e=c.get(t);if(e)try{yield i({method:"DELETE",path:"https://www.googleapis.com/drive/v3/files/".concat(e.id)})}catch(t){if(404===t.code)return;throw t}}))).apply(this,arguments)}}});return t.dbToCloud=function({onGet:t,onPut:e,onDelete:o,onFirstSync:r,onWarn:i=console.error,onProgress:c,compareRevision:s,getState:l,setState:d,lockExpire:h=60}){let y,g,v;const m=new Map,b=f((()=>d(y,g))),w=new Map,T=p();return{use:function(t){y=function(t){const e=Object.create(t);return e.get=function(){var e=n((function*(e){return JSON.parse(yield t.get(e))}));return function(t){return e.apply(this,arguments)}}(),e.put=function(){var e=n((function*(e,n){return yield t.put(e,JSON.stringify(n))}));return function(t,n){return e.apply(this,arguments)}}(),e.post=function(){var e=n((function*(e,n){return yield t.post(e,JSON.stringify(n))}));return function(t,n){return e.apply(this,arguments)}}(),e.isInit=!1,e.acquireLock||(e.acquireLock=function(t){return o.apply(this,arguments)},e.releaseLock=function(){return r.apply(this,arguments)}),e.getMeta||(e.getMeta=function(){return i.apply(this,arguments)},e.putMeta=function(t){return c.apply(this,arguments)}),e.peekChanges||(e.peekChanges=function(t){return a.apply(this,arguments)}),e;function o(){return(o=n((function*(t){try{yield this.post("lock.json",{expire:Date.now()+60*t*1e3})}catch(t){if("EEXIST"===t.code){const t=yield this.get("lock.json");Date.now()>t.expire&&(yield this.delete("lock.json"))}throw t}}))).apply(this,arguments)}function r(){return(r=n((function*(){yield this.delete("lock.json")}))).apply(this,arguments)}function i(){return(i=n((function*(){try{return yield this.get("meta.json")}catch(t){if("ENOENT"===t.code||404===t.code)return{};throw t}}))).apply(this,arguments)}function c(){return(c=n((function*(t){yield this.put("meta.json",t)}))).apply(this,arguments)}function a(){return(a=n((function*(t){return(yield this.getMeta()).lastChange!==t.lastChange}))).apply(this,arguments)}}(t)},init:function(){return T.write(n((function*(){if(!g||!g.enabled){if(!y)throw new Error("cloud drive is undefined");g=(yield l(y))||{},g.enabled=!0,g.queue||(g.queue=[])}})))},uninit:function(){return T.write(n((function*(){g&&g.enabled&&(g=v=null,m.clear(),w.clear(),y.uninit&&y.isInit&&(yield y.uninit(),y.isInit=!1),yield b())})))},put:function(t,e){if(!g||!g.enabled)return;g.queue.push({_id:t,_rev:e,action:"put"}),b()},delete:function(t,e){if(!g||!g.enabled)return;g.queue.push({_id:t,_rev:e,action:"delete"}),b()},syncNow:function(t){return T.write(n((function*(){if(!g||!g.enabled)throw new Error("Cannot sync now, the sync is not enabled");y.init&&!y.isInit&&(yield y.init(),y.isInit=!0),null==g.lastChange&&(yield r()),yield function(){return x.apply(this,arguments)}(t)})))},drive:()=>y,isInit:()=>Boolean(g&&g.enabled)};function j(){return O.apply(this,arguments)}function O(){return(O=n((function*(){if(v=yield y.getMeta(),!v.lastChange||v.lastChange===g.lastChange)return;let t=[];if(g.lastChange){const e=Math.floor((v.lastChange-1)/100);let n=Math.floor(g.lastChange/100);for(;n<=e;){const e=yield y.get("changes/".concat(n,".json"));m.set(n,e),t=t.concat(e),n++}t=t.slice(g.lastChange%100)}else t=(yield y.list("docs")).map((t=>({action:"put",_id:t.slice(0,-5)})));const n=new Map;var r,s=u(t);try{for(s.s();!(r=s.n()).done;){const t=r.value;n.set(t._id,t)}}catch(t){s.e(t)}finally{s.f()}let l=0;var p,f=u(n);try{for(f.s();!(p=f.n()).done;){const t=a(p.value,2),r=t[0],s=t[1];let u,f;if(c&&c({phase:"pull",total:n.size,loaded:l,change:s}),"delete"===s.action)yield o(r,s._rev);else if("put"===s.action){try{var d=yield y.get("docs/".concat(r,".json"));u=d.doc,f=d._rev}catch(t){if("ENOENT"===t.code||404===t.code){i("Cannot find ".concat(r,". Is it deleted without updating the history?")),l++;continue}throw t}yield e(u)}const h=s._rev||f;h&&w.set(r,h),l++}}catch(t){f.e(t)}finally{f.f()}g.lastChange=v.lastChange,yield b()}))).apply(this,arguments)}function k(){return E.apply(this,arguments)}function E(){return(E=n((function*(){if(!g.queue.length)return;const e=g.queue.slice(),n=new Map;var o,r=u(e);try{for(r.s();!(o=r.n()).done;){const t=o.value;n.set(t._id,t)}}catch(t){r.e(t)}finally{r.f()}const i=[];var a,l=u(n.values());try{for(l.s();!(a=l.n()).done;){const t=a.value,e=w.get(t._id);void 0!==e&&s(t._rev,e)<=0||i.push(t)}}catch(t){l.e(t)}finally{l.f()}let p,f,d=0;for(var h=0,T=i;h Date: Sun, 14 Feb 2021 20:30:50 +0300 Subject: [PATCH 141/291] improve linter info and config popup (#1171) * improve linter info popup * show rule id so the user can configure it * add "configure" button to show the linter config UI * add margins between items * emphasize active rules in linter config dialog --- edit/edit.css | 11 +++++++++++ edit/linter-dialogs.js | 31 ++++++++++++++++++++++++++----- 2 files changed, 37 insertions(+), 5 deletions(-) diff --git a/edit/edit.css b/edit/edit.css index 866d3477..aee7065b 100644 --- a/edit/edit.css +++ b/edit/edit.css @@ -729,6 +729,12 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high #help-popup .rules { padding: 0 15px; } +#help-popup .rules li { + padding-top: .5em; +} +#help-popup .rules p { + margin: .25em 0; +} #help-popup button { margin-right: 3px; } @@ -817,6 +823,11 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high #message-box.center.lint-config #message-box-contents { text-align: left; } +#help-popup .active-linter-rule { + font-weight: bold; + text-decoration: underline; + background-color: rgba(128, 128, 128, .2); +} /************ CSS beautifier ************/ .beautify-options { diff --git a/edit/linter-dialogs.js b/edit/linter-dialogs.js index d06ae941..7a3d6f01 100644 --- a/edit/linter-dialogs.js +++ b/edit/linter-dialogs.js @@ -57,6 +57,21 @@ ])); cm = popup.codebox; cm.focus(); + const rulesStr = getActiveRules().join('|'); + if (rulesStr) { + const rx = new RegExp(`"(${rulesStr})"\\s*:`); + let line = 0; + cm.startOperation(); + cm.eachLine(({text}) => { + const m = rx.exec(text); + if (m) { + const ch = m.index + 1; + cm.markText({line, ch}, {line, ch: ch + m[1].length}, {className: 'active-linter-rule'}); + } + ++line; + }); + cm.endOperation(); + } cm.on('changes', updateConfigButtons); updateConfigButtons(); window.on('closeHelp', onConfigClose, {once: true}); @@ -74,9 +89,9 @@ const rule = RULES.csslint.find(rule => rule.id === ruleID); return rule && $create('li', [ - $create('b', $createLink(rule.url || baseUrl, rule.name)), - $create('br'), - rule.desc, + $create('b', ruleID + ': '), + rule.url ? $createLink(`"${rule.url}"`, rule.name) : $create('span', `"${rule.name}"`), + $create('p', rule.desc), ]); }; } else { @@ -86,14 +101,20 @@ rule === 'CssSyntaxError' ? rule : $createLink(baseUrl + rule, rule)); } const header = t('linterIssuesHelp', '\x01').split('\x01'); - const activeRules = new Set([...linterMan.getIssues()].map(issue => issue.rule)); helpPopup.show(t('linterIssues'), $create([ header[0], headerLink, header[1], - $create('ul.rules', [...activeRules].map(template)), + $create('ul.rules', getActiveRules().map(template)), + $create('button', {onclick: linterMan.showLintConfig}, t('configureStyle')), ])); }; + function getActiveRules() { + const all = [...linterMan.getIssues()].map(issue => issue.rule); + const uniq = new Set(all); + return [...uniq]; + } + function getLexicalDepth(lexicalState) { let depth = 0; while ((lexicalState = lexicalState.prev)) { From 58ae4704b256aa10d85f0bb0911880cf07acc971 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 14 Feb 2021 21:48:44 +0300 Subject: [PATCH 142/291] fix css autocomplete sort order --- edit/autocomplete.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/edit/autocomplete.js b/edit/autocomplete.js index ce9912e6..4e30c1f7 100644 --- a/edit/autocomplete.js +++ b/edit/autocomplete.js @@ -149,12 +149,13 @@ } function initCssProps() { - cssProps = addSuffix(cssMime.propertyKeywords).sort(); + cssProps = addSuffix(cssMime.propertyKeywords); cssMedia = [].concat(...Object.entries(cssMime).map(getMediaKeys).filter(Boolean)).sort(); } function addSuffix(obj, suffix = ': ') { - return Object.keys(obj).map(k => k + suffix); + // Sorting first, otherwise "foo-bar:" would precede "foo:" + return Object.keys(obj).sort().map(k => k + suffix); } function getMediaKeys([k, v]) { From a6748748614f2d5a09b22cfdc9fae0d97d2e1f45 Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 16 Feb 2021 17:03:18 +0300 Subject: [PATCH 143/291] show global styles for frames if main page is blocked fixes #1183 --- popup/popup.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/popup/popup.js b/popup/popup.js index ef717533..07329191 100644 --- a/popup/popup.js +++ b/popup/popup.js @@ -15,6 +15,7 @@ 'use strict'; let tabURL; +let isBlocked; /** @type Element */ const installed = $('#installed'); @@ -285,6 +286,7 @@ function sortStyles(entries) { function showStyles(frameResults) { const entries = new Map(); frameResults.forEach(({styles = [], url}, index) => { + if (isBlocked && !index) return; styles.forEach(style => { const {id} = style; if (!entries.has(id)) { @@ -421,7 +423,8 @@ function handleDelete(id) { } } -function blockPopup(isBlocked = true) { +function blockPopup(val = true) { + isBlocked = val; document.body.classList.toggle('blocked', isBlocked); if (isBlocked) { document.body.prepend(t.template.unavailableInfo); From 76ee0992e7335be8766ddc23d36b9aa6581fe583 Mon Sep 17 00:00:00 2001 From: tophf Date: Sun, 21 Feb 2021 09:17:03 +0300 Subject: [PATCH 144/291] update deps: CM 5.59.3, webAuth 0.1.1 --- package-lock.json | 258 +++++++++++------- package.json | 8 +- vendor/codemirror/README.md | 2 +- vendor/codemirror/keymap/emacs.js | 12 +- vendor/codemirror/keymap/vim.js | 139 ++++++---- vendor/codemirror/lib/codemirror.js | 14 +- vendor/webext-launch-web-auth-flow/README.md | 2 +- .../webext-launch-web-auth-flow.min.js | 2 +- 8 files changed, 274 insertions(+), 163 deletions(-) diff --git a/package-lock.json b/package-lock.json index 20bee63a..0c4030a3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.5.15", "license": "GPL-3.0-only", "dependencies": { - "codemirror": "5.59.2", + "codemirror": "5.59.3", "db-to-cloud": "^0.6.0", "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", @@ -18,17 +18,17 @@ "stylelint-bundle": "^13.8.0", "stylus-lang-bundle": "github:openstyles/stylus-lang-bundle#v0.54.7", "usercss-meta": "^0.10.0", - "webext-launch-web-auth-flow": "^0.1.0" + "webext-launch-web-auth-flow": "^0.1.1" }, "devDependencies": { "archiver": "^4.0.1", "endent": "^1.4.0", - "eslint": "^7.16.0", + "eslint": "^7.20.0", "fs-extra": "^9.0.0", "make-fetch-happen": "^8.0.7", "sync-version": "^1.0.1", "tiny-glob": "^0.2.6", - "web-ext": "^5.4.1", + "web-ext": "^5.5.0", "webext-tx-fix": "^0.3.3" }, "engines": { @@ -645,6 +645,7 @@ "espree": "7.3.0", "esprima": "4.0.1", "fluent-syntax": "0.13.0", + "fsevents": "2.2.1", "glob": "7.1.6", "is-mergeable-object": "1.1.1", "jed": "1.1.1", @@ -1566,9 +1567,9 @@ } }, "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "optional": true, "engines": { @@ -1854,6 +1855,12 @@ "engines": [ "node >=0.10.0" ], + "dependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + }, "bin": { "bunyan": "bin/bunyan" }, @@ -2129,14 +2136,15 @@ } }, "node_modules/chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, "optional": true, "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -2147,14 +2155,13 @@ "node": ">= 8.10.0" }, "optionalDependencies": { - "fsevents": "~2.1.2" + "fsevents": "~2.3.1" } }, "node_modules/chokidar/node_modules/fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", - "deprecated": "Please update to v 2.2.x", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "hasInstallScript": true, "optional": true, @@ -2356,9 +2363,9 @@ } }, "node_modules/codemirror": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", - "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" + "version": "5.59.3", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.3.tgz", + "integrity": "sha512-p1d4BjmBBssgnEGtQeWvE5PdiDffqZjiJ77h2FZ2J2BpW9qdOzf6v7IQscyE+TgyKBQS3PpsYimfEDNgcNRZGQ==" }, "node_modules/collection-visit": { "version": "1.0.0", @@ -3646,13 +3653,13 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "node_modules/eslint": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.16.0.tgz", - "integrity": "sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", + "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.2", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -3663,7 +3670,7 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", @@ -3676,7 +3683,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -3745,6 +3752,27 @@ "node": ">=4" } }, + "node_modules/eslint/node_modules/@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", @@ -3781,12 +3809,15 @@ "dev": true }, "node_modules/esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "dependencies": { "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, "node_modules/esquery/node_modules/estraverse": { @@ -4554,6 +4585,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -5410,12 +5444,18 @@ "dev": true }, "node_modules/import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/import-lazy": { @@ -6987,6 +7027,7 @@ "integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==", "dev": true, "dependencies": { + "encoding": "^0.1.12", "minipass": "^3.1.0", "minipass-pipeline": "^1.2.2", "minipass-sized": "^1.0.3", @@ -7259,9 +7300,9 @@ } }, "node_modules/node-notifier": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz", - "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", + "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", "dev": true, "dependencies": { "growly": "^1.3.0", @@ -11270,17 +11311,19 @@ } }, "node_modules/watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "dependencies": { + "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" }, "optionalDependencies": { "chokidar": "^3.4.1", - "watchpack-chokidar2": "^2.0.0" + "watchpack-chokidar2": "^2.0.1" } }, "node_modules/watchpack-chokidar2": { @@ -11360,6 +11403,7 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -11560,9 +11604,9 @@ } }, "node_modules/web-ext": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-5.4.1.tgz", - "integrity": "sha512-AnTjSFtvidZfmVYzvceM/XixsigiWU3l66UzcxgXxXhOoEQU5ZHlXFGVJdHEYfkI5SnEyDG+WlhsdTUHNLOXJw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-5.5.0.tgz", + "integrity": "sha512-f+NHiYwbTS0X6eSLkBDWoCYkkIJweVazGf4MD8S+kRX/5z40WsYsnRdVWG+p34Z6rCyNvlHHrnO2S1W8WWg7Tw==", "dev": true, "dependencies": { "@babel/polyfill": "7.12.1", @@ -11581,11 +11625,11 @@ "firefox-profile": "4.0.0", "fs-extra": "9.0.1", "fx-runner": "1.0.13", - "import-fresh": "3.2.1", + "import-fresh": "3.3.0", "mkdirp": "1.0.4", "multimatch": "4.0.0", "mz": "2.7.0", - "node-notifier": "8.0.0", + "node-notifier": "8.0.1", "open": "7.3.0", "parse-json": "5.0.1", "sign-addon": "3.1.0", @@ -11594,8 +11638,8 @@ "strip-json-comments": "3.1.1", "tmp": "0.2.1", "update-notifier": "5.0.0", - "watchpack": "1.7.4", - "ws": "7.3.1", + "watchpack": "1.7.5", + "ws": "7.4.2", "yargs": "15.4.1", "zip-dir": "1.0.2" }, @@ -11635,9 +11679,9 @@ } }, "node_modules/webext-launch-web-auth-flow": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.0.tgz", - "integrity": "sha512-3W8ANT9/6uL6NX5SiaKQee439dfiS1NT8wSc+vmjly/2MmH7FBqGFBXLfBFw296w8OOqHNPnEdNcBkDGJQkDgg==" + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.1.tgz", + "integrity": "sha512-e8G0W+Js6P1i/aD0XoSkWfodhdTf01fiqDQk+wcSkVPkzmqDxhzKkBpJ1Y2dz3pR4Ocve7z/yx+mMI8jsRAiPg==" }, "node_modules/webext-tx-fix": { "version": "0.3.3", @@ -11794,9 +11838,9 @@ } }, "node_modules/ws": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", "dev": true, "engines": { "node": ">=8.3.0" @@ -13286,9 +13330,9 @@ } }, "binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true, "optional": true }, @@ -13760,15 +13804,15 @@ } }, "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", "dev": true, "optional": true, "requires": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.1.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -13777,9 +13821,9 @@ }, "dependencies": { "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, "optional": true } @@ -13946,9 +13990,9 @@ } }, "codemirror": { - "version": "5.59.2", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", - "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" + "version": "5.59.3", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.3.tgz", + "integrity": "sha512-p1d4BjmBBssgnEGtQeWvE5PdiDffqZjiJ77h2FZ2J2BpW9qdOzf6v7IQscyE+TgyKBQS3PpsYimfEDNgcNRZGQ==" }, "collection-visit": { "version": "1.0.0", @@ -15033,13 +15077,13 @@ "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint": { - "version": "7.16.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.16.0.tgz", - "integrity": "sha512-iVWPS785RuDA4dWuhhgXTNrGxHHK3a8HLSMBgbbU59ruJDubUraXN8N5rn7kb8tG6sjg74eE0RA3YWT51eusEw==", + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.20.0.tgz", + "integrity": "sha512-qGi0CTcOGP2OtCQBgWZlQjcTuP0XkIpYFj25XtRTQSHC+umNnp7UMshr2G8SLsRFYDdAPFeHOsiteadmMH02Yw==", "dev": true, "requires": { - "@babel/code-frame": "^7.0.0", - "@eslint/eslintrc": "^0.2.2", + "@babel/code-frame": "7.12.11", + "@eslint/eslintrc": "^0.3.0", "ajv": "^6.10.0", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", @@ -15050,7 +15094,7 @@ "eslint-utils": "^2.1.0", "eslint-visitor-keys": "^2.0.0", "espree": "^7.3.1", - "esquery": "^1.2.0", + "esquery": "^1.4.0", "esutils": "^2.0.2", "file-entry-cache": "^6.0.0", "functional-red-black-tree": "^1.0.1", @@ -15063,7 +15107,7 @@ "js-yaml": "^3.13.1", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", - "lodash": "^4.17.19", + "lodash": "^4.17.20", "minimatch": "^3.0.4", "natural-compare": "^1.4.0", "optionator": "^0.9.1", @@ -15077,6 +15121,24 @@ "v8-compile-cache": "^2.0.3" }, "dependencies": { + "@eslint/eslintrc": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-0.3.0.tgz", + "integrity": "sha512-1JTKgrOKAHVivSvOYw+sJOunkBjUOvjqWk1DPja7ZFhIS2mX/4EgTT8M7eTK9jrKhL/FvXXEbQwIs3pg1xp3dg==", + "dev": true, + "requires": { + "ajv": "^6.12.4", + "debug": "^4.1.1", + "espree": "^7.3.0", + "globals": "^12.1.0", + "ignore": "^4.0.6", + "import-fresh": "^3.2.1", + "js-yaml": "^3.13.1", + "lodash": "^4.17.20", + "minimatch": "^3.0.4", + "strip-json-comments": "^3.1.1" + } + }, "eslint-visitor-keys": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.0.0.tgz", @@ -15141,9 +15203,9 @@ "dev": true }, "esquery": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", - "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", + "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -16508,9 +16570,9 @@ "dev": true }, "import-fresh": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz", - "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "requires": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -18025,9 +18087,9 @@ "dev": true }, "node-notifier": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.0.tgz", - "integrity": "sha512-46z7DUmcjoYdaWyXouuFNNfUo6eFa94t23c53c+lG/9Cvauk4a98rAUp9672X5dxGdQmLpPzTxzu8f/OeEPaFA==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-8.0.1.tgz", + "integrity": "sha512-BvEXF+UmsnAfYfoapKM9nGxnP+Wn7P91YfXmrKnfcYCx6VBeoN5Ez5Ogck6I8Bi5k4RlpqRYaw75pAwzX9OphA==", "dev": true, "requires": { "growly": "^1.3.0", @@ -21273,15 +21335,15 @@ } }, "watchpack": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.4.tgz", - "integrity": "sha512-aWAgTW4MoSJzZPAicljkO1hsi1oKj/RRq/OJQh2PKI2UKL04c2Bs+MBOB+BBABHTXJpf9mCwHN7ANCvYsvY2sg==", + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "requires": { "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.0" + "watchpack-chokidar2": "^2.0.1" } }, "watchpack-chokidar2": { @@ -21516,9 +21578,9 @@ } }, "web-ext": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-5.4.1.tgz", - "integrity": "sha512-AnTjSFtvidZfmVYzvceM/XixsigiWU3l66UzcxgXxXhOoEQU5ZHlXFGVJdHEYfkI5SnEyDG+WlhsdTUHNLOXJw==", + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/web-ext/-/web-ext-5.5.0.tgz", + "integrity": "sha512-f+NHiYwbTS0X6eSLkBDWoCYkkIJweVazGf4MD8S+kRX/5z40WsYsnRdVWG+p34Z6rCyNvlHHrnO2S1W8WWg7Tw==", "dev": true, "requires": { "@babel/polyfill": "7.12.1", @@ -21537,11 +21599,11 @@ "firefox-profile": "4.0.0", "fs-extra": "9.0.1", "fx-runner": "1.0.13", - "import-fresh": "3.2.1", + "import-fresh": "3.3.0", "mkdirp": "1.0.4", "multimatch": "4.0.0", "mz": "2.7.0", - "node-notifier": "8.0.0", + "node-notifier": "8.0.1", "open": "7.3.0", "parse-json": "5.0.1", "sign-addon": "3.1.0", @@ -21550,8 +21612,8 @@ "strip-json-comments": "3.1.1", "tmp": "0.2.1", "update-notifier": "5.0.0", - "watchpack": "1.7.4", - "ws": "7.3.1", + "watchpack": "1.7.5", + "ws": "7.4.2", "yargs": "15.4.1", "zip-dir": "1.0.2" }, @@ -21577,9 +21639,9 @@ } }, "webext-launch-web-auth-flow": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.0.tgz", - "integrity": "sha512-3W8ANT9/6uL6NX5SiaKQee439dfiS1NT8wSc+vmjly/2MmH7FBqGFBXLfBFw296w8OOqHNPnEdNcBkDGJQkDgg==" + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.1.tgz", + "integrity": "sha512-e8G0W+Js6P1i/aD0XoSkWfodhdTf01fiqDQk+wcSkVPkzmqDxhzKkBpJ1Y2dz3pR4Ocve7z/yx+mMI8jsRAiPg==" }, "webext-tx-fix": { "version": "0.3.3", @@ -21714,9 +21776,9 @@ } }, "ws": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.3.1.tgz", - "integrity": "sha512-D3RuNkynyHmEJIpD2qrgVkc9DQ23OrN/moAwZX4L8DfvszsJxpjQuUq3LMx6HoYji9fbIOBY18XWBsAux1ZZUA==", + "version": "7.4.2", + "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", + "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", "dev": true, "requires": {} }, diff --git a/package.json b/package.json index 43718d74..72d6063e 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "repository": "openstyles/stylus", "author": "Stylus Team", "dependencies": { - "codemirror": "5.59.2", + "codemirror": "5.59.3", "db-to-cloud": "^0.6.0", "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", @@ -15,17 +15,17 @@ "stylelint-bundle": "^13.8.0", "stylus-lang-bundle": "github:openstyles/stylus-lang-bundle#v0.54.7", "usercss-meta": "^0.10.0", - "webext-launch-web-auth-flow": "^0.1.0" + "webext-launch-web-auth-flow": "^0.1.1" }, "devDependencies": { "archiver": "^4.0.1", "endent": "^1.4.0", - "eslint": "^7.16.0", + "eslint": "^7.20.0", "fs-extra": "^9.0.0", "make-fetch-happen": "^8.0.7", "sync-version": "^1.0.1", "tiny-glob": "^0.2.6", - "web-ext": "^5.4.1", + "web-ext": "^5.5.0", "webext-tx-fix": "^0.3.3" }, "scripts": { diff --git a/vendor/codemirror/README.md b/vendor/codemirror/README.md index 86cb967f..2981101d 100644 --- a/vendor/codemirror/README.md +++ b/vendor/codemirror/README.md @@ -1,4 +1,4 @@ -## codemirror v5.59.2 +## codemirror v5.59.3 Following files are copied from npm (node_modules): diff --git a/vendor/codemirror/keymap/emacs.js b/vendor/codemirror/keymap/emacs.js index fe4882eb..91d8abbb 100644 --- a/vendor/codemirror/keymap/emacs.js +++ b/vendor/codemirror/keymap/emacs.js @@ -233,9 +233,19 @@ cm.setCursor(cm.getCursor()); } + function makePrompt(msg) { + var fragment = document.createDocumentFragment(); + var input = document.createElement("input"); + input.setAttribute("type", "text"); + input.style.width = "10em"; + fragment.appendChild(document.createTextNode(msg + ": ")); + fragment.appendChild(input); + return fragment; + } + function getInput(cm, msg, f) { if (cm.openDialog) - cm.openDialog(msg + ": ", f, {bottom: true}); + cm.openDialog(makePrompt(msg), f, {bottom: true}); else f(prompt(msg, "")); } diff --git a/vendor/codemirror/keymap/vim.js b/vendor/codemirror/keymap/vim.js index 92715e60..6630b6f6 100644 --- a/vendor/codemirror/keymap/vim.js +++ b/vendor/codemirror/keymap/vim.js @@ -244,6 +244,7 @@ { name: 'yank', shortName: 'y' }, { name: 'delmarks', shortName: 'delm' }, { name: 'registers', shortName: 'reg', excludeFromCommandHistory: true }, + { name: 'vglobal', shortName: 'v' }, { name: 'global', shortName: 'g' } ]; @@ -353,7 +354,7 @@ return cmd; } - var modifiers = {'Shift': 'S', 'Ctrl': 'C', 'Alt': 'A', 'Cmd': 'D', 'Mod': 'A'}; + var modifiers = {Shift:'S',Ctrl:'C',Alt:'A',Cmd:'D',Mod:'A',CapsLock:''}; var specialKeys = {Enter:'CR',Backspace:'BS',Delete:'Del',Insert:'Ins'}; function cmKeyToVimKey(key) { if (key.charAt(0) == '\'') { @@ -1450,7 +1451,7 @@ showPrompt(cm, { onClose: onPromptClose, prefix: promptPrefix, - desc: searchPromptDesc, + desc: '(JavaScript regexp)', onKeyUp: onPromptKeyUp, onKeyDown: onPromptKeyDown }); @@ -4110,16 +4111,6 @@ var vim = cm.state.vim; return vim.searchState_ || (vim.searchState_ = new SearchState()); } - function dialog(cm, template, shortText, onClose, options) { - if (cm.openDialog) { - cm.openDialog(template, onClose, { bottom: true, value: options.value, - onKeyDown: options.onKeyDown, onKeyUp: options.onKeyUp, - selectValueOnOpen: false}); - } - else { - onClose(prompt(shortText, '')); - } - } function splitBySlash(argString) { return splitBySeparator(argString, '/'); } @@ -4306,28 +4297,64 @@ (ignoreCase || forceIgnoreCase) ? 'i' : undefined); return regexp; } - function showConfirm(cm, text) { + + /** + * dom - Document Object Manipulator + * Usage: + * dom(''|[, ...{|<$styles>}||'']) + * Examples: + * dom('div', {id:'xyz'}, dom('p', 'CM rocks!', {$color:'red'})) + * dom(document.head, dom('script', 'alert("hello!")')) + * Not supported: + * dom('p', ['arrays are objects'], Error('objects specify attributes')) + */ + function dom(n) { + if (typeof n === 'string') n = document.createElement(n); + for (var a, i = 1; i < arguments.length; i++) { + if (!(a = arguments[i])) continue; + if (typeof a !== 'object') a = document.createTextNode(a); + if (a.nodeType) n.appendChild(a); + else for (var key in a) { + if (!Object.prototype.hasOwnProperty.call(a, key)) continue; + if (key[0] === '$') n.style[key.slice(1)] = a[key]; + else n.setAttribute(key, a[key]); + } + } + return n; + } + + function showConfirm(cm, template) { + var pre = dom('pre', {$color: 'red'}, template); if (cm.openNotification) { - cm.openNotification('' + text + '', - {bottom: true, duration: 5000}); + cm.openNotification(pre, {bottom: true, duration: 5000}); } else { - alert(text); + alert(pre.innerText); } } + function makePrompt(prefix, desc) { - var raw = '' + - (prefix || "") + ''; - if (desc) - raw += ' ' + desc + ''; - return raw; + return dom(document.createDocumentFragment(), + dom('span', {$fontFamily: 'monospace', $whiteSpace: 'pre'}, + prefix, + dom('input', {type: 'text', autocorrect: 'off', + autocapitalize: 'off', spellcheck: 'false'})), + desc && dom('span', {$color: '#888'}, desc)); } - var searchPromptDesc = '(JavaScript regexp)'; + function showPrompt(cm, options) { var shortText = (options.prefix || '') + ' ' + (options.desc || ''); - var prompt = makePrompt(options.prefix, options.desc); - dialog(cm, prompt, shortText, options.onClose, options); + var template = makePrompt(options.prefix, options.desc); + if (cm.openDialog) { + cm.openDialog(template, options.onClose, { + onKeyDown: options.onKeyDown, onKeyUp: options.onKeyUp, + bottom: true, selectValueOnOpen: false, value: options.value + }); + } + else { + options.onClose(prompt(shortText, '')); + } } + function regexEqual(r1, r2) { if (r1 instanceof RegExp && r2 instanceof RegExp) { var props = ['global', 'multiline', 'ignoreCase', 'source']; @@ -4501,7 +4528,7 @@ if (start instanceof Array) { return inArray(pos, start); } else { - if (end) { + if (typeof end == 'number') { return (pos >= start && pos <= end); } else { return pos == start; @@ -4564,7 +4591,7 @@ try { this.parseInput_(cm, inputStream, params); } catch(e) { - showConfirm(cm, e); + showConfirm(cm, e.toString()); throw e; } var command; @@ -4608,7 +4635,7 @@ params.callback(); } } catch(e) { - showConfirm(cm, e); + showConfirm(cm, e.toString()); throw e; } }, @@ -4880,12 +4907,12 @@ registers: function(cm, params) { var regArgs = params.args; var registers = vimGlobalState.registerController.registers; - var regInfo = '----------Registers----------

    '; + var regInfo = '----------Registers----------\n\n'; if (!regArgs) { for (var registerName in registers) { var text = registers[registerName].toString(); if (text.length) { - regInfo += '"' + registerName + ' ' + text + '
    '; + regInfo += '"' + registerName + ' ' + text + '\n' } } } else { @@ -4897,7 +4924,7 @@ continue; } var register = registers[registerName] || new Register(); - regInfo += '"' + registerName + ' ' + register.toString() + '
    '; + regInfo += '"' + registerName + ' ' + register.toString() + '\n' } } showConfirm(cm, regInfo); @@ -4992,6 +5019,10 @@ } cm.replaceRange(text.join('\n'), curStart, curEnd); }, + vglobal: function(cm, params) { + // global inspects params.commandName + this.global(cm, params); + }, global: function(cm, params) { // a global command is of the form // :[range]g/pattern/[cmd] @@ -5001,6 +5032,7 @@ showConfirm(cm, 'Regular Expression missing from global'); return; } + var inverted = params.commandName[0] === 'v'; // range is specified here var lineStart = (params.line !== undefined) ? params.line : cm.firstLine(); var lineEnd = params.lineEnd || params.line || cm.lastLine(); @@ -5025,28 +5057,33 @@ // now that we have the regexPart, search for regex matches in the // specified range of lines var query = getSearchState(cm).getQuery(); - var matchedLines = [], content = ''; + var matchedLines = []; for (var i = lineStart; i <= lineEnd; i++) { - var matched = query.test(cm.getLine(i)); - if (matched) { - matchedLines.push(i+1); - content+= cm.getLine(i) + '
    '; + var line = cm.getLineHandle(i); + var matched = query.test(line.text); + if (matched !== inverted) { + matchedLines.push(cmd ? line : line.text); } } // if there is no [cmd], just display the list of matched lines if (!cmd) { - showConfirm(cm, content); + showConfirm(cm, matchedLines.join('\n')); return; } var index = 0; var nextCommand = function() { if (index < matchedLines.length) { - var command = matchedLines[index] + cmd; + var line = matchedLines[index++]; + var lineNum = cm.getLineNumber(line); + if (lineNum == null) { + nextCommand(); + return; + } + var command = (lineNum + 1) + cmd; exCommandDispatcher.processCommand(cm, command, { callback: nextCommand }); } - index++; }; nextCommand(); }, @@ -5066,9 +5103,11 @@ regexPart = new RegExp(regexPart).source; //normalize not escaped characters } replacePart = tokens[1]; - if (regexPart && regexPart[regexPart.length - 1] === '$') { - regexPart = regexPart.slice(0, regexPart.length - 1) + '\\n'; - replacePart = replacePart ? replacePart + '\n' : '\n'; + // If the pattern ends with $ (line boundary assertion), change $ to \n. + // Caveat: this workaround cannot match on the last line of the document. + if (/(^|[^\\])(\\\\)*\$$/.test(regexPart)) { + regexPart = regexPart.slice(0, -1) + '\\n'; + replacePart = (replacePart || '') + '\n'; } if (replacePart !== undefined) { if (getOption('pcre')) { @@ -5097,11 +5136,9 @@ if (flagsPart) { if (flagsPart.indexOf('c') != -1) { confirm = true; - flagsPart.replace('c', ''); } if (flagsPart.indexOf('g') != -1) { global = true; - flagsPart.replace('g', ''); } if (getOption('pcre')) { regexPart = regexPart + '/' + flagsPart; @@ -5242,7 +5279,7 @@ // Set up all the functions. cm.state.vim.exMode = true; var done = false; - var lastPos = searchCursor.from(); + var lastPos, modifiedLineNumber, joined; function replaceAll() { cm.operation(function() { while (!done) { @@ -5255,14 +5292,18 @@ function replace() { var text = cm.getRange(searchCursor.from(), searchCursor.to()); var newText = text.replace(query, replaceWith); + var unmodifiedLineNumber = searchCursor.to().line; searchCursor.replace(newText); + modifiedLineNumber = searchCursor.to().line; + lineEnd += modifiedLineNumber - unmodifiedLineNumber; + joined = modifiedLineNumber < unmodifiedLineNumber; } function next() { // The below only loops to skip over multiple occurrences on the same // line when 'global' is not true. while(searchCursor.findNext() && isInRange(searchCursor.from(), lineStart, lineEnd)) { - if (!global && lastPos && searchCursor.from().line == lastPos.line) { + if (!global && searchCursor.from().line == modifiedLineNumber && !joined) { continue; } cm.scrollIntoView(searchCursor.from(), 30); @@ -5327,7 +5368,7 @@ return; } showPrompt(cm, { - prefix: 'replace with ' + replaceWith + ' (y/n/a/q/l)', + prefix: dom('span', 'replace with ', dom('strong', replaceWith), ' (y/n/a/q/l)'), onKeyDown: onPromptKeyDown }); } @@ -5535,9 +5576,7 @@ clearFakeCursor(vim); // In visual mode, the cursor may be positioned over EOL. if (from.ch == cm.getLine(from.line).length) { - var widget = document.createElement("span"); - widget.textContent = "\u00a0"; - widget.className = className; + var widget = dom('span', { 'class': className }, '\u00a0'); vim.fakeCursorBookmark = cm.setBookmark(from, {widget: widget}); } else { vim.fakeCursor = cm.markText(from, to, {className: className}); diff --git a/vendor/codemirror/lib/codemirror.js b/vendor/codemirror/lib/codemirror.js index 9aa6da5d..1f313cff 100644 --- a/vendor/codemirror/lib/codemirror.js +++ b/vendor/codemirror/lib/codemirror.js @@ -4798,19 +4798,19 @@ }); } - function History(startGen) { + function History(prev) { // Arrays of change events and selections. Doing something adds an // event to done and clears undo. Undoing moves events from done // to undone, redoing moves them in the other direction. this.done = []; this.undone = []; - this.undoDepth = Infinity; + this.undoDepth = prev ? prev.undoDepth : Infinity; // Used to track when changes can be merged into a single undo // event this.lastModTime = this.lastSelTime = 0; this.lastOp = this.lastSelOp = null; this.lastOrigin = this.lastSelOrigin = null; // Used by the isClean() method - this.generation = this.maxGeneration = startGen || 1; + this.generation = this.maxGeneration = prev ? prev.maxGeneration : 1; } // Create a history change event from an updateDoc-style change @@ -6244,7 +6244,7 @@ clearHistory: function() { var this$1 = this; - this.history = new History(this.history.maxGeneration); + this.history = new History(this.history); linkedDocs(this, function (doc) { return doc.history = this$1.history; }, true); }, @@ -6265,7 +6265,7 @@ undone: copyHistoryArray(this.history.undone)} }, setHistory: function(histData) { - var hist = this.history = new History(this.history.maxGeneration); + var hist = this.history = new History(this.history); hist.done = copyHistoryArray(histData.done.slice(0), null, true); hist.undone = copyHistoryArray(histData.undone.slice(0), null, true); }, @@ -7708,7 +7708,7 @@ for (var i = newBreaks.length - 1; i >= 0; i--) { replaceRange(cm.doc, val, newBreaks[i], Pos(newBreaks[i].line, newBreaks[i].ch + val.length)); } }); - option("specialChars", /[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b-\u200c\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g, function (cm, val, old) { + option("specialChars", /[\u0000-\u001f\u007f-\u009f\u00ad\u061c\u200b\u200e\u200f\u2028\u2029\ufeff\ufff9-\ufffc]/g, function (cm, val, old) { cm.state.specialChars = new RegExp(val.source + (val.test("\t") ? "" : "|\t"), "g"); if (old != Init) { cm.refresh(); } }); @@ -9793,7 +9793,7 @@ addLegacyProps(CodeMirror); - CodeMirror.version = "5.59.2"; + CodeMirror.version = "5.59.3"; return CodeMirror; diff --git a/vendor/webext-launch-web-auth-flow/README.md b/vendor/webext-launch-web-auth-flow/README.md index 821ceade..b7e3d7d7 100644 --- a/vendor/webext-launch-web-auth-flow/README.md +++ b/vendor/webext-launch-web-auth-flow/README.md @@ -1,4 +1,4 @@ -## webext-launch-web-auth-flow v0.1.0 +## webext-launch-web-auth-flow v0.1.1 Following files are copied from npm (node_modules): diff --git a/vendor/webext-launch-web-auth-flow/webext-launch-web-auth-flow.min.js b/vendor/webext-launch-web-auth-flow/webext-launch-web-auth-flow.min.js index 7e8f7587..267634e7 100644 --- a/vendor/webext-launch-web-auth-flow/webext-launch-web-auth-flow.min.js +++ b/vendor/webext-launch-web-auth-flow/webext-launch-web-auth-flow.min.js @@ -1,2 +1,2 @@ -var webextLaunchWebAuthFlow=function(){"use strict";function e(e,r,t,n,o,i,s){try{var u=e[i](s),a=u.value}catch(e){return void t(e)}u.done?r(a):Promise.resolve(a).then(n,o)}function r(r){return function(){var t=this,n=arguments;return new Promise((function(o,i){var s=r.apply(t,n);function u(r){e(s,o,i,u,a,"next",r)}function a(r){e(s,o,i,u,a,"throw",r)}u(void 0)}))}}function t(e){return n.apply(this,arguments)}function n(){return(n=r((function*(e){if(browser.windows)return yield browser.windows.create(e);const r={active:"minimized"!==e.state,url:e.url};return{tabs:[yield browser.tabs.create(r)]}}))).apply(this,arguments)}function o(e,r,t){return i.apply(this,arguments)}function i(){return(i=r((function*(e,r,t){return e?yield browser.windows.update(e,t):yield browser.tabs.update(r,{active:t.focused})}))).apply(this,arguments)}function s(e,r){return u.apply(this,arguments)}function u(){return(u=r((function*(e,r){return e?yield browser.windows.remove(e):yield browser.tabs.remove(r)}))).apply(this,arguments)}function a(){const e={};return e.promise=new Promise((r,t)=>{e.resolve=r,e.reject=t}),e}function c(){return(c=r((function*({url:e,redirect_uri:r,interactive:n=!1}){const i=yield t({type:"popup",url:e,state:"minimized"}),u=i.id,c=i.tabs[0].id,d=a(),l=d.promise,w=d.resolve,b=d.reject;browser.webRequest.onBeforeRequest.addListener(f,{urls:["*://*/*"],tabId:c,types:["main_frame"]},["blocking"]),browser.webNavigation.onDOMContentLoaded.addListener(p),browser.tabs.onRemoved.addListener(v);try{return yield l}finally{browser.webRequest.onBeforeRequest.removeListener(f),browser.webNavigation.onDOMContentLoaded.removeListener(p),browser.tabs.onRemoved.removeListener(v),s(u,c).catch(e=>console.error(e))}function f(e){if(!e.frameId&&e.tabId===c&&e.url.startsWith(r))return w(e.url),{cancel:!0}}function p(e){e.frameId||e.tabId!==c||(n?o(u,c,{focused:!0,state:"normal"}).catch(e=>console.error(e)):b(new Error("User interaction required")),browser.webNavigation.onDOMContentLoaded.removeListener(p))}function v(e){e===c&&b(new Error("Canceled by user"))}}))).apply(this,arguments)}return function(e){return c.apply(this,arguments)}}(); +var webextLaunchWebAuthFlow=function(){"use strict";function e(e,r,t,n,o,i,s){try{var u=e[i](s),c=u.value}catch(e){return void t(e)}u.done?r(c):Promise.resolve(c).then(n,o)}function r(r){return function(){var t=this,n=arguments;return new Promise((function(o,i){var s=r.apply(t,n);function u(r){e(s,o,i,u,c,"next",r)}function c(r){e(s,o,i,u,c,"throw",r)}u(void 0)}))}}function t(e,r,t){return r in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}function n(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r{e.resolve=r,e.reject=t}),e}function d(){return(d=r((function*({url:e,redirect_uri:r,interactive:t=!1,alwaysUseTab:n=!1,windowOptions:s}){const c=yield i(o({type:"popup",url:e,state:"minimized"},s),n),b=c.id,d=c.tabs[0].id,f=l(),p=f.promise,w=f.resolve,y=f.reject;browser.webRequest.onBeforeRequest.addListener(v,{urls:["*://*/*"],tabId:d,types:["main_frame"]},["blocking"]),browser.webNavigation.onDOMContentLoaded.addListener(m),browser.tabs.onRemoved.addListener(O);try{return yield p}finally{browser.webRequest.onBeforeRequest.removeListener(v),browser.webNavigation.onDOMContentLoaded.removeListener(m),browser.tabs.onRemoved.removeListener(O),a(b,d).catch(e=>console.error(e))}function v(e){if(!e.frameId&&e.tabId===d&&e.url.startsWith(r))return w(e.url),{cancel:!0}}function m(e){e.frameId||e.tabId!==d||(t?u(b,d,{focused:!0,state:"normal"}).catch(e=>console.error(e)):y(new Error("User interaction required")),browser.webNavigation.onDOMContentLoaded.removeListener(m))}function O(e){e===d&&y(new Error("Canceled by user"))}}))).apply(this,arguments)}return function(e){return d.apply(this,arguments)}}(); //# sourceMappingURL=webext-launch-web-auth-flow.min.js.map From c5e2baaf87a0a5bf2b1decea6c59408f9da88ced Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 22 Feb 2021 00:29:25 +0300 Subject: [PATCH 145/291] pass disableAll to styleInjector, fixes #1187 --- content/apply.js | 1 + 1 file changed, 1 insertion(+) diff --git a/content/apply.js b/content/apply.js index c50cccaf..d1f9993e 100644 --- a/content/apply.js +++ b/content/apply.js @@ -83,6 +83,7 @@ delete window[SYM]; prefs.subscribe('disableAll', updateDisableAll); } + styleInjector.toggle(hasStyles); } } From b61cd75b25c28b7bb3f815baa89edcfaad385244 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 22 Feb 2021 00:32:22 +0300 Subject: [PATCH 146/291] ignore style messages if started in disableAll mode --- content/apply.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/content/apply.js b/content/apply.js index d1f9993e..1df2de43 100644 --- a/content/apply.js +++ b/content/apply.js @@ -6,7 +6,12 @@ (() => { if (window.INJECTED === 1) return; + /** true -> when the page styles are received, + * false -> when disableAll mode is on at start, the styles won't be sent + * so while disableAll lasts we can ignore messages about style updates because + * the tab will explicitly ask for all styles in bulk when disableAll mode ends */ let hasStyles = false; + let isDisabled = false; let isTab = !chrome.tabs || location.pathname !== '/popup.html'; const isFrame = window !== parent; const isFrameAboutBlank = isFrame && location.href === 'about:blank'; @@ -75,7 +80,8 @@ parentStyles && await new Promise(requestAnimationFrame) && parentStyles || !isFrameAboutBlank && chrome.app && !chrome.tabs && tryCatch(getStylesViaXhr) || await API.styles.getSectionsByUrl(matchUrl, null, true); - hasStyles = !styles.disableAll; + isDisabled = styles.disableAll; + hasStyles = !isDisabled; if (hasStyles) { window[SYM] = styles; await styleInjector.apply(styles); @@ -121,6 +127,7 @@ break; case 'styleUpdated': + if (!hasStyles && isDisabled) break; if (style.enabled) { API.styles.getSectionsByUrl(matchUrl, style.id).then(sections => sections[style.id] @@ -132,6 +139,7 @@ break; case 'styleAdded': + if (!hasStyles && isDisabled) break; if (style.enabled) { API.styles.getSectionsByUrl(matchUrl, style.id) .then(styleInjector.apply); @@ -139,6 +147,7 @@ break; case 'urlChanged': + if (!hasStyles && isDisabled) break; API.styles.getSectionsByUrl(matchUrl).then(sections => { hasStyles = true; styleInjector.replace(sections); @@ -159,6 +168,7 @@ } function updateDisableAll(key, disableAll) { + isDisabled = disableAll; if (isUnstylable) { API.styleViaAPI({method: 'prefChanged', prefs: {disableAll}}); } else if (!hasStyles && !disableAll) { From cf1f51af0a404cf62c67761c9efd0965e2a82bc4 Mon Sep 17 00:00:00 2001 From: tophf Date: Mon, 22 Feb 2021 15:12:19 +0300 Subject: [PATCH 147/291] vivaldi bug workaround: open webAuth flow in a tab (#1186) --- background/token-manager.js | 37 ++++++++++++++++++++++++++++++++++++- js/toolbox.js | 15 +++++++++++++++ popup/preinit.js | 19 ++----------------- 3 files changed, 53 insertions(+), 18 deletions(-) diff --git a/background/token-manager.js b/background/token-manager.js index 4aac046a..67cefe51 100644 --- a/background/token-manager.js +++ b/background/token-manager.js @@ -1,4 +1,4 @@ -/* global FIREFOX */// toolbox.js +/* global FIREFOX getActiveTab waitForTabUrl */// toolbox.js /* global chromeLocal */// storage-util.js 'use strict'; @@ -51,6 +51,8 @@ const tokenMan = (() => { }; const NETWORK_LATENCY = 30; // seconds + let alwaysUseTab = FIREFOX ? false : null; + return { buildKeys(name) { @@ -138,11 +140,20 @@ const tokenMan = (() => { if (provider.authQuery) { Object.assign(query, provider.authQuery); } + if (alwaysUseTab == null) { + alwaysUseTab = await detectVivaldiWebRequestBug(); + } const url = `${provider.authURL}?${new URLSearchParams(query)}`; const finalUrl = await webextLaunchWebAuthFlow({ url, + alwaysUseTab, interactive, redirect_uri: query.redirect_uri, + windowOptions: { + state: 'normal', + width: Math.min(screen.width - 100, 800), + height: Math.min(screen.height - 100, 800), + }, }); const params = new URLSearchParams( provider.flow === 'token' ? @@ -203,4 +214,28 @@ const tokenMan = (() => { err.code = r.status; throw err; } + + async function detectVivaldiWebRequestBug() { + // Workaround for https://github.com/openstyles/stylus/issues/1182 + // Note that modern Vivaldi isn't exposed in `navigator.userAgent` but it adds `extData` to tabs + const anyTab = await getActiveTab() || (await browser.tabs.query({}))[0]; + if (anyTab && !anyTab.extData) { + return false; + } + let bugged = true; + const TEST_URL = chrome.runtime.getURL('manifest.json'); + const check = ({url}) => { + bugged = url !== TEST_URL; + }; + chrome.webRequest.onBeforeRequest.addListener(check, {urls: [TEST_URL], types: ['main_frame']}); + const {tabs: [tab]} = await browser.windows.create({ + type: 'popup', + state: 'minimized', + url: TEST_URL, + }); + await waitForTabUrl(tab); + chrome.windows.remove(tab.windowId); + chrome.webRequest.onBeforeRequest.removeListener(check); + return bugged; + } })(); diff --git a/js/toolbox.js b/js/toolbox.js index 7c4eb442..8307aea8 100644 --- a/js/toolbox.js +++ b/js/toolbox.js @@ -18,6 +18,7 @@ stringAsRegExp tryCatch tryRegExp + waitForTabUrl */ const CHROME = Boolean(chrome.app) && parseInt(navigator.userAgent.match(/Chrom\w+\/(\d+)|$/)[1]); @@ -469,6 +470,20 @@ async function closeCurrentTab() { if (tab) chrome.tabs.remove(tab.id); } +function waitForTabUrl(tab) { + return new Promise(resolve => { + browser.tabs.onUpdated.addListener(...[ + function onUpdated(tabId, info, updatedTab) { + if (info.url && tabId === tab.id) { + browser.tabs.onUpdated.removeListener(onUpdated); + resolve(updatedTab); + } + }, + ...'UpdateFilter' in browser.tabs ? [{tabId: tab.id}] : [], // FF only + ]); + }); +} + function capitalize(s) { return s[0].toUpperCase() + s.slice(1); } diff --git a/popup/preinit.js b/popup/preinit.js index b70dd546..750f0d37 100644 --- a/popup/preinit.js +++ b/popup/preinit.js @@ -1,5 +1,5 @@ /* global API */// msg.js -/* global URLS */// toolbox.js +/* global URLS waitForTabUrl */// toolbox.js 'use strict'; const ABOUT_BLANK = 'about:blank'; @@ -7,7 +7,7 @@ const ABOUT_BLANK = 'about:blank'; const preinit = (async () => { let [tab] = await browser.tabs.query({currentWindow: true, active: true}); if (!chrome.app && tab.status === 'loading' && tab.url === ABOUT_BLANK) { - tab = await waitForTabUrlFF(tab); + tab = await waitForTabUrl(tab); } const frames = sortTabFrames(await browser.webNavigation.getAllFrames({tabId: tab.id})); let url = tab.pendingUrl || tab.url || ''; // new Chrome uses pendingUrl while connecting @@ -60,18 +60,3 @@ function sortTabFrames(frames) { } return sortedFrames; } - -function waitForTabUrlFF(tab) { - return new Promise(resolve => { - browser.tabs.onUpdated.addListener(...[ - function onUpdated(tabId, info, updatedTab) { - if (info.url && tabId === tab.id) { - browser.tabs.onUpdated.removeListener(onUpdated); - resolve(updatedTab); - } - }, - ...'UpdateFilter' in browser.tabs ? [{tabId: tab.id}] : [], - // TODO: remove both spreads and tabId check when strict_min_version >= 61 - ]); - }); -} From abd018d750a869585308d449e46ede20463e2bed Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 23 Feb 2021 14:59:56 +0300 Subject: [PATCH 148/291] fix autocomplete for words starting with d/r/u fixes #1188 --- edit/autocomplete.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/edit/autocomplete.js b/edit/autocomplete.js index 4e30c1f7..74aef528 100644 --- a/edit/autocomplete.js +++ b/edit/autocomplete.js @@ -120,8 +120,9 @@ /^(top|documentTypes|atBlock)/.test(getTokenState())) { end++; list = docFuncs; + break; } - break; + // fallthrough to `default` default: // properties and media features From acaf12f694075654018523028940784e64948891 Mon Sep 17 00:00:00 2001 From: tophf Date: Tue, 23 Feb 2021 15:13:01 +0300 Subject: [PATCH 149/291] ensure button panel is tall enough see #1188 --- options/options.css | 1 + 1 file changed, 1 insertion(+) diff --git a/options/options.css b/options/options.css index 656bf4e3..330b7597 100644 --- a/options/options.css +++ b/options/options.css @@ -229,6 +229,7 @@ input[type="color"] { margin: 0; border-top: 1px solid #999; border-bottom: none; + min-height: min-content; /* workaround for old Chrome ~70 bug when the window height is small */ } #actions button { From ea6359307b294a17b84f484f416d8d54a688b961 Mon Sep 17 00:00:00 2001 From: Rob Garrison Date: Tue, 23 Feb 2021 21:35:26 -0600 Subject: [PATCH 150/291] Update locales --- _locales/ar/messages.json | 1782 ++++++++++++++++-- _locales/bg/messages.json | 2316 +++++++++++++++-------- _locales/bg_BG/messages.json | 1940 ++++++++++++++++---- _locales/ca/messages.json | 1587 +++++++++++++++- _locales/cs/messages.json | 2881 ++++++++++++++++------------- _locales/da/messages.json | 1711 +++++++++++++++-- _locales/de/messages.json | 3259 ++++++++++++++++----------------- _locales/el/messages.json | 2387 ++++++++++++++++-------- _locales/en_GB/messages.json | 1663 ++++++++++++++++- _locales/es/messages.json | 3160 ++++++++++++++++---------------- _locales/et/messages.json | 3057 ++++++++++++++++--------------- _locales/fi/messages.json | 1798 +++++++++++++++--- _locales/fr/messages.json | 3187 ++++++++++++++++---------------- _locales/fy/messages.json | 1707 +++++++++++++++-- _locales/gl/messages.json | 1647 ++++++++++++++++- _locales/he/messages.json | 2956 ++++++++++++++++-------------- _locales/hr/messages.json | 1587 +++++++++++++++- _locales/hu/messages.json | 3175 ++++++++++++++++---------------- _locales/it/messages.json | 2633 +++++++++++++++----------- _locales/ja/messages.json | 3299 ++++++++++++++++----------------- _locales/ko/messages.json | 3223 ++++++++++++++++---------------- _locales/nl/messages.json | 3301 ++++++++++++++++----------------- _locales/pl/messages.json | 3343 ++++++++++++++++----------------- _locales/pt_BR/messages.json | 2624 +++++++++++++++----------- _locales/pt_PT/messages.json | 2795 ++++++++++++++++------------ _locales/ro/messages.json | 2711 +++++++++++++++------------ _locales/ru/messages.json | 3215 ++++++++++++++++---------------- _locales/sr/messages.json | 1988 ++++++++++++++++---- _locales/sv/messages.json | 3159 ++++++++++++++++---------------- _locales/te/messages.json | 1647 ++++++++++++++++- _locales/tr/messages.json | 2471 ++++++++++++++++--------- _locales/uk/messages.json | 1587 +++++++++++++++- _locales/zh/messages.json | 3343 ++++++++++++++++----------------- _locales/zh_CN/messages.json | 3351 ++++++++++++++++------------------ _locales/zh_TW/messages.json | 3343 ++++++++++++++++----------------- 35 files changed, 55414 insertions(+), 34419 deletions(-) diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index f35f7fca..e86eaa11 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -1,202 +1,1586 @@ { - "addStyleLabel": { - "message": "كتابة نمط جديد", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "إضافة نمط", - "description": "Title of the page for adding styles" - }, - "appliesAdd": { - "message": "إضافة", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "ينطبق على: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "إضافة نمط", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "إضافة", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "ينطبق على: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "والمزيد", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "عناوين URL في النطاق", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "استخدم عناصر تحكم 'ينطبق على' لتقييد عناوين URL التي ينطبق عليها الرمز في هذا القسم.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "ينطبق على", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "عناوين URL التي تطابق regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "إزالة", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "تحديد", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "كل شيء", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "عنوان URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "عناوين URL البادئة بـ", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Apply all updates", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "البحث عن تحديثات لكل الأنماط", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "البحث عن تحديث", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "جارٍ البحث...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "هل تريد بالتأكيد حذف هذا النمط؟", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "حذف", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "يمكنك تغيير نمط الويب باستخدام Stylus، وهي أداة لإدارة أنماط المستخدم. وتتيح Stylus لك بسهولة تثبيت المظاهر والأشكال الخارجية لكل من Google، وFacebook وYouTube وOrkut فضلاً عن الكثير جدًا من مواقع الويب الأخرى.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "تعطيل", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "تعديل النمط", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "تعديل", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "تعديل النمط $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "تمكين", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "البحث عن المزيد من الأنماط لموقع الويب هذا", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "مساعدة", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "تثبيت التحديث", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "الأنماط المثبتة", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "لم يتم تثبيت أي أنماط لموقع الويب هذا.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "إدارة الأنماط المثبتة", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "إضافة قسم آخر", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "الرمز", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "إزالة القسم", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "رجوع للإدارة", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "لقد أجريت تغييرات على هذا النمط بدون حفظها.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "ممكّن", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "هل تريد تثبيت '$stylename$' في Stylus؟", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "أدخل اسمًا", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "حفظ", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "يمكن استخدام تنسيق موزيلا للرمز باستخدام Stylus للمتصفح فايرفوكس ويمكن إرساله إلى userstyles.org.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "أخفق التحديث - استجاب الخادم بالرمز $code$", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "أخفق التحديث - الخادم يتعذر الوصول إليه.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "النمط محدّث.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "اكتمل التحديث.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "كتابة نمط جديد", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "والمزيد", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "عناوين URL في النطاق", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "استخدم عناصر تحكم 'ينطبق على' لتقييد عناوين URL التي ينطبق عليها الرمز في هذا القسم.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "ينطبق على", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesRegexpOption": { - "message": "عناوين URL التي تطابق regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "إزالة", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "تحديد", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "كل شيء", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "عنوان URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "عناوين URL البادئة بـ", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "checkAllUpdates": { - "message": "البحث عن تحديثات لكل الأنماط", - "description": "Label for the button to check all styles for updates" - }, - "checkForUpdate": { - "message": "البحث عن تحديث", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "جارٍ البحث...", - "description": "Text to display when checking a style for an update" - }, - "deleteStyleConfirm": { - "message": "هل تريد بالتأكيد حذف هذا النمط؟", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "حذف", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "يمكنك تغيير نمط الويب باستخدام Stylus، وهي أداة لإدارة أنماط المستخدم. وتتيح Stylus لك بسهولة تثبيت المظاهر والأشكال الخارجية لكل من Google، وFacebook وYouTube وOrkut فضلاً عن الكثير جدًا من مواقع الويب الأخرى.", - "description": "Extension description" - }, - "disableStyleLabel": { - "message": "تعطيل", - "description": "Label for the button to disable a style" - }, - "editStyleHeading": { - "message": "تعديل النمط", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "تعديل", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "تعديل النمط $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "تمكين", - "description": "Label for the button to enable a style" - }, - "findStylesForSite": { - "message": "البحث عن المزيد من الأنماط لموقع الويب هذا", - "description": "Text for a link that gets a list of styles for the current site" - }, - "helpAlt": { - "message": "مساعدة", - "description": "Alternate text for help buttons" - }, - "installUpdate": { - "message": "تثبيت التحديث", - "description": "Label for the button to install an update for a single style" - }, - "manageHeading": { - "message": "الأنماط المثبتة", - "description": "Heading for the manage page" - }, - "noStylesForSite": { - "message": "لم يتم تثبيت أي أنماط لموقع الويب هذا.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "إدارة الأنماط المثبتة", - "description": "Link to open the manage page." - }, - "sectionAdd": { - "message": "إضافة قسم آخر", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "الرمز", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "إزالة القسم", - "description": "Label for the button to remove a section" - }, - "styleCancelEditLabel": { - "message": "رجوع للإدارة", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "لقد أجريت تغييرات على هذا النمط بدون حفظها.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "ممكّن", - "description": "Label for the enabled state of styles" - }, - "styleInstall": { - "message": "هل تريد تثبيت '$stylename$' في Stylus؟", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleMissingName": { - "message": "أدخل اسمًا", - "description": "Error displayed when user saves without providing a name" - }, - "styleSaveLabel": { - "message": "حفظ", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "يمكن استخدام تنسيق موزيلا للرمز باستخدام Stylus للمتصفح فايرفوكس ويمكن إرساله إلى userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "updateCheckFailBadResponseCode": { - "message": "أخفق التحديث - استجاب الخادم بالرمز $code$", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "أخفق التحديث - الخادم يتعذر الوصول إليه.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckSucceededNoUpdate": { - "message": "النمط محدّث.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "اكتمل التحديث.", - "description": "Text that displays when an update completed" - } } \ No newline at end of file diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index e7b6effd..cf6b1b43 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -1,736 +1,1586 @@ { - "addStyleLabel": { - "message": "Писане на нов стил", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Добавяне на стил", - "description": "Title of the page for adding styles" - }, - "appliesAdd": { - "message": "Добавяне", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Приложимо за: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Добавяне на стил", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Добавяне", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Приложимо за: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "и още", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "Адреси на домейна", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Използвайте 'Приложимо за', за да ограничите адресите, за които се отнася кода в отдела.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Приложимо за", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "Адреси, съвпадащи с регулярен израз", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Премахване", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Уточняване", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Всичко", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "Адрес", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "Адреси, започващи с", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Прилагане на всички обновления", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Резервни копия", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Изберете файл или го влачете до страницата.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Изнасяне на стилове", + "description": "" + }, + "checkAllUpdates": { + "message": "Проверка на всички стилове за обновления", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Повторна проверка", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Проверка за обновления", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Проверяване...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Автоматично завършване при въвеждане", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Подпрозорци с умен отстъп", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Клавиши", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Пренасяне", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Осветяване", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Само избраното", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Низа под показалеца", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Щракнете два пъти за възстановяване/увеличаване на височината", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Умен отстъп", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Табулация", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Тема", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Отказ", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Изтриване", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Не", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "Добре", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Спиране", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Да", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Възникна грешка с базата от данни. Искате ли да посетите страницата с възможни решения?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "по подразбиране", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Сигурни ли сте, че искате да изтриете стила?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Изтриване", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Пресъздайте стила на Мрежата със Стайлус, разширението за стилове. То ви позволява лесно да инсталиране теми за много сайтове.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Изключване на всички стилове", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Изключване", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Пуснете резервното копие където и да е по страницата, за да го внесете.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Изтриване", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Отиване на ред", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Редактиране на стила", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Редактиране", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Редактиране на стила $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Включване", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Изнасяне", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Още стилове за този сайт", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Изключено", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Хронология", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Помощ", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Въведете име", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Натиснете клавиш", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Прибавяне към стила", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Прибавяне на внесения стил към текущия", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Внасяне", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Презаписване на стила", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Презаписване на съдържанието на текщия стил с това от внесения", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "добавени", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "пропуснати еднакви", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "пропуснати невалидни", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "с обновени код и метаданни", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "с обновен код", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "с обновени метаданни", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Внасянето на стилове завърши", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Нищо не беше променено.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "върнати стила", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Внасянето беше отменено", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Инсталиране на обновлението", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Помощ", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Вземете стилове", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Проблеми", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Проблеми, намерени от $link$ при следните правила:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Иконки на приложимите сайтовете", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Сиви", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Разширението използва външна услуга https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Филтри", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Инсталирани стилове", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Брой на видимите приложими адреси", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Нов интерфейс за управление", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Само включените стилове", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Само местно създадените стилове", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(стиловете, които не са инсталирани през userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Само стилове с обновления или проблеми", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Стилове", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Брой на активните стилове", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Няма инсталирани стилове за сайта.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Управление", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Управление на стиловете", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Действия", + "description": "" + }, + "optionsAdvanced": { + "message": "Разширени", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Добавяне на 'Изтриване' в контекстното меню на редактора", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Разкриване на 'iframes' чрез HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Цвят на фона, когато е изключено", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Цвят на фона", + "description": "" + }, + "optionsCheck": { + "message": "Обновяване на стиловете", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Проверка и инсталиране на наличните обновления", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Значка на иконката на лентата", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Иконка на лентата със сечива", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Падащ прозорец", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Обновления", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Настройки", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Тъмни теми", + "description": "" + }, + "optionsIconLight": { + "message": "Светли теми", + "description": "" + }, + "optionsOpen": { + "message": "Отваряне", + "description": "" + }, + "optionsOpenManager": { + "message": "Управление на стиловете", + "description": "" + }, + "optionsPopupWidth": { + "message": "Ширина на падащия прозорец (в пиксели)", + "description": "" + }, + "optionsReset": { + "message": "Зануляване на настройки на първоначалните стойности", + "description": "" + }, + "optionsResetButton": { + "message": "Зануляване на настройките", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Още настройки", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "При внасянето на резервни копия от стари версии или от Стайлиш направете ръчна проверка за обновления, за да сте сигурни, че стиловете са актуални.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Стилове преди командите", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Брой на активните стилове за текущия сайт", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Заместване", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Заместване на всички", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Заместване с", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Внасяне на стилове", + "description": "" + }, + "search": { + "message": "Търсене", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Използвайте синтаксиса /re/ за търсене с регулярни изрази", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Добавяне на друг отдел", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Код", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Премахване на отдела", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Клавишни комбинации", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Задаване на клавишни комбинации", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Регулярният израз не е правилен.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Разкрасяване", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Отстъп на @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Назад към стиловете", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Направили сте промени по стила без да ги запазите.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Включено", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Поставете кода във формат на Мозила", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Да се инсталира ли '$stylename$'?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Въведете име", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Формат на Мозила", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Стилът не е приложен поради неправилно използване на регулярни изрази", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Има правила на регулярни изрази, които не могат да бъдат компилирани.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Стилът използва частично съвпадащи регулярни изрази и нарушава Спецификацията @document, която изисква пълно съвпадение на адреса. Засегнатите отдели не са приложени. Стилът вероятно е създаден в Stylish-for-Chrome, което неправилно проверява правилата на 'regexp()' още от първата версия (познат дефект).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Брой на неприложените отдели поради неправилно използване на регулярни изрази", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Тест на регулярния израз", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Съвпадащи подпрозорци", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Неправилните регулярни изрази са пропуснати", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Няма съвпадащи подпрозорци", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Не съвпада напълно, затова е пропуснато", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Списък със съвпадащи отворени подпрозорци (щракнете на адреса, за да се фокусира на подпрозореца)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Запазване", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Форматът на Мозила може да се подаде в userstyles.org и да се използва със Стайлиш (Stylish)", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Стил във формат на Мозила", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Сигурни ли сте, че искате да обновите '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Разширението не работи на такива страници.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Като предпазна мярка, четецът забранява на разширенията да влияят на вградените страници (например chrome://version, about:addons, стандартната страница от Хром 61 и други), както и на страниците на други разширения. Достъпът до магазина с добавки на всеки четец също е ограничен.", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Превключване на стила", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Отмяна", + "description": "Button label" + }, + "undoGlobal": { + "message": "Отмяна във всички отдели", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Няма връзка със страницата. Презаредете подпрозореца.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Разширението ще има достъп до адреси от типа file:// само ако включите съответната отметка на страницата chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Няма намерени обновления.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Някои от стиловете не са проверени, за да не се загубят местните редакции. Обновленията могат да бъдат принудени с индивидуална проверка или с пускането на още една проверка за всички (местните промени ще бъдат презаписани).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Неуспешно обновяване: сървърът отговори с код $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Неуспешно обновяване: няма връзка със сървъра.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Хронология на проверките", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Инсталиране на обновлението (местните редакции ще бъдат презаписани)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Принудителното обновяване ще презапише местните редакции.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Стилът е бил местно редактиран.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Стилът може да е бил местно редактиран.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Стилът е обновен.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Обновяването е завършено.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Инсталирани обновления:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Писане на стил за: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "този адрес", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Писане на нов стил", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "и още", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Адреси на домейна", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Използвайте 'Приложимо за', за да ограничите адресите, за които се отнася кода в отдела.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Приложимо за", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesRegexpOption": { - "message": "Адреси, съвпадащи с регулярен израз", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Премахване", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Уточняване", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Всичко", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "Адрес", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Адреси, започващи с", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Прилагане на всички обновления", - "description": "Label for the button to apply all detected updates" - }, - "backupButtons": { - "message": "Резервни копия", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Изберете файл или го влачете до страницата.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Изнасяне на стилове", - "description": "" - }, - "checkAllUpdates": { - "message": "Проверка на всички стилове за обновления", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Повторна проверка", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Проверка за обновления", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверяване...", - "description": "Text to display when checking a style for an update" - }, - "cm_autocompleteOnTyping": { - "message": "Автоматично завършване при въвеждане", - "description": "Label for the checkbox in the style editor." - }, - "cm_indentWithTabs": { - "message": "Подпрозорци с умен отстъп", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Клавиши", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Пренасяне", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Осветяване", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Само избраното", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Низа под показалеца", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Щракнете два пъти за възстановяване/увеличаване на височината", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_smartIndent": { - "message": "Умен отстъп", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Табулация", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "confirmCancel": { - "message": "Отказ", - "description": "" - }, - "confirmDelete": { - "message": "Изтриване", - "description": "" - }, - "confirmNo": { - "message": "Не", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "Добре", - "description": "" - }, - "confirmStop": { - "message": "Спиране", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "dbError": { - "message": "Възникна грешка с базата от данни. Искате ли да посетите страницата с възможни решения?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "по подразбиране", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Сигурни ли сте, че искате да изтриете стила?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Изтриване", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Пресъздайте стила на Мрежата със Стайлус, разширението за стилове. То ви позволява лесно да инсталиране теми за много сайтове.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Изключване на всички стилове", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Изключване", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Пуснете резервното копие където и да е по страницата, за да го внесете.", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "Изтриване", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Отиване на ред", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Редактиране на стила", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Редактиране", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Редактиране на стила $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Включване", - "description": "Label for the button to enable a style" - }, - "exportLabel": { - "message": "Изнасяне", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "findStylesForSite": { - "message": "Още стилове за този сайт", - "description": "Text for a link that gets a list of styles for the current site" - }, - "genericDisabledLabel": { - "message": "Изключено", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericHistoryLabel": { - "message": "Хронология", - "description": "Used in various places to show a history log of something" - }, - "helpAlt": { - "message": "Помощ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Въведете име", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Натиснете клавиш", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Прибавяне към стила", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Прибавяне на внесения стил към текущия", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Внасяне", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Презаписване на стила", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Презаписване на съдържанието на текщия стил с това от внесения", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "добавени", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "пропуснати еднакви", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "пропуснати невалидни", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "с обновени код и метаданни", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "с обновен код", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "с обновени метаданни", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Внасянето на стилове завърши", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Нищо не беше променено.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "върнати стила", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Внасянето беше отменено", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installUpdate": { - "message": "Инсталиране на обновлението", - "description": "Label for the button to install an update for a single style" - }, - "linkGetHelp": { - "message": "Помощ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Вземете стилове", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linterIssues": { - "message": "Проблеми", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Проблеми, намерени от $link$ при следните правила:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "manageFavicons": { - "message": "Иконки на приложимите сайтовете", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Сиви", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Разширението използва външна услуга https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Филтри", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Инсталирани стилове", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Брой на видимите приложими адреси", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewUI": { - "message": "Нов интерфейс за управление", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyEnabled": { - "message": "Само включените стилове", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyLocal": { - "message": "Само местно създадените стилове", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(стиловете, които не са инсталирани през userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyUpdates": { - "message": "Само стилове с обновления или проблеми", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageTitle": { - "message": "Стилове", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Брой на активните стилове", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "noStylesForSite": { - "message": "Няма инсталирани стилове за сайта.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Управление", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Управление на стиловете", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Действия", - "description": "" - }, - "optionsAdvanced": { - "message": "Разширени", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Добавяне на 'Изтриване' в контекстното меню на редактора", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Разкриване на 'iframes' чрез HTML[stylus-iframe]", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Цвят на фона, когато е изключено", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Цвят на фона", - "description": "" - }, - "optionsCheck": { - "message": "Обновяване на стиловете", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Проверка и инсталиране на наличните обновления", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Значка на иконката на лентата", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Иконка на лентата със сечива", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Падащ прозорец", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Обновления", - "description": "" - }, - "optionsHeading": { - "message": "Настройки", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Тъмни теми", - "description": "" - }, - "optionsIconLight": { - "message": "Светли теми", - "description": "" - }, - "optionsOpen": { - "message": "Отваряне", - "description": "" - }, - "optionsOpenManager": { - "message": "Управление на стиловете", - "description": "" - }, - "optionsPopupWidth": { - "message": "Ширина на падащия прозорец (в пиксели)", - "description": "" - }, - "optionsReset": { - "message": "Зануляване на настройки на първоначалните стойности", - "description": "" - }, - "optionsResetButton": { - "message": "Зануляване на настройките", - "description": "" - }, - "optionsSubheading": { - "message": "Още настройки", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "При внасянето на резервни копия от стари версии или от Стайлиш направете ръчна проверка за обновления, за да сте сигурни, че стиловете са актуални.", - "description": "" - }, - "popupStylesFirst": { - "message": "Стилове преди командите", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Брой на активните стилове за текущия сайт", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "replace": { - "message": "Заместване", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Заместване на всички", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Заместване с", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Внасяне на стилове", - "description": "" - }, - "search": { - "message": "Търсене", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Използвайте синтаксиса /re/ за търсене с регулярни изрази", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "sectionAdd": { - "message": "Добавяне на друг отдел", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Код", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Премахване на отдела", - "description": "Label for the button to remove a section" - }, - "shortcuts": { - "message": "Клавишни комбинации", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Задаване на клавишни комбинации", - "description": "" - }, - "styleBadRegexp": { - "message": "Регулярният израз не е правилен.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Разкрасяване", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Отстъп на @media, @supports", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Назад към стиловете", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Направили сте промени по стила без да ги запазите.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Включено", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatPrompt": { - "message": "Поставете кода във формат на Мозила", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Да се инсталира ли '$stylename$'?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleMissingName": { - "message": "Въведете име", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Формат на Мозила", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Стилът не е приложен поради неправилно използване на регулярни изрази", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Има правила на регулярни изрази, които не могат да бъдат компилирани.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Стилът използва частично съвпадащи регулярни изрази и нарушава Спецификацията @document, която изисква пълно съвпадение на адреса. Засегнатите отдели не са приложени. Стилът вероятно е създаден в Stylish-for-Chrome, което неправилно проверява правилата на 'regexp()' още от първата версия (познат дефект).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Брой на неприложените отдели поради неправилно използване на регулярни изрази", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Тест на регулярния израз", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Съвпадащи подпрозорци", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Неправилните регулярни изрази са пропуснати", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Няма съвпадащи подпрозорци", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestPartial": { - "message": "Не съвпада напълно, затова е пропуснато", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Списък със съвпадащи отворени подпрозорци (щракнете на адреса, за да се фокусира на подпрозореца)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Запазване", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Форматът на Мозила може да се подаде в userstyles.org и да се използва със Стайлиш (Stylish)", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Стил във формат на Мозила", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Сигурни ли сте, че искате да обновите '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "stylusUnavailableForURL": { - "message": "Разширението не работи на такива страници.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Като предпазна мярка, четецът забранява на разширенията да влияят на вградените страници (например chrome://version, about:addons, стандартната страница от Хром 61 и други), както и на страниците на други разширения. Достъпът до магазина с добавки на всеки четец също е ограничен.", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "toggleStyle": { - "message": "Превключване на стила", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Отмяна", - "description": "Button label" - }, - "undoGlobal": { - "message": "Отмяна във всички отдели", - "description": "CSS-beautify global Undo button label" - }, - "unreachableContentScript": { - "message": "Няма връзка със страницата. Презаредете подпрозореца.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Разширението ще има достъп до адреси от типа file:// само ако включите съответната отметка на страницата chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Няма намерени обновления.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Някои от стиловете не са проверени, за да не се загубят местните редакции. Обновленията могат да бъдат принудени с индивидуална проверка или с пускането на още една проверка за всички (местните промени ще бъдат презаписани).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Неуспешно обновяване: сървърът отговори с код $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Неуспешно обновяване: няма връзка със сървъра.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Хронология на проверките", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Инсталиране на обновлението (местните редакции ще бъдат презаписани)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Принудителното обновяване ще презапише местните редакции.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Стилът е бил местно редактиран.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Стилът може да е бил местно редактиран.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Стилът е обновен.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Обновяването е завършено.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Инсталирани обновления:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "writeStyleFor": { - "message": "Писане на стил за: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "този адрес", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - } } \ No newline at end of file diff --git a/_locales/bg_BG/messages.json b/_locales/bg_BG/messages.json index a52e967d..122429e7 100644 --- a/_locales/bg_BG/messages.json +++ b/_locales/bg_BG/messages.json @@ -1,360 +1,1586 @@ { - "addStyleLabel": { - "message": "Напиши нов стил", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Добави стил", - "description": "Title of the page for adding styles" - }, - "appliesAdd": { - "message": "Добави", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Прилага се към: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Добави стил", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Добави", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Прилага се към: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "и още", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLи на домейна", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Използвайте \"Прилага се към\", за да ограничете адресите, за които ще работи кодът в тази секция.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Прилага се към", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "Адреси, съвпадащи с regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Премахни", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Уточни", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Всички", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL започващи с", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Приложи всички промени", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Провери всички стилове за обновления", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Провери за обновление", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Проверявам...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Използвай табулация с умно отместване", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Клавишни комбинации", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Автоматично пренасяне", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Използвай умно отместване", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Размер на табулацията", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Тема", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Не", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Спри", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Да", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Грешка в базата данни на Stylus. Желаеш ли да посетиш уебстраницата с възможни решения?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "по подразбиране", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Наистина ли искаш да изтриеш този стил?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Изтрий", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Промени уеба със Stylus, мениджър на потребителски стилове. Stylus ти позволява лесно да инсталираш теми и скинове за много популярни сайтове.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Изключи всички стилове", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Забрани", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Иди на ред (или ред:кол)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Промени стила", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Редактирай", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Редактирай стил $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Разреши", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Експорт", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Помощ", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Напиши име на команда", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Натисни клавишна комбинация", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Добави към стил", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Добави импортирания стил към текущия", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Импорт", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Презапиши стила", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Презапишете съдържанието на текущия стил с импортирания", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Инсталирай стил", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Стилът е инсталиран", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Преинсталирай стила", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Обнови стила", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Инсталирай обновление", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "В момента стилът се обновява от $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Провери за обновления", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Лиценз", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Получете помощ", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Вземете стилове", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Преведете", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint не поддържа $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Укажете правилата: 0 = забранен; 1 = предупреждения; 2 = грешки)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Настройте конфигурация за $linter$ правила", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Щракнете, за да конфигурирате този linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Не е записано заради тези неправилни настройки", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Проблеми", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Тези проблеми бяха намерени от $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Невалиден JSON формат", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "За да върнете погрешно нулиране, натиснете Ctrl-Z (или Cmd-Z) в текстовия прозорец", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Вижте пълния списък с правила", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Получи се грешка докато наблюдавахме файла", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Преглед на живо", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Филтри", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Инсталирани стилове", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "като Потребителскиcss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Нова подредба на UI", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Само забранените стилове", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Само разрешените стилове", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Само външните стилове", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Само локалните стилове", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(стиловете не инсталирани чрез страницата на userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Само не-Потребителскитеcss стилове", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Само с обновления или проблеми", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Само Потребителскиcss стилове", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Напиши нов стил", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "и още", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLи на домейна", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Използвайте \"Прилага се към\", за да ограничете адресите, за които ще работи кодът в тази секция.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Прилага се към", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesRegexpOption": { - "message": "Адреси, съвпадащи с regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Премахни", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Уточни", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Всички", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL започващи с", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Приложи всички промени", - "description": "Label for the button to apply all detected updates" - }, - "checkAllUpdates": { - "message": "Провери всички стилове за обновления", - "description": "Label for the button to check all styles for updates" - }, - "checkForUpdate": { - "message": "Провери за обновление", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверявам...", - "description": "Text to display when checking a style for an update" - }, - "cm_indentWithTabs": { - "message": "Използвай табулация с умно отместване", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Клавишни комбинации", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Автоматично пренасяне", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_smartIndent": { - "message": "Използвай умно отместване", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Размер на табулацията", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "confirmNo": { - "message": "Не", - "description": "'No' button in a confirm dialog" - }, - "confirmStop": { - "message": "Спри", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "dbError": { - "message": "Грешка в базата данни на Stylus. Желаеш ли да посетиш уебстраницата с възможни решения?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "по подразбиране", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Наистина ли искаш да изтриеш този стил?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Изтрий", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Промени уеба със Stylus, мениджър на потребителски стилове. Stylus ти позволява лесно да инсталираш теми и скинове за много популярни сайтове.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Изключи всички стилове", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Забрани", - "description": "Label for the button to disable a style" - }, - "editGotoLine": { - "message": "Иди на ред (или ред:кол)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Промени стила", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Редактирай", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Редактирай стил $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Разреши", - "description": "Label for the button to enable a style" - }, - "exportLabel": { - "message": "Експорт", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "helpAlt": { - "message": "Помощ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Напиши име на команда", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Натисни клавишна комбинация", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Добави към стил", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Добави импортирания стил към текущия", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Импорт", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Презапиши стила", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Презапишете съдържанието на текущия стил с импортирания", - "description": "Label for the button to import and overwrite current style" - }, - "installButton": { - "message": "Инсталирай стил", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Стилът е инсталиран", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Преинсталирай стила", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Обнови стила", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Инсталирай обновление", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "В момента стилът се обновява от $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Провери за обновления", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Лиценз", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Получете помощ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Вземете стилове", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Преведете", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint не поддържа $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Укажете правилата: 0 = забранен; 1 = предупреждения; 2 = грешки)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Настройте конфигурация за $linter$ правила", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Щракнете, за да конфигурирате този linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Не е записано заради тези неправилни настройки", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Проблеми", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Тези проблеми бяха намерени от $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Невалиден JSON формат", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "За да върнете погрешно нулиране, натиснете Ctrl-Z (или Cmd-Z) в текстовия прозорец", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Вижте пълния списък с правила", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Получи се грешка докато наблюдавахме файла", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "Преглед на живо", - "description": "The label of live-reload feature" - }, - "manageFilters": { - "message": "Филтри", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Инсталирани стилове", - "description": "Heading for the manage page" - }, - "manageNewStyleAsUsercss": { - "message": "като Потребителскиcss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Нова подредба на UI", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Само забранените стилове", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Само разрешените стилове", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Само външните стилове", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Само локалните стилове", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(стиловете не инсталирани чрез страницата на userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Само не-Потребителскитеcss стилове", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Само с обновления или проблеми", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Само Потребителскиcss стилове", - "description": "Checkbox to show only Usercss styles" - } } \ No newline at end of file diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json index 9e26dfee..d058a54d 100644 --- a/_locales/ca/messages.json +++ b/_locales/ca/messages.json @@ -1 +1,1586 @@ -{} \ No newline at end of file +{ + "addStyleTitle": { + "message": "Add Style", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Add", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Applies to: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "and more", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs on the domain", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Applies to", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs matching the regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Remove", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specify", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Everything", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs starting with", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Apply all updates", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Check all styles for updates", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Check for update", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Checking...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Are you sure you want to delete this style?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Delete", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disable", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit Style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Enable", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Help", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installed Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Write new style", + "description": "Label for the button to go to the add style page" + } +} \ No newline at end of file diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index 23153c9b..d81ce13f 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -1,1301 +1,1586 @@ { - "addStyleLabel": { - "message": "Napsat nový styl", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Přidat styl", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Neprůhlednost", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Přidat", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Platí pro: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Přidat styl", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Neprůhlednost", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Přidat", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Platí pro: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "a další", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL adresy na doméně", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Nastavte „Platí pro“, pokud chcete omezit působnost kódu v této sekci na určité URL adresy.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Platí pro", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Zobrazit část „platí pro“", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Nefunguje s minimalizovaným CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL adresy odpovídající reg. výrazu", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Odstranit", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Poslední záznam „platí pro“ nelze odebrat.", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specifikovat", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Vše", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL adresa", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL adresy začínající", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Použít všechny aktualizace", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Zálohovat", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Vyberte soubor nebo ho přetáhněte na tuto stránku.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Exportovat styly", + "description": "" + }, + "checkAllUpdates": { + "message": "Aktualizovat všechny styly", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Vynutit aktualizaci (neprovedeny žádné změny stylů)", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Zkontrolovat aktualizace", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Kontrola…", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Klepnutím odinstalovat", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Automaticky uzavírat závorky a uvozovky", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automaticky přidat uzavírací párový znak po napsání otevíracího znaku ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Automatické dokončování během psaní", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Paleta pro CSS barvy", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Použít tabulátory s chytrým odsazením", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Přiřazení kláves", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Zalamování slov", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Zvýraznění", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Pouze výběr", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Stopa pod kurzorem", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Dvojklikem maximalizujete/obnovíte výšku", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Poklepáním vybírat tokeny", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Příklad tokenů: .foo-bar-2 #aabbcc 0.32 !important\nJe-li vypnuto, jsou vybírána slova oddělená interpunkcí.", + "description": "" + }, + "cm_smartIndent": { + "message": "Použít chytré odsazení", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Velikost tabulátorů", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Schéma", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Přepínání formátů: HEX → RGB → HSL\nShift + klik pro obrácené pořadí.\nLze použít i klávesy PgUp (PageUp), PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Otevřít paletu barev", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "při změně", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Automaticky uložit a použít změny", + "description": "" + }, + "configureStyle": { + "message": "Konfigurovat", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Konfigurovat na stránce stylu", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Storno", + "description": "" + }, + "confirmClose": { + "message": "Zavřít", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Použít výchozí", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Smazat", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Zahodit změny?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Ne", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Uložit", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Zastavit", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Ano", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Datum instalace", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Datum aktualizace", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Nastala chyba při používání Stylus databáze. Chcete navštívit webovou stránku s možnými řešeními?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "výchozí", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Opravdu chcete tento styl smazat?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Smazat", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Změňte vzhled webů pomocí správce uživatelských stylů. Stylus umožňuje snadnou instalaci vzhledů a modifikací pro spoustu webů.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Vypnout všechny styly", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Zakázat", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Pro import upusťte soubor zálohy kdekoliv na této stránce.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Smazat", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Přejít na řádek (nebo na line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Upravit styl", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Upravit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Upravit styl $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Povolit", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Exportovat", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Zpětná vazba", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Domovská stránka", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Externí odkaz", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Podpora", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Dokumentace pro Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "zobrazeno $numShown$ z $numTotal$", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Použitému filtru nevyhovují žádné styly", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Najít styly", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Najít styly pro tento web", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Zobrazit zde", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Zobrazit výsledky vyhledávání v tomto okně.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Přidat", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Duplikovat", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Zakázáno", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Povoleno", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Chyba", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Historie", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Další", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Předchozí", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Resetovat", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Uloženo", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Název", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Neznámé", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Nápověda", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Napište název příkazu", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Stiskněte kláves. zkratku", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Připojit ke stylu", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Připojit importovaný styl k současnému stylu", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importovat", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Přepsat styl", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Zahodit obsah současného stylu a přepsat ho importovaným stylem", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "přidáno", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identické přeskočeny", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "neplatné přeskočeny", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "meta informace a kód aktualizován", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "kód aktualizován", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "meta informace aktualizována", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Import stylů dokončen", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Žádné změny.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styly navráceny zpět", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import byl přerušen", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Instalovat styl", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Styl instalován", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstalovat styl", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Aktualizovat styl", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Nainstalovat aktualizaci", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Styl je aktuálně aktualizován z $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Vyhledat aktualizace", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licence", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Nápověda", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Získat styly", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Pomoci s překladem", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint nepodporuje předprocesor $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Nastavení pravidel: 0 = vypnuto; 1 = upozornění; 2 = chyba)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Nastavení $linter$ pravidel", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Upravit nastavení tohoto linteru", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Neuloženo z důvodu těchto neplatných nastavení:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problémy", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Problémy nalezené aplikací $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Neplatný JSON formát", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Chcete-li vrátit změny náhodného resetu, stiskněte v textovém poli Ctrl + Z (resp. Cmd + Z)", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Zobrazit celý seznam pravidel", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Při sledování souboru došlo k chybě", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Živá aktualizace", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicony v části „Platí pro“ ", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Zešednutí", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus používá externí službu https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtry", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Nainstalované styly", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Počet položek v části „Platí pro“", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "jako Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Nové rozložení správy rozhraní", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Pouze vypnuté styly", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Pouze povolené styly", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Pouze externí styly", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Pouze lokální styly", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(styly nenainstalované prostřednictvím webu userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Pouze non-Usercss styly", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Pouze s aktualizacemi nebo chybami", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Pouze Usercss styly", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Zobrazit počet aktivních stylů", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Očekáváno číslo", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Očekáván řetězec v uvozovkách", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Očekáván text", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Očekávané znaky: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Neznámá metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Neznámý typ @$varkey$: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Pro tento web není nainstalován žádný styl.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Spravovat", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Otevřít správce stylů", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Akce", + "description": "" + }, + "optionsAdvanced": { + "message": "Pokročilé", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Přidat tlačítko Smazat do kontextové nabídky v editoru", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Obnažit iframe prvky pomocí HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Napsat nový styl jako usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Barva pozadí při zakázání", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Barva pozadí", + "description": "" + }, + "optionsCheck": { + "message": "Aktualizovat styly", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Vyhledávat a instalovat všechny aktualizace", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Ikona tlačítka na panelu", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Ikona na panelu nástrojů", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Vyskakovací okno", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Aktualizace", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Možnosti", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Tmavé vzhledy", + "description": "" + }, + "optionsIconLight": { + "message": "Světlé vzhledy", + "description": "" + }, + "optionsOpen": { + "message": "Otevřít", + "description": "" + }, + "optionsOpenManager": { + "message": "Spravovat styly", + "description": "" + }, + "optionsPopupWidth": { + "message": "Šířka vyskakovacího okna [px]", + "description": "" + }, + "optionsReset": { + "message": "Obnovit výchozí nastavení", + "description": "" + }, + "optionsResetButton": { + "message": "Obnovit nastavení", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Další možnosti", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Importujete-li zálohy stylů ze starší verze nebo z rozšíření Stylish, proveďte jednorázovou ruční kontrolu aktualizací ve správci stylů, aby byly všechny styly aktuální.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Interval automatické aktualizace stylů v hodinách (0 = vypnuto)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Aktuální stránka", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Odhadovaný počet stránek", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Další stránka", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Předchozí stránka", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Celkový počet stránek", + "description": "" + }, + "parseUsercssError": { + "message": "Usercss nelze zpracovat:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Přidat postranní bílé okraje", + "description": "" + }, + "popupBordersTooltip": { + "message": "Užitečné pro tmavé motivy v novém Chromu, který již nevykresluje obrysové čáry", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Kliknutím zobrazíte dostupné klávesové zkratky", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift + kliknutím nebo pravým kliknutím otevřít správce se styly použitými na této stránce", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Otevírat editor v novém okně", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "K povolení dojde také při odepnutí listu editoru z okna prohlížeče,\na k vypnutí při připnutí samotného listu editoru do dalšího okna.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styly před příkazy", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Počet aktivních stylů pro současnou stránku", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Živý náhled", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Dočasně použije změny bez uložení.\nUložte styl pro trvalé zachování změn.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Nahradit", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Nahradit vše", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Nahradit s", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importovat styly", + "description": "" + }, + "search": { + "message": "Vyhledat", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Rozeznávat VELKÁ a malá písmena", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Počet shod", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Počet shod v kódu a hodnotách „platí pro“", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Použijte /re/ syntaxi pro vyhledávání s regulérními výrazy", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Celkový počet instalací", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Nenalezeny žádné styly pro tento web.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Hodnocení", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Aktualizováno", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Týdenní počet instalací", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Přidat další sekci", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Kód", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Odstranit sekci", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Obnovit odstraněnou sekci", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Zkratky", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Nastavit klávesové zkratky", + "description": "" + }, + "sortDateNewestFirst": { + "message": "nejdříve novější", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "starší nejdříve", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Zvolte způsob řazení instalovaných stylů", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Název (vzestupně)", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Název (sestupně)", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Seřadit obsah", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Tento regulérní výraz je neplatný.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Zkrášlit", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Odsadit @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Zachovat nové řádky", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Zpět ke správě", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Provedli jste změny tohoto stylu bez uložení.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Povolen", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Import z Mozilla formátu se nezdařil", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Vložte kód v Mozilla formátu", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Nainstalovat „$stylename$“ do Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Styl nelze nainstalovat.\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "Styl „$stylename$“ je již nainstalován. Přepsat?\nVerze: $oldVersion$ → $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Zadejte název", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla formát", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Styl nebyl použit kvůli nesprávnému použití „regexp()“", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Některá „regexp()“ pravidla nelze vůbec sestavit.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Tento styl obsahuje částečnou regexp shodu, která je však v rozporu s CSS4 @document specifikací, která vyžaduje přesnou shodu URL adresy. Dotčené CSS části nebyly na stránku použity. Tento styl byl pravděpodobně vytvořen v rozšíření Stylish pro Chrome, které nesprávně kontroluje regexp() pravidla již od své první verze (známá chyba).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Počet sekcí nepoužitých kvůli nesprávnému použití „regexp()“", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Otestovat RegExp", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Odpovídající listy", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Neplatné regexp přeskočeny", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Žádné odpovídající listy", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Poznámka: Používejte jen jedno zpětné lomítko „\\“ ve vstupním regexp poli – v editoru bude automaticky převedeno na „\\\\“, v souladu s normou citovaných řetězců v CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Shoda je nepřesná, proto přeskočeno", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Seznam shod otevřených listů (klepnutím na URL zaměříte daný list)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Uložit", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Kód v Mozilla formátu může být odeslán na userstyles.org a použit v aplikaci Stylish pro Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Styl v Mozilla formátu", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Určitě chcete aktualizovat „$stylename$“?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Styl byl změněn mimo editor. Chcete styl znovu načíst?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus nepracuje se stránkami jako je tato.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Jako bezpečností opatření, prohlížeč brání rozšířením v ovlivnění vestavěných stránek (např. chrome://version, nová úvodní stránka Chromu 61, about:addons, vivaldi://extensions atp.) a stránek dalších rozšíření. Každý prohlížeč také omezuje přístup do vlastního obchodu s rozšířeními (např. Chrome Web Store nebo AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Hodnotu nelze uložit. Zkuste text zkrátit.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Přepnout styl", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Zpět", + "description": "Button label" + }, + "undoGlobal": { + "message": "Zpět ve všech sekcích", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox znemožňuje přístup ke stránce.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Povolení přístupu: přejděte na , pravým myšidlem zvolte „Nový“, dále „Boolean“, zadejte kód a potvrďte, , OK, načtěte stránku .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Pouze Firefox 59 a novější může být nakonfigurován tak, aby rozšíření typu WebExtensions mohla přidávat styly na stránky chráněné CSP (Content Security Policy) – jako je tato.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Se stránkou nelze komunikovat. Zkuste znovu načíst list.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus může přistupovat k file:// URL pouze při povolení odpovídající možnosti pro rozšíření Stylus ve správci chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Aktualizace nenalezeny.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Některé aktualizovatelné styly nebyly aktualizovány kvůli zabránění ztrátám možných lokálních změn. Aktualizace může být vynucena individuálně nebo spuštěním další aktualizace všech stylů (lokální změny mohou být přepsány).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Aktualizace se nezdařila: server odpověděl kódem $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Aktualizace se nezdařila: server je nedosažitelný.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Historie aktualizací", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Instalovat aktualizaci (lokální změny budou přepsány)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Vynucení aktualizace přepíše všechny lokální úpravy.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Tento styl byl upraven lokálně.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Tento styl mohl být upraven lokálně.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Styl je aktuální.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Aktalizace dokončena.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Instalované aktualizace:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Prosím, změňte hodnotu @name nebo @namespace ať nedojde k přepsání existujícího stylu.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Styl byl aktualizován nebo smazán po zobrazení dialogu konfigurace. Tyto proměnné nebyly uloženy aby se předešlo poškození metadat stylu.", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Definujte @name v kódu", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Nahradit výchozí šablonu pro nové Usercss styly aktuálním kódem?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Prázdné @name nahrazuje výchozí šablonu", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Sem vložte kód…", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Tato verze je starší než verze nainstalovaného stylu.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Napsat nový styl pro:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "tuto URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Chcete přepsat stávající soubor?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Soubor úspěšně uložen", + "description": "" + }, + "noFileToImport": { + "message": "Před importem stylů byste je měli nejprve exportovat.", + "description": "" + }, + "connectingDropbox": { + "message": "Připojování k Dropboxu…", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Získávání všech stylů…", + "description": "" + }, + "zipStyles": { + "message": "Balení stylů…", + "description": "" + }, + "unzipStyles": { + "message": "Rozbalování stylů…", + "description": "" + }, + "readingStyles": { + "message": "Čtení stylů…", + "description": "" + }, + "uploadingFile": { + "message": "Nahrávání souboru…", + "description": "" + }, + "addStyleLabel": { + "message": "Napsat nový styl", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "a další", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL adresy na doméně", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Nastavte „Platí pro“, pokud chcete omezit působnost kódu v této sekci na určité URL adresy.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Platí pro", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Zobrazit část „platí pro“", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nefunguje s minimalizovaným CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL adresy odpovídající reg. výrazu", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Odstranit", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Poslední záznam „platí pro“ nelze odebrat.", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specifikovat", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Vše", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL adresa", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL adresy začínající", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Použít všechny aktualizace", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Zálohovat", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Vyberte soubor nebo ho přetáhněte na tuto stránku.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportovat styly", - "description": "" - }, - "checkAllUpdates": { - "message": "Aktualizovat všechny styly", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Vynutit aktualizaci (neprovedeny žádné změny stylů)", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Zkontrolovat aktualizace", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrola…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klepnutím odinstalovat", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Automaticky uzavírat závorky a uvozovky", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automaticky přidat uzavírací párový znak po napsání otevíracího znaku ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automatické dokončování během psaní", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Paleta pro CSS barvy", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Použít tabulátory s chytrým odsazením", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Přiřazení kláves", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Zalamování slov", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Zvýraznění", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Pouze výběr", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Stopa pod kurzorem", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dvojklikem maximalizujete/obnovíte výšku", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Poklepáním vybírat tokeny", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Příklad tokenů: .foo-bar-2 #aabbcc 0.32 !important\nJe-li vypnuto, jsou vybírána slova oddělená interpunkcí.", - "description": "" - }, - "cm_smartIndent": { - "message": "Použít chytré odsazení", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Velikost tabulátorů", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Schéma", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Přepínání formátů: HEX → RGB → HSL\nShift + klik pro obrácené pořadí.\nLze použít i klávesy PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Otevřít paletu barev", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "při změně", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Automaticky uložit a použít změny", - "description": "" - }, - "configureStyle": { - "message": "Konfigurovat", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Konfigurovat na stránce stylu", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Storno", - "description": "" - }, - "confirmClose": { - "message": "Zavřít", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Použít výchozí", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Smazat", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Zahodit změny?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Ne", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Uložit", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Zastavit", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ano", - "description": "'Yes' button in a confirm dialog" - }, - "dateInstalled": { - "message": "Datum instalace", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Datum aktualizace", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Nastala chyba při používání Stylus databáze. Chcete navštívit webovou stránku s možnými řešeními?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "výchozí", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Opravdu chcete tento styl smazat?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Smazat", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Změňte vzhled webů pomocí správce uživatelských stylů. Stylus umožňuje snadnou instalaci vzhledů a modifikací pro spoustu webů.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Vypnout všechny styly", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Zakázat", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Pro import upusťte soubor zálohy kdekoliv na této stránce.", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "Smazat", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Přejít na řádek (nebo na line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Upravit styl", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Upravit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Upravit styl $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Povolit", - "description": "Label for the button to enable a style" - }, - "exportLabel": { - "message": "Exportovat", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Zpětná vazba", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Domovská stránka", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Externí odkaz", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Podpora", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Dokumentace pro Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "zobrazeno $numShown$ z $numTotal$", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Použitému filtru nevyhovují žádné styly", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Najít styly", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Najít styly pro tento web", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Zobrazit zde", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Zobrazit výsledky vyhledávání v tomto okně.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Přidat", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Duplikovat", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Zakázáno", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Povoleno", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Chyba", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historie", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Další", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Předchozí", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Resetovat", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Uloženo", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Název", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Neznámé", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Nápověda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Napište název příkazu", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Stiskněte kláves. zkratku", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Připojit ke stylu", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Připojit importovaný styl k současnému stylu", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importovat", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Přepsat styl", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Zahodit obsah současného stylu a přepsat ho importovaným stylem", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "přidáno", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identické přeskočeny", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "neplatné přeskočeny", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta informace a kód aktualizován", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "kód aktualizován", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta informace aktualizována", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Import stylů dokončen", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Žádné změny.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styly navráceny zpět", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import byl přerušen", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalovat styl", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Styl instalován", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalovat styl", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Aktualizovat styl", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Nainstalovat aktualizaci", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Styl je aktuálně aktualizován z $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Vyhledat aktualizace", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licence", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Nápověda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Získat styly", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Pomoci s překladem", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint nepodporuje předprocesor $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Nastavení pravidel: 0 = vypnuto; 1 = upozornění; 2 = chyba)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Nastavení $linter$ pravidel", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Upravit nastavení tohoto linteru", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Neuloženo z důvodu těchto neplatných nastavení:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problémy", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Problémy nalezené aplikací $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Neplatný JSON formát", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Chcete-li vrátit změny náhodného resetu, stiskněte v textovém poli Ctrl + Z (resp. Cmd + Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Zobrazit celý seznam pravidel", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Při sledování souboru došlo k chybě", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "Živá aktualizace", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicony v části „Platí pro“ ", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Zešednutí", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus používá externí službu https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtry", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Nainstalované styly", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Počet položek v části „Platí pro“", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "jako Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nové rozložení správy rozhraní", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Pouze vypnuté styly", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Pouze povolené styly", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Pouze externí styly", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Pouze lokální styly", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(styly nenainstalované prostřednictvím webu userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Pouze non-Usercss styly", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Pouze s aktualizacemi nebo chybami", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Pouze Usercss styly", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Zobrazit počet aktivních stylů", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidNumber": { - "message": "Očekáváno číslo", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Očekáván řetězec v uvozovkách", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Očekáván text", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Očekávané znaky: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Neznámá metadata: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Neznámý typ @$varkey$: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "noStylesForSite": { - "message": "Pro tento web není nainstalován žádný styl.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Spravovat", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Otevřít správce stylů", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Akce", - "description": "" - }, - "optionsAdvanced": { - "message": "Pokročilé", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Přidat tlačítko Smazat do kontextové nabídky v editoru", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Obnažit iframe prvky pomocí HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Napsat nový styl jako usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Barva pozadí při zakázání", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Barva pozadí", - "description": "" - }, - "optionsCheck": { - "message": "Aktualizovat styly", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Vyhledávat a instalovat všechny aktualizace", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Ikona tlačítka na panelu", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ikona na panelu nástrojů", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Vyskakovací okno", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Aktualizace", - "description": "" - }, - "optionsHeading": { - "message": "Možnosti", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Tmavé vzhledy", - "description": "" - }, - "optionsIconLight": { - "message": "Světlé vzhledy", - "description": "" - }, - "optionsOpen": { - "message": "Otevřít", - "description": "" - }, - "optionsOpenManager": { - "message": "Spravovat styly", - "description": "" - }, - "optionsPopupWidth": { - "message": "Šířka vyskakovacího okna [px]", - "description": "" - }, - "optionsReset": { - "message": "Obnovit výchozí nastavení", - "description": "" - }, - "optionsResetButton": { - "message": "Obnovit nastavení", - "description": "" - }, - "optionsSubheading": { - "message": "Další možnosti", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Importujete-li zálohy stylů ze starší verze nebo z rozšíření Stylish, proveďte jednorázovou ruční kontrolu aktualizací ve správci stylů, aby byly všechny styly aktuální.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Interval automatické aktualizace stylů v hodinách (0 = vypnuto)", - "description": "" - }, - "paginationCurrent": { - "message": "Aktuální stránka", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Odhadovaný počet stránek", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Další stránka", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Předchozí stránka", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Celkový počet stránek", - "description": "" - }, - "parseUsercssError": { - "message": "Usercss nelze zpracovat:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupBorders": { - "message": "Přidat postranní bílé okraje", - "description": "" - }, - "popupBordersTooltip": { - "message": "Užitečné pro tmavé motivy v novém Chromu, který již nevykresluje obrysové čáry", - "description": "" - }, - "popupHotkeysTooltip": { - "message": "Kliknutím zobrazíte dostupné klávesové zkratky", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift + kliknutím nebo pravým kliknutím otevřít správce se styly použitými na této stránce", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupOpenEditInWindow": { - "message": "Otevírat editor v novém okně", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "K povolení dojde také při odepnutí listu editoru z okna prohlížeče,\na k vypnutí při připnutí samotného listu editoru do dalšího okna.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styly před příkazy", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Počet aktivních stylů pro současnou stránku", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Živý náhled", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Dočasně použije změny bez uložení.\nUložte styl pro trvalé zachování změn.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Nahradit", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Nahradit vše", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Nahradit s", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importovat styly", - "description": "" - }, - "search": { - "message": "Vyhledat", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Rozeznávat VELKÁ a malá písmena", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Počet shod", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Počet shod v kódu a hodnotách „platí pro“", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Použijte /re/ syntaxi pro vyhledávání s regulérními výrazy", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Celkový počet instalací", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nenalezeny žádné styly pro tento web.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "Hodnocení", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Aktualizováno", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Týdenní počet instalací", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Přidat další sekci", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kód", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Odstranit sekci", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Obnovit odstraněnou sekci", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Zkratky", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Nastavit klávesové zkratky", - "description": "" - }, - "sortDateNewestFirst": { - "message": "nejdříve novější", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "starší nejdříve", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Zvolte způsob řazení instalovaných stylů", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Název (vzestupně)", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Název (sestupně)", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelpTitle": { - "message": "Seřadit obsah", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Tento regulérní výraz je neplatný.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Zkrášlit", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Odsadit @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Zachovat nové řádky", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Zpět ke správě", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Provedli jste změny tohoto stylu bez uložení.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Povolen", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Import z Mozilla formátu se nezdařil", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Vložte kód v Mozilla formátu", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Nainstalovat „$stylename$“ do Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Styl nelze nainstalovat.\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "Styl „$stylename$“ je již nainstalován. Přepsat?\nVerze: $oldVersion$ → $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Zadejte název", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla formát", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Styl nebyl použit kvůli nesprávnému použití „regexp()“", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Některá „regexp()“ pravidla nelze vůbec sestavit.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Tento styl obsahuje částečnou regexp shodu, která je však v rozporu s CSS4 @document specifikací, která vyžaduje přesnou shodu URL adresy. Dotčené CSS části nebyly na stránku použity. Tento styl byl pravděpodobně vytvořen v rozšíření Stylish pro Chrome, které nesprávně kontroluje regexp() pravidla již od své první verze (známá chyba).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Počet sekcí nepoužitých kvůli nesprávnému použití „regexp()“", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Otestovat RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Odpovídající listy", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Neplatné regexp přeskočeny", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Žádné odpovídající listy", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Poznámka: Používejte jen jedno zpětné lomítko „\\“ ve vstupním regexp poli – v editoru bude automaticky převedeno na „\\\\“, v souladu s normou citovaných řetězců v CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Shoda je nepřesná, proto přeskočeno", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Seznam shod otevřených listů (klepnutím na URL zaměříte daný list)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Uložit", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Kód v Mozilla formátu může být odeslán na userstyles.org a použit v aplikaci Stylish pro Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Styl v Mozilla formátu", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Určitě chcete aktualizovat „$stylename$“?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Styl byl změněn mimo editor. Chcete styl znovu načíst?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus nepracuje se stránkami jako je tato.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Jako bezpečností opatření, prohlížeč brání rozšířením v ovlivnění vestavěných stránek (např. chrome://version, nová úvodní stránka Chromu 61, about:addons, vivaldi://extensions atp.) a stránek dalších rozšíření. Každý prohlížeč také omezuje přístup do vlastního obchodu s rozšířeními (např. Chrome Web Store nebo AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Hodnotu nelze uložit. Zkuste text zkrátit.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Přepnout styl", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Zpět", - "description": "Button label" - }, - "undoGlobal": { - "message": "Zpět ve všech sekcích", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox znemožňuje přístup ke stránce.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Povolení přístupu: přejděte na , pravým myšidlem zvolte „Nový“, dále „Boolean“, zadejte kód a potvrďte, , OK, načtěte stránku .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Pouze Firefox 59 a novější může být nakonfigurován tak, aby rozšíření typu WebExtensions mohla přidávat styly na stránky chráněné CSP (Content Security Policy) – jako je tato.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Se stránkou nelze komunikovat. Zkuste znovu načíst list.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus může přistupovat k file:// URL pouze při povolení odpovídající možnosti pro rozšíření Stylus ve správci chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Aktualizace nenalezeny.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Některé aktualizovatelné styly nebyly aktualizovány kvůli zabránění ztrátám možných lokálních změn. Aktualizace může být vynucena individuálně nebo spuštěním další aktualizace všech stylů (lokální změny mohou být přepsány).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Aktualizace se nezdařila: server odpověděl kódem $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Aktualizace se nezdařila: server je nedosažitelný.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historie aktualizací", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalovat aktualizaci (lokální změny budou přepsány)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Vynucení aktualizace přepíše všechny lokální úpravy.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Tento styl byl upraven lokálně.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Tento styl mohl být upraven lokálně.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Styl je aktuální.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aktalizace dokončena.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Instalované aktualizace:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Prosím, změňte hodnotu @name nebo @namespace ať nedojde k přepsání existujícího stylu.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Styl byl aktualizován nebo smazán po zobrazení dialogu konfigurace. Tyto proměnné nebyly uloženy aby se předešlo poškození metadat stylu.", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Definujte @name v kódu", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Nahradit výchozí šablonu pro nové Usercss styly aktuálním kódem?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Prázdné @name nahrazuje výchozí šablonu", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Sem vložte kód…", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Tato verze je starší než verze nainstalovaného stylu.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Napsat nový styl pro:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "tuto URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "overwriteFileExport": { - "message": "Chcete přepsat stávající soubor?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Soubor úspěšně uložen", - "description": "" - }, - "noFileToImport": { - "message": "Před importem stylů byste je měli nejprve exportovat.", - "description": "" - }, - "connectingDropbox": { - "message": "Připojování k Dropboxu…", - "description": "" - }, - "gettingStyles": { - "message": "Získávání všech stylů…", - "description": "" - }, - "zipStyles": { - "message": "Balení stylů…", - "description": "" - }, - "unzipStyles": { - "message": "Rozbalování stylů…", - "description": "" - }, - "readingStyles": { - "message": "Čtení stylů…", - "description": "" - }, - "uploadingFile": { - "message": "Nahrávání souboru…", - "description": "" - } } \ No newline at end of file diff --git a/_locales/da/messages.json b/_locales/da/messages.json index 3e202611..6e57370f 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -1,131 +1,1586 @@ { - "addStyleLabel": { - "message": "Skriv ny stil", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Tilføj stil", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Gennemsigtighed", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Tilføj", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Anvendes på: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Tilføj stil", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Gennemsigtighed", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Tilføj", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Anvendes på: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "og mere", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL'er på domænet", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Brug 'Anvendt på'-styring til at begrænse hvilke URL'er koden i denne sektion anvendes på.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Anvendes på", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Vis 'Anvendes på'-info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL'er der matcher regexp'en", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Fjern", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Kan ikke fjerne sidste 'Anvendes på'-optegnelse", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specificér", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Alt", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL'er der starter med", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Anvend alle opdateringer", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Forfatter", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Vælg en fil eller træk og slip til denne side.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Eksportér stil", + "description": "" + }, + "checkAllUpdates": { + "message": "Tjek alle stiler for opdateringer", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Tjek igen, jeg redigerede ikke nogen stil!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Tjek efter opdatering", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Tjekker...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Klik for at afinstallere", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Luk automatisk paranteser og citationstegn", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Tilføj automatisk et lukket par når man åbner en af ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autoudfyld på indtastning", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Farvevælgere for CSS-farver", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Brug tabs med smart indrykning", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Tastegenveje", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Are you sure you want to delete this style?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Delete", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disable", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit Style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Enable", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Help", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installed Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Skriv ny stil", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "og mere", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL'er på domænet", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Brug 'Anvendt på'-styring til at begrænse hvilke URL'er koden i denne sektion anvendes på.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Anvendes på", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Vis 'Anvendes på'-info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesRegexpOption": { - "message": "URL'er der matcher regexp'en", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Fjern", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kan ikke fjerne sidste 'Anvendes på'-optegnelse", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificér", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alt", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL'er der starter med", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Anvend alle opdateringer", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Forfatter", - "description": "Label for the style author" - }, - "backupMessage": { - "message": "Vælg en fil eller træk og slip til denne side.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Eksportér stil", - "description": "" - }, - "checkAllUpdates": { - "message": "Tjek alle stiler for opdateringer", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Tjek igen, jeg redigerede ikke nogen stil!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Tjek efter opdatering", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Tjekker...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klik for at afinstallere", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Luk automatisk paranteser og citationstegn", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Tilføj automatisk et lukket par når man åbner en af ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autoudfyld på indtastning", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Farvevælgere for CSS-farver", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Brug tabs med smart indrykning", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tastegenveje", - "description": "Label for the drop-down list controlling the keymap for the style editor." - } } \ No newline at end of file diff --git a/_locales/de/messages.json b/_locales/de/messages.json index b96fe440..c07ab3ed 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -1,1679 +1,1586 @@ { - "addStyleLabel": { - "message": "Neuen Style erstellen", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Style hinzufügen", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Deckkraft", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Hinzufügen", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Gilt für: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Style hinzufügen", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Deckkraft", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Hinzufügen", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Gilt für: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "und weitere", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs auf der Domain", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Lege mit den Einstellungen von \"Gilt für\" fest, für welche URLs der Code in diesem Bereich gelten soll.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Gilt für", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Zeige \"Gilt für\" Info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Funktioniert nicht mit minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs, die mit der RegExp übereinstimmen", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Löschen", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Kann letzten \"Gilt für\" Eintrag nicht entfernen", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Angeben", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Alles", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs beginnend mit", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Alle Updates übernehmen ", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Datensicherung", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Wähle eine Datei aus oder ziehe die Datei auf diese Seite. (Drag and Drop)", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Styles exportieren", + "description": "" + }, + "checkAllUpdates": { + "message": "Nach Updates suchen", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Nochmal prüfen, ich habe keine Styles bearbeitet!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Nach Update suchen", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Suche nach Updates...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Klicken zum Deinstallieren", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Klammern automatisch schließen", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Wenn ( [ { ' \" geschrieben werden, automatisch schließende ) ] } ' \" setzen", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autovervollständigen bei Eingabe", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Farbwähler für CSS-Farben", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Tabs mit intelligentem Einzug", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Tastaturbelegung", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Automatischer Zeilenumbruch", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Hervorheben", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Nur die Auswahl", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Unter dem Textzeiger", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Doppelklick, um Höhe zu maximieren / wiederherzustellen", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Doppelklick markiert Zeichenkette", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Beispiele von Zeichenketten: .foo-bar-2 #aabbcc 0.32 !important\nWenn deaktiviert, werden Wörter je nach Interpunktion ausgewählt.", + "description": "" + }, + "cm_smartIndent": { + "message": "Intelligenter Einzug", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab-Größe", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Rechtsklicke auf ein Farbmuster, um durch die entsprechenden Codezeilen zu springen", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Formate wechseln: HEX -> RGB ->HSL.\nShift-Klick, um Richtung umzukehren.\nKürzel: Bild auf- und Bild ab-Tasten.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Farbwähler öffnen", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "bei Änderung", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Änderungen automatisch speichern und übernehmen", + "description": "" + }, + "configureStyle": { + "message": "Konfigurieren", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Auf Homepage konfigurieren", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Abbrechen", + "description": "" + }, + "confirmClose": { + "message": "Schließen", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Voreinstellung verwenden", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Löschen", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Änderungen verwerfen?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Nein", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Speichern", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stopp", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Ja", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "In die Zwischenablage kopiert", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "In die Zwischenablage kopieren", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Neuen Anzeigenamen des Styles hier eingeben, um trotzdem weiterhin Updates zu erhalten", + "description": "" + }, + "customNameResetHint": { + "message": "Eigenen Anzeigenamen nicht mehr benutzen, wechsle wieder zum Standardnamen des Styles", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Installationsdatum", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Updatedatum", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Ein Fehler ist beim Verwenden der Stylus-Datenbank aufgetreten. Willst Du eine Webseite mit möglichen Lösungen besuchen?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "Standard", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Möchtest Du diesen Style wirklich löschen?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Löschen", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Gestalte das Web neu mit Stylus, dem Style Manager. Stylus ermöglicht dir ganz einfach Themes und Designs für viele beliebte Webseiten zu installieren.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Alle Styles deaktivieren", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Deaktivieren", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Ziehe die Backup Datei zum importieren an irgendeinen Ort auf dieser Seite.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Ziehe die Datei auf die Tableiste, um sie zu installieren.", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Löschen", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Gehe zu Zeile (oder Zeile:Zeichen)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Style bearbeiten", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Bearbeiten", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Style $stylename$ bearbeiten", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Aktivieren", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Aktuelle Domain ausschließen", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Aktuelle URL ausschließen", + "description": "" + }, + "exportLabel": { + "message": "Exportieren", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Externer Link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "zur Supportseite", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Dokumentation für UserCSS", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ von $numTotal$ gesamt", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Aktuell angewandte Filter treffen auf keinen Style zu", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Styles finden", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Weitere Styles für diese Seite finden", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Ergebnisse hier anzeigen", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Suchergebnisse in diesem Fenster anzeigen.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Hinzufügen", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Kopieren", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Deaktiviert", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Aktiviert", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Fehler", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Verlauf", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Weiter", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Zurück", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Zurücksetzen", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Gespeichert", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Name", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unbekannt", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Hilfe", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Befehlsnamen eingeben", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Hotkey drücken", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "Dieser Host wurde deaktiviert, weil die aktuell genutzte Version deines Browsers einen Fehler enthält.", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Zum Style anfügen", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Füge den importierten Style an den aktuellen", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importieren", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Ein Style mit einem @preprocessorfunktioniert nicht im klassischen Modus. Du kannst den Editor auf UserCSS umstellen: 1) Öffne den Style-Manager, 2) Aktiviere das Kästchen \"Als UserCSS\", 3) Klicke auf \"Neuen Style erstellen\"\n\nTrotzdem jetzt importieren?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Mögliches Problem wegen @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Style überschreiben", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Verwerfe den aktuellen Style-Inhalt und überschreibe ihn mit dem importierten", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "Hinzugefügt", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "Identische übersprungen", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "Ungültige übersprungen", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "Aktualisierte Codes und Metadaten", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "Aktualisierter Code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "Aktualisierte Metadaten", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Importieren der Styles abgeschlossen.", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nichts wurde geändert.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "Styles wiederherstellt", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Importierung wurde rückgängig gemacht.", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Style installieren", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installiert", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Style neu installieren", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Style updaten", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Update installieren", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Style erhält momentan Updates von $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Nach Updates suchen", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Lizenz", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Hilfeseite anzeigen", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Styles beziehen", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Übersetzen", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint unterstützt den $preprocessorname$ Präprozessor nicht", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Regeln: 0 = Deaktiviert; 1 = Warnung; 2 = Fehler)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Einstellungen für $linter$", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Klicken, um diesen Linter zu konfigurieren", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Nicht gespeichert aufgrund folgender ungültiger Einstellungen:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Probleme", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Folgende Probleme wurden von $link$ gefunden:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Ungültiges JSON Format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Um versehentliches Zurücksetzen rückgängig zu machen, drücke Strg+Z im Textfenster", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Vollständige Liste der Regeln anzeigen", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Bei der Echtzeitaktualisierung der Datei ist ein Fehler aufgetreten", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Lasse diesen Tab geöffnet, um den Style bei externen Änderungen automatisch zu aktualisieren.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Lasse diesen und den Originaltab offen, um den Style bei externen Änderungen automatisch zu aktualisieren.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Echtzeitaktualisierung", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in der \"Gilt für\" Spalte anzeigen", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Ausgegraut", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus nutzt hierzu den externen Dienst https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filter", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installierte Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Anzahl der \"Gilt für\" Elemente", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "als UserCSS", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Neues Verwaltungs-Layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Nur deaktivierte Styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Nur aktivierte Styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Nur externe Styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Nur lokale Styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(Diese Styles wurden nicht durch userstyles.org installiert)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Keine UserCSS Styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Nur mit Updates oder Problemen", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Nur UserCSS Styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Anzahl der aktiven Styles anzeigen", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Ungültige @var Checkbox: Wert muss 0 oder 1 sein", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Ungültige @var Farbe: $color$ ist keine Farbe", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Ungültige @var $type$: Wert muss eine Zahl oder ein Array sein", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Ungültige @var $type$: Mehrere Einheiten sind definiert", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Ungültige @var $type$: Der Array enthält zu viele Elemente", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Ungültige @var $type$: Elemente im Array müssen Zahlen, Strings oder null sein", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Ungültige @var $type$: Standardwert ist null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Ungültige @var $type$: Standardwert ist geringer als das Minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Ungültige @var $type$: Standardwert ist größer als das Maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Ungültige @var $type$: Standardwert ist kein Vielfaches der Schrittweite", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Ungültige @var $type$: '$units$' ist keine gültige Einheit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Ungültiges @var select: Der Standardwert muss eine Array oder Objekt sein", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Ungültiges @var select: Werte innerhalb des Arrays/Objekts müssen Strings sein", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Ungültiges @var select: Die Auswahlliste ist leer", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Ungültiges @var select: Beschriftung der Auswahlmöglichkeiten ist leer", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Ungültiges @var select: Mehrere Standardauswahlen sind definiert", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Ungültiges @var select: Doppelte Optionsnamen", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Ungültiges @var select: Wert existiert nicht in der Auswahlliste", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Ungültiges URL Protokoll. Nur http und https sind erlaubt: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Ungültige Versionsnummer: Der Wert entspricht nicht dem SemVer Schema: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Erwarte Zahl", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Erwarte String in Anführungszeichen", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Erwarte ein Wort", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Erwarte Zeichen: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Erwarte EOT Daten", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Erforderliche Metadaten fehlen: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Ungültiges JSON: $literal$ ist kein gültiges JSON Symbol", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unbekannte Metadaten: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unbekannter @$varkey$ Typ: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unbekannter @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Für diese Webseite sind keine Styles installiert.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Zeile:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Verwalten", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Optionen", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Style Verwaltung öffnen", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Aktionen", + "description": "" + }, + "optionsAdvanced": { + "message": "Erweitert", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "\"Löschen\" im Editor-Kontextmenü hinzufügen", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Ermögliche Iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Style wirkt sich auch auf iframes der anvisierten (obersten) Domain aus.\nIframe-spezifisches CSS ist dann wie folgt möglich:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Schreibe neuen Style als UserCSS", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "CSPabändern, um externe Ressourcen zu erlauben", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Aktivieren, wenn Styles Bilder oder Schriftarten enthalten, die aufgrund strenger CSP (Content-Security-Policy) Regeln mancher Seiten nicht laden.\n\nDas Aktivieren wird CSPBeschränkungen lockern, um für den Style erforderliche Ressourcen zu laden. Diese Option ist für fortgeschrittene Benutzer gedacht, die sich den möglichen Sicherheitsrisiken bewusst sind und die die Verantwortung dafür tragen, die nachgeladenen Inhalte selbst zu überwachen. Informiere dich über \"CSS-basierte Angriffe\" um mehr zu erfahren.\n\nBeachte außerdem, dass diese Option nicht garantiert funktioniert, falls eine andere installierte Erweiterung die Netzwerkantwort (CSP-header) zuerst abändert.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Style unverzüglich einfügen", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Aktivieren, falls während dem Browsen ungestylter Inhalt aufblitzt (FOUC). Besonders auffällig bei dunklen Styles.\n\nDer technische Grund ist, dass Chrome/Chromium die asynchrone Kommunikation von Erweiterungen zeitlich nach hinten verschiebt, um vermeintlich die Seitenladegeschwindigkeit zu erhöhen. Dies kann das Einfügen von Styles spürbar verzögern. Da für WebExtensions keine synchrone API bereitgestellt wird, versucht Stylus als Notbehelf, Styles über die veraltete XMLHttpRequest web API zu laden. Es sollten keine nachteiligen Effekte eintreten, weil die Anfrage innerhalb weniger Millisekunden abgearbeitet wird, während die Seite noch vom Server geladen wird.\n\nTrotzdem wird Chromium eine Warnung in der Entwicklerkonsole ausgeben. Über Rechtsklick auf die Warnung können zukünftige Meldungen versteckt werden.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Hintergrundfarbe wenn deaktiviert", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Hintergrundfarbe", + "description": "" + }, + "optionsCheck": { + "message": "Styles aktualisieren", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Alle verfügbaren Updates Installieren", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge auf dem Toolbar-Icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Symbolleisten-Icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Mit Cloud synchronisieren", + "description": "" + }, + "optionsHeading": { + "message": "Optionen", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dunkle Browser-Themes", + "description": "" + }, + "optionsIconLight": { + "message": "Helle Browser-Themes", + "description": "" + }, + "optionsOpen": { + "message": "Öffnen", + "description": "" + }, + "optionsOpenManager": { + "message": "Verwaltung", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup-Breite (in Pixeln)", + "description": "" + }, + "optionsReset": { + "message": "Setzt diese Einstellungen auf die Standard-Werte zurück.", + "description": "" + }, + "optionsResetButton": { + "message": "Optionen zurücksetzen", + "description": "" + }, + "optionsStylusThemes": { + "message": "Stylus UI-Theme suchen", + "description": "" + }, + "optionsSubheading": { + "message": "Mehr Optionen", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Nach dem Importieren von Styles aus einer alten Version oder von Stylish ist eine einmalige manuelle Updatesuche in der Verwaltung nötig. Dies stellt sicher, dass alle Styles auf dem aktuellsten Stand sind.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Style-Updateintervall in Stunden (0 zum Deaktivieren)", + "description": "" + }, + "optionsSyncNone": { + "message": "Nichts", + "description": "" + }, + "optionsSyncConnect": { + "message": "Verbinden", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Trennen", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Jetzt synchronisieren", + "description": "" + }, + "optionsSyncLogin": { + "message": "Anmelden", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Hole Style $loaded$ von $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Lade Style $loaded$ von $total$ hoch", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Synchronisiere...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Verbinde...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Verbunden", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Trenne Verbindung...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Verbindung getrennt", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session abgelaufen, bitte neu einloggen.", + "description": "" + }, + "paginationCurrent": { + "message": "Aktuelle Seite", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Geschätzte Seitenanzahl", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Nächste Seite", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Vorherige Seite", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Gesamtzahl der Seiten", + "description": "" + }, + "parseUsercssError": { + "message": "UserCSS parsen fehlgeschlagen:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Styles im Popup sofort neu sortieren", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Weiße Rahmen an den Seiten hinzufügen", + "description": "" + }, + "popupBordersTooltip": { + "message": "Nützlich für dunkle Themes im neuen Chrome, da dort die Seitenränder nicht mehr gefärbt werden", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<0>-<9> (auch auf NumPad) schaltet den n-ten Style um (0 ist 10)\n- schaltet ersten Style, dessen Name mit diesem Buchstaben beginnt, um\n öffnet Editor statt umzuschalten\n aktiviert die aufgeführten Styles\n deaktiviert die aufgeführten Styles\n schaltet anfänglich aktivierte Styles um. Trifft nicht auf Styles zu, die erst aktiviert werden, wenn das Popup noch geöffnet ist. Dadurch kann z.B. die Anfangseinstellung nach einem Test wiederhergestellt werden: \nMehr dazu im Wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Klicke, um Tastenkürzel zu sehen", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift+Klick oder Rechtsklick öffnet den Stylemanager mit Filter für Styles der aktuellen Seite", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Aktionsmenü", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Einfaches Fenster verwenden (keine Omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Editor in neuem Fenster öffnen", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Wird auch aktiviert durch Lösen des Editor-Tabs vom Browserfenster\nund deaktiviert durch Zusammenführen eines Editor-Tabs mit einem anderen Fenster.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles vor den Bedienelementen", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Anzahl der aktiven Styles auf der aktuellen Seite", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Echtzeitvorschau", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Übernimmt die Änderungen nur vorübergehend.\nSpeichere den Style, um die Änderungen dauerhaft anzuwenden.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Stylus Addon neu laden", + "description": "Context menu reload" + }, + "replace": { + "message": "Ersetzen", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Alles ersetzen", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Ersetzen durch", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Styles importieren", + "description": "" + }, + "search": { + "message": "Suche", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Groß- / Kleinschreibung beachten", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Auch globale Styles suchen", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Trefferanzahl", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Trefferanzahl im Code und in \"Gilt für\" Feldern", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Stylenamen ohne Beachtung der Groß-/Kleinschreibung suchen:\nMehrere Suchworte - alle Wörter in beliebiger Reihenfolge\n\"Bestimmte Phrase\" - genau diese Phrase ohne Anführungszeichen\n2020 - zeigt auch Styles, die 2020 aktualisiert wurden", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Verwende die /re/ Syntax zur Suche als RegExp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Gesamte Installationen", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Keine Styles für diese Seite gefunden.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "Der Style wurde installiert, gilt aber nicht für die aktuelle URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Frage den Autor des Styles, ob er die URL hinzufügt.\n\nDu kannst den Style auch selbst bearbeiten,\naber dann werden automatische Updates für diesen Style deaktiviert.", + "description": "" + }, + "searchResultRating": { + "message": "Bewertung", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Aktualisiert am", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Wöchentliche Installationen", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "Alles", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS Code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": "Die -Taste (Numpad) oder fokussieren das Suchfeld.\nEinfacher Text: Sucht mit Leerzeichen getrennte Wörter in beliebiger Reihenfolge.\nSuche nach genauem Ausdruck: Anführungszeichen verwenden, z.B. <\".header ~ div\">\nRegExp: Nutze Schrägstrich und Flags, z.B. \nStyles, die auf eine URL passen: Aktiviere \"Nach URL\" und suche nach einer vollständigen URL, z.B. https://www.example.org/\nMetadaten: Aktiviere das Kontrollkästchen für Metadaten, um in Namen, \"Gilt für\" Feldern, Installations-URL, Update-URL und dem gesamten Metadatenblock in UserCSS Styles zu suchen.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "Nach URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadaten", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Weiteren Bereich hinzufügen", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Bereich entfernen", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Gelöschten Bereich wiederherstellen", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Bereiche", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Tastenkürzel", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Eine Tastenkombination definieren", + "description": "" + }, + "sortDateNewestFirst": { + "message": "neueste zuerst", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "älteste zuerst", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Wähle eine Sortierreihenfolge für die installierten Styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Name aufsteigend", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Name absteigend", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Wähle die anzuwendende Sortierart aus dem Dropdown-Menü aus. Die Standardeinstellung sortiert aufsteigend nach Name des Styles (A bis Z). Innerhalb der \"Name absteigend\"-Gruppe wird von Z bis A sortiert.\nEs gibt andere Voreinstellungen, die es erlauben, Einträge nach mehreren Kriterien zu sortieren. Stelle es dir vor wie bei einer Tabellensortierung mit mehreren Spalten. Jede Kategorie (vor bzw. nach Pluszeichen) stellt dabei eine Spalte dar.\nIst die Einstellung beispielsweise \"Aktiviert (zuerst) + Name\", dann werden die Einträge so sortiert, dass alle aktivierten Styles zuerst stehen (von A bis Z) und dann alle deaktivierten Styles (wieder von A beginnend bis Z).", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Inhalte sortieren", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regulärer Ausdruck (RegExp) ist ungültig.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Code formatieren", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hinweis: Mache einen Rechtsklick auf \"Code formatieren\" oder nutze das weiter unten definierte Tastenkürzel, um den Code zu formatieren ohne dieses Fenster anzuzeigen.", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Rücke @media / @supports ein", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Leerzeilen schützen", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Zurück zum Verwalten", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Du hast Änderungen an diesem Style vorgenommen, ohne diese zu speichern.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Aktiviert", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Import vom Mozilla Format fehlgeschlagen", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla-Format Code einfügen", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "\"$stylename$\" mit Stylus installieren?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Installation des Styles fehlgeschlagen!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "\"$stylename$\" ist bereits installiert. Überschreiben?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Bitte Namen eingeben", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Der Style wurde aufgrund ungültiger RegExp nicht angewandt.", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Einige RegExp konnten nicht kompiliert werden.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Dieser Style verwendet nur teilweise übereinstimmende RegExp unter Missachtung der CSS4 @document Spezifikationen, welche eine vollständig übereinstimmende URL benötigen. Die betroffenen CSS-Bereiche wurde nicht auf die Website angewandt. Dieser Style wurde wahrscheinlich unter Stylish für Chrome erstellt, in der seit der ersten Version eine fehlerhafte Überprüfung der RegExp besteht (bekannter Fehler).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Anzahl der Bereiche, welche aufgrund nicht korrekt verwendeter RegExp nicht angewendet wurden", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp testen", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Zutreffende Tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Übersprungene ungültige RegExp", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Keine zutreffenden Tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Beachte: Nutze einzelne \\ (Backslashes) zum Escapen im RegExp Feld. Diese werden automatisch im Stylecode zu doppelten \\\\ konvertiert, um der CSS Spezifikation zu entsprechen.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Keine genaue Übereinstimmung, wurde daher übersprungen.", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Liste der zutreffenden, geöffneten Tabs (URL anklicken, um den Tab zu fokussieren)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Speichern", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Das Mozilla-Format des Codes kann mit Stylish für Firefox verwendet werden und bei userstyles.org eingereicht werden.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style im Mozilla Format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Möchtest Du \"$stylename$\" wirklich aktualisieren?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Der Style wurde außerhalb des Editors verändert. Style neu laden?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus funktioniert nicht auf Seiten wie diesen.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Als Sicherheitsvorkehrung verbietet der Browser es Erweiterungen, seine eingebauten Seiten (wie chrome://version, dem neuen Standard-Tab ab Chrome 61, about:addons, usw.), sowie Seiten anderer Erweiterungen zu beeinflussen. Jeder Browser beschränkt auch den Zugriff auf seine eigene Erweiterungsgalerie (wie Chrome Web Store oder addons.mozilla.org).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Der Wert kann nicht gespeichert werden. Versuche, die Textmenge zu reduzieren.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Synchronisation fehlgeschlagen", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Synchronisation fehlgeschlagen.\nVersuche, dich in den Optionen neu einzuloggen:\nKlicke erst \"Trennen\", dann \"Verbinden\".", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Style umschalten", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Rückgängig", + "description": "Button label" + }, + "undoGlobal": { + "message": "Rückgängig machen in allen Bereichen", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox verbietet den Zugriff auf diese Seite.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Um den Zugriff zu erlauben, öffne , rechtsklicke in die Liste, klicke \"Neu\", dann \"Boolean\", füge ein und klicke OK, , OK, lade neu.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 und neuer muss auch die addons.mozilla.org domain von in entfernt werden.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Nur in Firefox 59 und neuer ist es möglich, WebExtenstions den Zugriff auf CSP-geschützte Seiten wie dieser zu erlauben.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Konnte nicht mit der Seite kommunizieren. Bitte versuchen Sie, die Seite erneut zu laden.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus kann nur auf das file:// Protokoll in der URL zugreifen, wenn dies in den Einstellungen der Erweiterung unter chrome://extensions festgelegt wurde.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus kann auf einige Dateitypen nicht zugreifen (z.B. pdf oder json)", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Keine Updates gefunden.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Einige Styles wurden nicht überprüft, um dem Verlust von lokalen Bearbeitungen vorzubeugen. Die Aktualisierungen können entweder durch einzelne manuelle Überprüfung oder durch eine erneute Ausführung der Updatesuche (und anschließendem Update) für alle Styles erzwungen werden. Lokale Bearbeitungen werden dann überschrieben.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update fehlgeschlagen: Server antwortete mit Code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update fehlgeschlagen: Server nicht erreichbar.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Verlauf der Updatesuche", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Updates installieren (Lokale Bearbeitungen werden überschrieben)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Eine erzwungene Aktualisierung wird die lokalen Änderungen überschreiben.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Dieser Style wurde lokal bearbeitet.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Dieser Style scheint lokal bearbeitet worden zu sein.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Der Style ist auf dem aktuellsten Stand.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Aktualisierung abgeschlossen.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Installierte Updates:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Bitte ändere @name oder @namespace, um das Überschreiben eines bereits existierenden Styles zu verhindern.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Der Style wurde aktualisiert oder gelöscht, nachdem der Einstellungsdialog gezeigt wurde. Folgende Variablen wurden nicht gespeichert, um Metadatenkorruption zu verhindern:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Gib @name im Code an", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Ersetze das vorgegebene Template für neue UserCSS styles mit dem vorliegenden Code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Ein leeres @name ersetzt das vorgegebene Template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Quelltext hier eingeben...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Die Version des Styles ist älter als die des bereits installierten.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Style erstellen für:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "diese URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox Import / Export wurde durch einen fortschrittlicheren Mechanismus auf der Optionsseite ersetzt.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Willst du die existierende Datei überschreiben?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Datei erfolgreich gespeichert", + "description": "" + }, + "noFileToImport": { + "message": "Keine Importdatei vorhanden. Um Styles zu importieren, solltest du sie zuerst exportieren.", + "description": "" + }, + "connectingDropbox": { + "message": "Verbinde mit Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Verbindung zur Dropbox ist nur in Apps verfügbar, die direkt vom Webstore installiert wurden", + "description": "" + }, + "gettingStyles": { + "message": "Empfange alle Styles...", + "description": "" + }, + "zipStyles": { + "message": "Packe Styles...", + "description": "" + }, + "unzipStyles": { + "message": "Entpacke Styles...", + "description": "" + }, + "readingStyles": { + "message": "Lese Styles...", + "description": "" + }, + "uploadingFile": { + "message": "Lade Styles hoch...", + "description": "" + }, + "addStyleLabel": { + "message": "Neuen Style erstellen", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "und weitere", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs auf der Domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Lege mit den Einstellungen von \"Gilt für\" fest, für welche URLs der Code in diesem Bereich gelten soll.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Gilt für", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Zeige \"Gilt für\" Info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Funktioniert nicht mit minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs, die mit der RegExp übereinstimmen", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Löschen", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kann letzten \"Gilt für\" Eintrag nicht entfernen", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Angeben", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alles", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URLs beginnend mit", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Alle Updates übernehmen ", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Datensicherung", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Wähle eine Datei aus oder ziehe die Datei auf diese Seite. (Drag and Drop)", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Styles exportieren", - "description": "" - }, - "checkAllUpdates": { - "message": "Nach Updates suchen", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Nochmal prüfen, ich habe keine Styles bearbeitet!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Nach Update suchen", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Suche nach Updates...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klicken zum Deinstallieren", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Klammern automatisch schließen", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Wenn ( [ { ' \" geschrieben werden, automatisch schließende ) ] } ' \" setzen", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autovervollständigen bei Eingabe", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Farbwähler für CSS-Farben", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Tabs mit intelligentem Einzug", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tastaturbelegung", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Automatischer Zeilenumbruch", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Hervorheben", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Nur die Auswahl", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Unter dem Textzeiger", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Doppelklick, um Höhe zu maximieren / wiederherzustellen", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Doppelklick markiert Zeichenkette", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Beispiele von Zeichenketten: .foo-bar-2 #aabbcc 0.32 !important\nWenn deaktiviert, werden Wörter je nach Interpunktion ausgewählt.", - "description": "" - }, - "cm_smartIndent": { - "message": "Intelligenter Einzug", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab-Größe", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "colorpickerPaletteHint": { - "message": "Rechtsklicke auf ein Farbmuster, um durch die entsprechenden Codezeilen zu springen", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Formate wechseln: HEX -> RGB ->HSL.\nShift-Klick, um Richtung umzukehren.\nKürzel: Bild auf- und Bild ab-Tasten.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Farbwähler öffnen", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "bei Änderung", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Änderungen automatisch speichern und übernehmen", - "description": "" - }, - "configureStyle": { - "message": "Konfigurieren", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Auf Homepage konfigurieren", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Abbrechen", - "description": "" - }, - "confirmClose": { - "message": "Schließen", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Voreinstellung verwenden", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Löschen", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Änderungen verwerfen?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nein", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Speichern", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stopp", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "In die Zwischenablage kopiert", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "In die Zwischenablage kopieren", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Neuen Anzeigenamen des Styles hier eingeben, um trotzdem weiterhin Updates zu erhalten", - "description": "" - }, - "customNameResetHint": { - "message": "Eigenen Anzeigenamen nicht mehr benutzen, wechsle wieder zum Standardnamen des Styles", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateInstalled": { - "message": "Installationsdatum", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Updatedatum", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ein Fehler ist beim Verwenden der Stylus-Datenbank aufgetreten. Willst Du eine Webseite mit möglichen Lösungen besuchen?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "Standard", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Möchtest Du diesen Style wirklich löschen?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Löschen", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Gestalte das Web neu mit Stylus, dem Style Manager. Stylus ermöglicht dir ganz einfach Themes und Designs für viele beliebte Webseiten zu installieren.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Alle Styles deaktivieren", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Deaktivieren", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Ziehe die Backup Datei zum importieren an irgendeinen Ort auf dieser Seite.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Ziehe die Datei auf die Tableiste, um sie zu installieren.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Löschen", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Gehe zu Zeile (oder Zeile:Zeichen)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Style bearbeiten", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Bearbeiten", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Style $stylename$ bearbeiten", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Aktivieren", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Aktuelle Domain ausschließen", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Aktuelle URL ausschließen", - "description": "" - }, - "exportLabel": { - "message": "Exportieren", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalLink": { - "message": "Externer Link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "zur Supportseite", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Dokumentation für UserCSS", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ von $numTotal$ gesamt", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Aktuell angewandte Filter treffen auf keinen Style zu", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Styles finden", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Weitere Styles für diese Seite finden", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Ergebnisse hier anzeigen", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Suchergebnisse in diesem Fenster anzeigen.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Hinzufügen", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Kopieren", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Deaktiviert", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Aktiviert", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Fehler", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Verlauf", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Weiter", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Zurück", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Zurücksetzen", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Gespeichert", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Name", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unbekannt", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Hilfe", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Befehlsnamen eingeben", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Hotkey drücken", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Dieser Host wurde deaktiviert, weil die aktuell genutzte Version deines Browsers einen Fehler enthält.", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Zum Style anfügen", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Füge den importierten Style an den aktuellen", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importieren", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Ein Style mit einem @preprocessorfunktioniert nicht im klassischen Modus. Du kannst den Editor auf UserCSS umstellen: 1) Öffne den Style-Manager, 2) Aktiviere das Kästchen \"Als UserCSS\", 3) Klicke auf \"Neuen Style erstellen\"\n\nTrotzdem jetzt importieren?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Mögliches Problem wegen @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Style überschreiben", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Verwerfe den aktuellen Style-Inhalt und überschreibe ihn mit dem importierten", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "Hinzugefügt", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "Identische übersprungen", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "Ungültige übersprungen", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "Aktualisierte Codes und Metadaten", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "Aktualisierter Code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "Aktualisierte Metadaten", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importieren der Styles abgeschlossen.", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nichts wurde geändert.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "Styles wiederherstellt", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importierung wurde rückgängig gemacht.", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Style installieren", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installiert", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Style neu installieren", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Style updaten", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Update installieren", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Style erhält momentan Updates von $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Nach Updates suchen", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Lizenz", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hilfeseite anzeigen", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Styles beziehen", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Übersetzen", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint unterstützt den $preprocessorname$ Präprozessor nicht", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Regeln: 0 = Deaktiviert; 1 = Warnung; 2 = Fehler)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Einstellungen für $linter$", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Klicken, um diesen Linter zu konfigurieren", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nicht gespeichert aufgrund folgender ungültiger Einstellungen:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Probleme", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Folgende Probleme wurden von $link$ gefunden:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Ungültiges JSON Format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Um versehentliches Zurücksetzen rückgängig zu machen, drücke Strg+Z im Textfenster", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vollständige Liste der Regeln anzeigen", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Bei der Echtzeitaktualisierung der Datei ist ein Fehler aufgetreten", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Lasse diesen Tab geöffnet, um den Style bei externen Änderungen automatisch zu aktualisieren.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Lasse diesen und den Originaltab offen, um den Style bei externen Änderungen automatisch zu aktualisieren.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Echtzeitaktualisierung", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in der \"Gilt für\" Spalte anzeigen", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Ausgegraut", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus nutzt hierzu den externen Dienst https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filter", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installierte Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Anzahl der \"Gilt für\" Elemente", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "als UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Neues Verwaltungs-Layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Nur deaktivierte Styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Nur aktivierte Styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Nur externe Styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Nur lokale Styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(Diese Styles wurden nicht durch userstyles.org installiert)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Keine UserCSS Styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Nur mit Updates oder Problemen", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Nur UserCSS Styles", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Anzahl der aktiven Styles anzeigen", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Ungültige @var Checkbox: Wert muss 0 oder 1 sein", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Ungültige @var Farbe: $color$ ist keine Farbe", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "Ungültige @var $type$: Wert muss eine Zahl oder ein Array sein", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Ungültige @var $type$: Mehrere Einheiten sind definiert", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Ungültige @var $type$: Der Array enthält zu viele Elemente", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "Ungültige @var $type$: Elemente im Array müssen Zahlen, Strings oder null sein", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "Ungültige @var $type$: Standardwert ist null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "Ungültige @var $type$: Standardwert ist geringer als das Minimum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "Ungültige @var $type$: Standardwert ist größer als das Maximum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "Ungültige @var $type$: Standardwert ist kein Vielfaches der Schrittweite", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "Ungültige @var $type$: '$units$' ist keine gültige Einheit", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "Ungültiges @var select: Der Standardwert muss eine Array oder Objekt sein", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Ungültiges @var select: Werte innerhalb des Arrays/Objekts müssen Strings sein", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Ungültiges @var select: Die Auswahlliste ist leer", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Ungültiges @var select: Beschriftung der Auswahlmöglichkeiten ist leer", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Ungültiges @var select: Mehrere Standardauswahlen sind definiert", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Ungültiges @var select: Doppelte Optionsnamen", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Ungültiges @var select: Wert existiert nicht in der Auswahlliste", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Ungültiges URL Protokoll. Nur http und https sind erlaubt: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Ungültige Versionsnummer: Der Wert entspricht nicht dem SemVer Schema: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Erwarte Zahl", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Erwarte String in Anführungszeichen", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Erwarte ein Wort", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Erwarte Zeichen: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Erwarte EOT Daten", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Erforderliche Metadaten fehlen: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "Ungültiges JSON: $literal$ ist kein gültiges JSON Symbol", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Unbekannte Metadaten: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Unbekannter @$varkey$ Typ: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "Unbekannter @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Für diese Webseite sind keine Styles installiert.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Zeile:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Verwalten", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Optionen", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Style Verwaltung öffnen", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Aktionen", - "description": "" - }, - "optionsAdvanced": { - "message": "Erweitert", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "\"Löschen\" im Editor-Kontextmenü hinzufügen", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Ermögliche Iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Style wirkt sich auch auf iframes der anvisierten (obersten) Domain aus.\nIframe-spezifisches CSS ist dann wie folgt möglich:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Schreibe neuen Style als UserCSS", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "CSPabändern, um externe Ressourcen zu erlauben", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Aktivieren, wenn Styles Bilder oder Schriftarten enthalten, die aufgrund strenger CSP (Content-Security-Policy) Regeln mancher Seiten nicht laden.\n\nDas Aktivieren wird CSPBeschränkungen lockern, um für den Style erforderliche Ressourcen zu laden. Diese Option ist für fortgeschrittene Benutzer gedacht, die sich den möglichen Sicherheitsrisiken bewusst sind und die die Verantwortung dafür tragen, die nachgeladenen Inhalte selbst zu überwachen. Informiere dich über \"CSS-basierte Angriffe\" um mehr zu erfahren.\n\nBeachte außerdem, dass diese Option nicht garantiert funktioniert, falls eine andere installierte Erweiterung die Netzwerkantwort (CSP-header) zuerst abändert.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Style unverzüglich einfügen", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Aktivieren, falls während dem Browsen ungestylter Inhalt aufblitzt (FOUC). Besonders auffällig bei dunklen Styles.\n\nDer technische Grund ist, dass Chrome/Chromium die asynchrone Kommunikation von Erweiterungen zeitlich nach hinten verschiebt, um vermeintlich die Seitenladegeschwindigkeit zu erhöhen. Dies kann das Einfügen von Styles spürbar verzögern. Da für WebExtensions keine synchrone API bereitgestellt wird, versucht Stylus als Notbehelf, Styles über die veraltete XMLHttpRequest web API zu laden. Es sollten keine nachteiligen Effekte eintreten, weil die Anfrage innerhalb weniger Millisekunden abgearbeitet wird, während die Seite noch vom Server geladen wird.\n\nTrotzdem wird Chromium eine Warnung in der Entwicklerkonsole ausgeben. Über Rechtsklick auf die Warnung können zukünftige Meldungen versteckt werden.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Hintergrundfarbe wenn deaktiviert", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Hintergrundfarbe", - "description": "" - }, - "optionsCheck": { - "message": "Styles aktualisieren", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Alle verfügbaren Updates Installieren", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge auf dem Toolbar-Icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Symbolleisten-Icon", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Mit Cloud synchronisieren", - "description": "" - }, - "optionsHeading": { - "message": "Optionen", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dunkle Browser-Themes", - "description": "" - }, - "optionsIconLight": { - "message": "Helle Browser-Themes", - "description": "" - }, - "optionsOpen": { - "message": "Öffnen", - "description": "" - }, - "optionsOpenManager": { - "message": "Verwaltung", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup-Breite (in Pixeln)", - "description": "" - }, - "optionsReset": { - "message": "Setzt diese Einstellungen auf die Standard-Werte zurück.", - "description": "" - }, - "optionsResetButton": { - "message": "Optionen zurücksetzen", - "description": "" - }, - "optionsStylusThemes": { - "message": "Stylus UI-Theme suchen", - "description": "" - }, - "optionsSubheading": { - "message": "Mehr Optionen", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Nach dem Importieren von Styles aus einer alten Version oder von Stylish ist eine einmalige manuelle Updatesuche in der Verwaltung nötig. Dies stellt sicher, dass alle Styles auf dem aktuellsten Stand sind.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Style-Updateintervall in Stunden (0 zum Deaktivieren)", - "description": "" - }, - "optionsSyncNone": { - "message": "Nichts", - "description": "" - }, - "optionsSyncConnect": { - "message": "Verbinden", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Trennen", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Jetzt synchronisieren", - "description": "" - }, - "optionsSyncLogin": { - "message": "Anmelden", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Hole Style $loaded$ von $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "Lade Style $loaded$ von $total$ hoch", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "Synchronisiere...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Verbinde...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Verbunden", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Trenne Verbindung...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Verbindung getrennt", - "description": "" - }, - "paginationCurrent": { - "message": "Aktuelle Seite", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Geschätzte Seitenanzahl", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Nächste Seite", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Vorherige Seite", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Gesamtzahl der Seiten", - "description": "" - }, - "parseUsercssError": { - "message": "UserCSS parsen fehlgeschlagen:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Styles im Popup sofort neu sortieren", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Weiße Rahmen an den Seiten hinzufügen", - "description": "" - }, - "popupBordersTooltip": { - "message": "Nützlich für dunkle Themes im neuen Chrome, da dort die Seitenränder nicht mehr gefärbt werden", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<0>-<9> (auch auf NumPad) schaltet den n-ten Style um (0 ist 10)\n- schaltet ersten Style, dessen Name mit diesem Buchstaben beginnt, um\n öffnet Editor statt umzuschalten\n aktiviert die aufgeführten Styles\n deaktiviert die aufgeführten Styles\n schaltet anfänglich aktivierte Styles um. Trifft nicht auf Styles zu, die erst aktiviert werden, wenn das Popup noch geöffnet ist. Dadurch kann z.B. die Anfangseinstellung nach einem Test wiederhergestellt werden: \nMehr dazu im Wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Klicke, um Tastenkürzel zu sehen", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+Klick oder Rechtsklick öffnet den Stylemanager mit Filter für Styles der aktuellen Seite", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Aktionsmenü", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Einfaches Fenster verwenden (keine Omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Editor in neuem Fenster öffnen", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Wird auch aktiviert durch Lösen des Editor-Tabs vom Browserfenster\nund deaktiviert durch Zusammenführen eines Editor-Tabs mit einem anderen Fenster.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles vor den Bedienelementen", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Anzahl der aktiven Styles auf der aktuellen Seite", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Echtzeitvorschau", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Übernimmt die Änderungen nur vorübergehend.\nSpeichere den Style, um die Änderungen dauerhaft anzuwenden.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus Addon neu laden", - "description": "Context menu reload" - }, - "replace": { - "message": "Ersetzen", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Alles ersetzen", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Ersetzen durch", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Styles importieren", - "description": "" - }, - "search": { - "message": "Suche", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Groß- / Kleinschreibung beachten", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Auch globale Styles suchen", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Trefferanzahl", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Trefferanzahl im Code und in \"Gilt für\" Feldern", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Stylenamen ohne Beachtung der Groß-/Kleinschreibung suchen:\nMehrere Suchworte - alle Wörter in beliebiger Reihenfolge\n\"Bestimmte Phrase\" - genau diese Phrase ohne Anführungszeichen\n2020 - zeigt auch Styles, die 2020 aktualisiert wurden", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Verwende die /re/ Syntax zur Suche als RegExp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Gesamte Installationen", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Keine Styles für diese Seite gefunden.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "Der Style wurde installiert, gilt aber nicht für die aktuelle URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Frage den Autor des Styles, ob er die URL hinzufügt.\n\nDu kannst den Style auch selbst bearbeiten,\naber dann werden automatische Updates für diesen Style deaktiviert.", - "description": "" - }, - "searchResultRating": { - "message": "Bewertung", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Aktualisiert am", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Wöchentliche Installationen", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Alles", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS Code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": "Die -Taste (Numpad) oder fokussieren das Suchfeld.\nEinfacher Text: Sucht mit Leerzeichen getrennte Wörter in beliebiger Reihenfolge.\nSuche nach genauem Ausdruck: Anführungszeichen verwenden, z.B. <\".header ~ div\">\nRegExp: Nutze Schrägstrich und Flags, z.B. \nStyles, die auf eine URL passen: Aktiviere \"Nach URL\" und suche nach einer vollständigen URL, z.B. https://www.example.org/\nMetadaten: Aktiviere das Kontrollkästchen für Metadaten, um in Namen, \"Gilt für\" Feldern, Installations-URL, Update-URL und dem gesamten Metadatenblock in UserCSS Styles zu suchen.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "Nach URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadaten", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Weiteren Bereich hinzufügen", - "description": "Label for the button to add a section" - }, - "sectionRemove": { - "message": "Bereich entfernen", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Gelöschten Bereich wiederherstellen", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Bereiche", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Tastenkürzel", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Eine Tastenkombination definieren", - "description": "" - }, - "sortDateNewestFirst": { - "message": "neueste zuerst", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "älteste zuerst", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Wähle eine Sortierreihenfolge für die installierten Styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Name aufsteigend", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Name absteigend", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Wähle die anzuwendende Sortierart aus dem Dropdown-Menü aus. Die Standardeinstellung sortiert aufsteigend nach Name des Styles (A bis Z). Innerhalb der \"Name absteigend\"-Gruppe wird von Z bis A sortiert.\nEs gibt andere Voreinstellungen, die es erlauben, Einträge nach mehreren Kriterien zu sortieren. Stelle es dir vor wie bei einer Tabellensortierung mit mehreren Spalten. Jede Kategorie (vor bzw. nach Pluszeichen) stellt dabei eine Spalte dar.\nIst die Einstellung beispielsweise \"Aktiviert (zuerst) + Name\", dann werden die Einträge so sortiert, dass alle aktivierten Styles zuerst stehen (von A bis Z) und dann alle deaktivierten Styles (wieder von A beginnend bis Z).", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Inhalte sortieren", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regulärer Ausdruck (RegExp) ist ungültig.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Code formatieren", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hinweis: Mache einen Rechtsklick auf \"Code formatieren\" oder nutze das weiter unten definierte Tastenkürzel, um den Code zu formatieren ohne dieses Fenster anzuzeigen.", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Rücke @media / @supports ein", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Leerzeilen schützen", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Zurück zum Verwalten", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Du hast Änderungen an diesem Style vorgenommen, ohne diese zu speichern.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Aktiviert", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Import vom Mozilla Format fehlgeschlagen", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla-Format Code einfügen", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "\"$stylename$\" mit Stylus installieren?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Installation des Styles fehlgeschlagen!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "\"$stylename$\" ist bereits installiert. Überschreiben?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Bitte Namen eingeben", - "description": "Error displayed when user saves without providing a name" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Der Style wurde aufgrund ungültiger RegExp nicht angewandt.", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Einige RegExp konnten nicht kompiliert werden.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Dieser Style verwendet nur teilweise übereinstimmende RegExp unter Missachtung der CSS4 @document Spezifikationen, welche eine vollständig übereinstimmende URL benötigen. Die betroffenen CSS-Bereiche wurde nicht auf die Website angewandt. Dieser Style wurde wahrscheinlich unter Stylish für Chrome erstellt, in der seit der ersten Version eine fehlerhafte Überprüfung der RegExp besteht (bekannter Fehler).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Anzahl der Bereiche, welche aufgrund nicht korrekt verwendeter RegExp nicht angewendet wurden", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp testen", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Zutreffende Tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Übersprungene ungültige RegExp", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Keine zutreffenden Tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Beachte: Nutze einzelne \\ (Backslashes) zum Escapen im RegExp Feld. Diese werden automatisch im Stylecode zu doppelten \\\\ konvertiert, um der CSS Spezifikation zu entsprechen.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Keine genaue Übereinstimmung, wurde daher übersprungen.", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Liste der zutreffenden, geöffneten Tabs (URL anklicken, um den Tab zu fokussieren)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Speichern", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Das Mozilla-Format des Codes kann mit Stylish für Firefox verwendet werden und bei userstyles.org eingereicht werden.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style im Mozilla Format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Möchtest Du \"$stylename$\" wirklich aktualisieren?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Der Style wurde außerhalb des Editors verändert. Style neu laden?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus funktioniert nicht auf Seiten wie diesen.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Als Sicherheitsvorkehrung verbietet der Browser es Erweiterungen, seine eingebauten Seiten (wie chrome://version, dem neuen Standard-Tab ab Chrome 61, about:addons, usw.), sowie Seiten anderer Erweiterungen zu beeinflussen. Jeder Browser beschränkt auch den Zugriff auf seine eigene Erweiterungsgalerie (wie Chrome Web Store oder addons.mozilla.org).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Der Wert kann nicht gespeichert werden. Versuche, die Textmenge zu reduzieren.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Style umschalten", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Rückgängig", - "description": "Button label" - }, - "undoGlobal": { - "message": "Rückgängig machen in allen Bereichen", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox verbietet den Zugriff auf diese Seite.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Um den Zugriff zu erlauben, öffne , rechtsklicke in die Liste, klicke \"Neu\", dann \"Boolean\", füge ein und klicke OK, , OK, lade neu.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 und neuer muss auch die addons.mozilla.org domain von in entfernt werden.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Nur in Firefox 59 und neuer ist es möglich, WebExtenstions den Zugriff auf CSP-geschützte Seiten wie dieser zu erlauben.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Konnte nicht mit der Seite kommunizieren. Bitte versuchen Sie, die Seite erneut zu laden.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus kann nur auf das file:// Protokoll in der URL zugreifen, wenn dies in den Einstellungen der Erweiterung unter chrome://extensions festgelegt wurde.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus kann auf einige Dateitypen nicht zugreifen (z.B. pdf oder json)", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Keine Updates gefunden.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Einige Styles wurden nicht überprüft, um dem Verlust von lokalen Bearbeitungen vorzubeugen. Die Aktualisierungen können entweder durch einzelne manuelle Überprüfung oder durch eine erneute Ausführung der Updatesuche (und anschließendem Update) für alle Styles erzwungen werden. Lokale Bearbeitungen werden dann überschrieben.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update fehlgeschlagen: Server antwortete mit Code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Update fehlgeschlagen: Server nicht erreichbar.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Verlauf der Updatesuche", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Updates installieren (Lokale Bearbeitungen werden überschrieben)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Eine erzwungene Aktualisierung wird die lokalen Änderungen überschreiben.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Dieser Style wurde lokal bearbeitet.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Dieser Style scheint lokal bearbeitet worden zu sein.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Der Style ist auf dem aktuellsten Stand.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aktualisierung abgeschlossen.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Installierte Updates:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Bitte ändere @name oder @namespace, um das Überschreiben eines bereits existierenden Styles zu verhindern.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Der Style wurde aktualisiert oder gelöscht, nachdem der Einstellungsdialog gezeigt wurde. Folgende Variablen wurden nicht gespeichert, um Metadatenkorruption zu verhindern:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Gib @name im Code an", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Ersetze das vorgegebene Template für neue UserCSS styles mit dem vorliegenden Code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Ein leeres @name ersetzt das vorgegebene Template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Quelltext hier eingeben...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Die Version des Styles ist älter als die des bereits installierten.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Style erstellen für:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "diese URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxDeprecated": { - "message": "Dropbox Import / Export wurde durch einen fortschrittlicheren Mechanismus auf der Optionsseite ersetzt.", - "description": "" - }, - "overwriteFileExport": { - "message": "Willst du die existierende Datei überschreiben?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Datei erfolgreich gespeichert", - "description": "" - }, - "noFileToImport": { - "message": "Keine Importdatei vorhanden. Um Styles zu importieren, solltest du sie zuerst exportieren.", - "description": "" - }, - "connectingDropbox": { - "message": "Verbinde mit Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Verbindung zur Dropbox ist nur in Apps verfügbar, die direkt vom Webstore installiert wurden", - "description": "" - }, - "gettingStyles": { - "message": "Empfange alle Styles...", - "description": "" - }, - "zipStyles": { - "message": "Packe Styles...", - "description": "" - }, - "unzipStyles": { - "message": "Entpacke Styles...", - "description": "" - }, - "readingStyles": { - "message": "Lese Styles...", - "description": "" - }, - "uploadingFile": { - "message": "Lade Styles hoch...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/el/messages.json b/_locales/el/messages.json index 59cc208f..e810b09c 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -1,807 +1,1586 @@ { - "addStyleLabel": { - "message": "Γράψτε νέο στυλ", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Προσθήκη στυλ", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Αδιαφάνεια", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Προσθήκη", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Ισχύει για: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Προσθήκη στυλ", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Αδιαφάνεια", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Προσθήκη", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Ισχύει για: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "και πολλά άλλα", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL στον τομέα", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Χρησιμοποιήστε το \"Ισχύει για\" έλεγχοι ώστε να περιοριστουν ποιες διευθύνσεις τον κώδικα σε αυτό το τμήμα να εφαρμόζονται.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Ισχύει για", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Δε λειτουργεί με minified CSS.", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "Διευθύνσεις URL που ταιριάζουν με την κανονική έκφραση", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Αφαίρεση", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Καθορισμός", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Τα πάντα", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "διεύθυνση URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "Διευθύνσεις URL που αρχίζουν με", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Εφαρμογή όλων των ενημερώσεων", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Συντάκτης", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Δημιουργήστε αντίγραφο ασφαλείας", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Επιλέξτε ένα αρχείο ή σύρετέ το σε αυτήν τη σελίδα", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Εξαγωγή στυλ", + "description": "" + }, + "checkAllUpdates": { + "message": "Έλεγχος όλων των στυλ για ενημερώσεις", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Ελέγξτε πάλι, δεν επεξεργάστηκα κανένα στυλ!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Έλεγχος για ενημερώσεις", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Έλεγχος...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Πατήστε για απεγκατάσταση", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Αυτόματο κλείσιμο παρενθέσεων και εισαγωγικών", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Αυτόματη συμπλήρωση καθώς πληκτρολογείτε", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Χρήση καρτελών με έξυπνη εσοχή", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Συντομεύσεις πληκτρολογίου", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Αναδίπλωση λέξεων", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Υπογράμμιση", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Μόνο επιλογή", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Διπλό κλικ για μεγιστοποίηση/επαναφορά ύψους", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Χρήση έξυπνης εσοχής", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Μέγεθος καρτέλας", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Θέμα", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "στην αλλαγή", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Αυτόματη αποθήκευση και εφαρμογή αλλαγών", + "description": "" + }, + "configureStyle": { + "message": "Ρυθμίσεις", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Ρυθμίσεις στην ιστοσελίδα", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Άκυρο", + "description": "" + }, + "confirmClose": { + "message": "Κλείσιμο", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Χρήση προεπιλογής", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Διαγραφή", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Απόρριψη αλλαγών;", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Όχι", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "ΟΚ", + "description": "" + }, + "confirmSave": { + "message": "Αποθήκευση", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Ναι", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Αντιγράφηκε στο πρόχειρο", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Αντιγραφή στο πρόχειρο", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$μ", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$ω", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$λ", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$χ", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Ημερομηνία εγκατάστασης", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Ημερομηνία ενημέρωσης", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Παρουσιάστηκε σφάλμα χρησιμοποιώντας την κομψή βάση δεδομένων. Θα θέλατε να επισκεφθείτε μια ιστοσελίδα με πιθανές λύσεις;", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "προεπιλογή", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το στυλ;", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Διαγραφή", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Επαναπροσδιορίση του διαδίκτυου με το Stylus, έναν διαχειριστή στυλ. Το Stylus σας επιτρέπει να εγκαταστήσετε εύκολα themes και skins για πολλές δημοφιλείς ιστοσελίδες.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Απενεργοποιηση ολων των στυλ", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Απενεργοποίηση", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Αποθέστε το αντίγραφο ασφαλείας σας οπουδήποτε σε αυτήν τη σελίδα για εισαγωγή.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Για να εγκαταστήσετε το αρχείο, αποθέστε το στη λωρίδα καρτελών (την περιοχή όπου εμφανίζονται οι τίτλοι καρτελών).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Διαγραφή", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Μετάβαση στη γραμμή (ή line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Επεξεργασία Στυλ", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Επεξεργασία", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Επεξεργασία του στυλ $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Ενεργοποίηση", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Εξαίρεση του τρέχοντος τομέα", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Εξαίρεση του τρέχοντος URL", + "description": "" + }, + "exportLabel": { + "message": "Εξαγωγή", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Σχόλια", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Αρχική σελίδα", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Εξωτερική σύνδεση", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Υποστήριξη", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Τεκμηρίωση για Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "Βλέπετε $numShown$ από 2$numTotal$ συνολικά", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Τα φίλτρα που εφαρμόζονται αυτήν τη στιγμή δεν ταιριάζουν με κανένα στυλ", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Εύρεση στυλ", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Αναζήτηση περισσότερων στυλ για αυτή την ιστοσελίδα", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Προσθήκη", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Δημιουργία αντιγράφου", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Απενεργοποιημένο", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Ενεργοποιημένο", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Σφάλμα", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Ιστορικό", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Επόμενο", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Προηγούμενο", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Επαναφορά", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Αποθηκεύτηκε", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Τίτλος", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Άγνωστο", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Βοήθεια", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Πληκτρολογήστε μια εντολή", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Πληκτρολογήστε ένα hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Εισαγωγή", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Αντικατάσταση στυλ", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "προστέθηκαν", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "ενημερωμένος κώδικας", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Η εισαγωγή στυλ τελείωσε", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Τίποτα δεν άλλαξε", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Η εισαγωγή έχει αναιρεθεί", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Εγκατάσταση στυλ", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Το στυλ έχει εγκατασταθεί.", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Επανεγκατάσταση στυλ", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Ενημέρωση στυλ", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Εγκατάσταση ενημέρωσης", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Έλεγχος για ενημερώσεις", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Άδεια χρήσης", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Βοήθεια", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Λήψη στυλ", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Μετάφραση", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Πατήστε εδώ για να ρυθμίσετε το linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Ζητήματα", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Μη έγκυρη μορφή JSON", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Για αναίρεση μιας κατά λάθος επαναφοράς, πατήστε Ctrl-Z (ή Cmd-Z) στο πλαίσιο κειμένου", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Το Stylus χρησιμοποιεί μία εξωτερική υπηρεσία https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Φίλτρα", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Εγκατεστημένα Στυλ", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Νέα διαχείριση διάταξης UI", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Μόνο απενεργοποιημένα στυλ", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Μόνο ενεργοποιημένα στυλ", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Μόνο στυλ από άλλες ιστοσελίδες", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Μόνο στυλ δημιουργημένα τοπικά", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Κομψή", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Εμφάνιση ενεργους καταμέτρησης στυλ", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Δεν υπάρχουν εγκατεστημένα στυλ για αυτή την ιστοσελίδα.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Διαχείριση εγκατεστημένων στυλ", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Επιλογές", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Άνοιγμα διαχείρισης στυλ", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Ενέργειες", + "description": "" + }, + "optionsAdvanced": { + "message": "Για προχωρημένους", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Προσθήκη του 'Delete' στο μενού περιβάλλοντος του προγράμματος επεξεργασίας", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Χρώμα φόντου όταν είναι απενεργοποιημένο", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Χρώμα υποβάθρου", + "description": "" + }, + "optionsCheck": { + "message": "Ενημέρωση στυλ", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Έλεγχος και εγκατάσταση διαθέσιμων ενημερώσεων", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Σήμα στο εικονίδιο της γραμμής εργαλείων", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Αναδυόμενο παράθυρο", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Ενημερώσεις", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Επιλογές", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Σκούρο θέμα φυλλομετρητή", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Άνοιγμα", + "description": "" + }, + "optionsOpenManager": { + "message": "Διαχείριση στυλ", + "description": "" + }, + "optionsPopupWidth": { + "message": "Πλάτος αναδυόμενου παραθύρου (σε pixels)", + "description": "" + }, + "optionsReset": { + "message": "Επαναφορά ρυθμίσεων στις προεπιλεγμένες", + "description": "" + }, + "optionsResetButton": { + "message": "Επαναφορά επιλογών", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Περισσότερες επιλογές", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Διάστημα αυτόματης ενημέρωσης των στυλ σε ώρες (0 για απενεργοποίηση)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Σύνδεση", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Αποσύνδεση", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Συγχρονισμός τώρα", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Συγχρονισμός ...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Σύνδεση...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Συνδεδεμένο", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Αποσύνδεση...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Αποσυνδέθηκε", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Επόμενη σελίδα", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Προηγούμενη σελίδα", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Χρήσιμο για σκούρα θέματα στο καινούριο Chrome, καθώς δε βάφει πλέον τα ακριανά περιθώρια.", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Χρήση ενός απλού παραθύρου (χωρίς omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Άνοιγμα επεξαργαστή σε νέο παράθυρο", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Στυλ λίστας πριν των εντολών στο μενού του κουμπιού γραμμής εργαλείων", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Εμφάνιση αριθμού των στυλ που δραστηριοποιούνται για την τρέχουσα τοποθεσία στην μπάρα εργαλείων", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Αντικατάσταση", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Αντικατάσταση όλων", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Αντικατάσταση με", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Εισαγωγή στυλ", + "description": "" + }, + "search": { + "message": "Αναζήτηση", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Επίσης, αναζητήστε καθολικά στυλ", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Χρησιμοποιήστε τη σύνταξη /re/ για αναζήτηση με regexp.", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Συνολικός αριθμός εγκαταστάσεων", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Ενημερωμένο", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Εβδομαδιαίος αριθμός εγκαταστάσεων", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Όνομα", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Προσθήκη ένος άλλου τμήματος", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Κώδικας", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Αφαίρεση ενότητας", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Συντομεύσεις", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "πιο πρόσφατα πρώτα", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "πιο παλιά πρώτα", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Το Regexp δεν είναι έγκυρο.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Ωραιοποίηση", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Διόρθωση εσοχής για @media και @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Διατήρηση νέων γραμμών (newlines)", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Πίσω στη διαχείριση", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Έχετε κάνει αλλαγές σε αυτό το ύφος χωρίς αποθήκευση.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Ενεργοποιημένη", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Εγκατάσταση του '$stylename$' στο Stylus;", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Εισάγετε ένα όνομα", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Δε βρέθηκαν καρτέλες που αντιστοιχούν.", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Αποθήκευση", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Η μορφή του Mozilla κώδικα μπορεί να χρησιμοποιηθεί με το Stylish για το Firefox και μπορεί να υποβληθεί στο userstyles.org.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Είστε σίγουροι ότι θέλετε να ενημερώσετε το '$stylename$';", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "To Stylus δεν λειτουργεί σε σελίδες όπως αυτή.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Ως μέτρο ασφαλείας, ο φυλλομετρητής απαγορεύει στα πρόσθετα να επέμβουν στις built-in σελίδες του (όπως π.χ. chrome://version, η σελίδα νέας καρτέλας από το Chrome 61 και μετά, about:addons, κλπ.), καθώς και τις σελίδες άλλωων προσθέτων. Επιπλέον, κάθε φυλλομετρητής περιορίζει την πρόσβαση στο κατάστημα προσθέτων (όπως το Chrome Web Store ή το AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Ο συγχρονισμός απέτυχε", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Ο συγχρονισμός απέτυχε.\nΠροσπαθήστε να συνδεθείτε ξανά στις επιλογές Stylus:\nκάντε κλικ στο 'αποσύνδεση' πρώτα και μετά στο 'σύνδεση'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Αλλαγή στυλ", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Αναίρεση", + "description": "Button label" + }, + "undoGlobal": { + "message": "Αναίρεση όλων των ενεργειών", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Το Stylus έχει πρόσβαση στις file:// διευθύνσεις URL μόνο αν έχετε επιλέξει το αντίστοιχο πλαίσιο ελέγχου για το πρόσθετο Stylus στη σελίδα chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Όλα τα στυλ είναι ενημερωμένα.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Δεν έχει γίνει έλεγχος ενημερώσεων για κάποια στυλ, για να αποφευχθεί η πιθανότητα απώλειας τοπικών επεξεργασιών. Οι ενημερώσεις μπορούν να εξαναγκαστούν ελέγχοντας το κάθε στυλ ξεχωριστά ή ελέγχοντας πάλι όλα τα στυλ (τοπικές επεξεργασίες θα αντικατασταθούν)", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Αποτυχία ενημέρωσης: ο διακομιστής ανταποκρίθηκε με κωδικό $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Αποτυχία ενημέρωσης: απρόσιτος διακομιστής.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Το στυλ επεξεργάστηκε τοπικά στον υπολογιστή σας.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Το στυλ αυτό μπορεί να έχει επεξεργαστεί τοπικά στον υπολογιστή σας.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Το στυλ είναι ενημερωμένο.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Η ενημέρωση ολοκληρώθηκε.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Ενημερώσεις που εγκαταστάθηκαν", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Καθορίστε το @name στον κώδικα", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Η έκδοση αυτή είναι παλαιότερη από αυτήν που είναι ήδη εγκατεστημένη.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Γράψτε νέο στυλ για:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "αυτή την διεύθυνση URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Εξαγωγή από το Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Εισαγωγή από το Dropbox", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Το αρχείο αποθηκεύτηκε επιτυχώς.", + "description": "" + }, + "noFileToImport": { + "message": "Για να εισάγετε τα στυλ σας, πρέπει πρώτα να τα εξάγετε.", + "description": "" + }, + "connectingDropbox": { + "message": "Σύνδεση με το Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Η σύνδεση με το Dropbox είναι διαθέσιμη μόνο σε εφαρμογές εγκατεστημένες απευθείας από το κατάστημα ιστού webstore", + "description": "" + }, + "gettingStyles": { + "message": "Λήψη όλων των στυλ...", + "description": "" + }, + "zipStyles": { + "message": "Συμπίεση στυλ...", + "description": "" + }, + "unzipStyles": { + "message": "Αποσυμπίεση στυλ...", + "description": "" + }, + "readingStyles": { + "message": "Ανάγνωση στυλ...", + "description": "" + }, + "uploadingFile": { + "message": "Μεταφόρτωση αρχείου...", + "description": "" + }, + "addStyleLabel": { + "message": "Γράψτε νέο στυλ", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "και πολλά άλλα", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL στον τομέα", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Χρησιμοποιήστε το \"Ισχύει για\" έλεγχοι ώστε να περιοριστουν ποιες διευθύνσεις τον κώδικα σε αυτό το τμήμα να εφαρμόζονται.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Ισχύει για", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetWarning": { - "message": "Δε λειτουργεί με minified CSS.", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Διευθύνσεις URL που ταιριάζουν με την κανονική έκφραση", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Αφαίρεση", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Καθορισμός", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Τα πάντα", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "διεύθυνση URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Διευθύνσεις URL που αρχίζουν με", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Εφαρμογή όλων των ενημερώσεων", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Συντάκτης", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Δημιουργήστε αντίγραφο ασφαλείας", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Επιλέξτε ένα αρχείο ή σύρετέ το σε αυτήν τη σελίδα", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Εξαγωγή στυλ", - "description": "" - }, - "checkAllUpdates": { - "message": "Έλεγχος όλων των στυλ για ενημερώσεις", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Ελέγξτε πάλι, δεν επεξεργάστηκα κανένα στυλ!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Έλεγχος για ενημερώσεις", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Έλεγχος...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Πατήστε για απεγκατάσταση", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Αυτόματο κλείσιμο παρενθέσεων και εισαγωγικών", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Αυτόματη συμπλήρωση καθώς πληκτρολογείτε", - "description": "Label for the checkbox in the style editor." - }, - "cm_indentWithTabs": { - "message": "Χρήση καρτελών με έξυπνη εσοχή", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Συντομεύσεις πληκτρολογίου", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Αναδίπλωση λέξεων", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Υπογράμμιση", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_resizeGripHint": { - "message": "Διπλό κλικ για μεγιστοποίηση/επαναφορά ύψους", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_smartIndent": { - "message": "Χρήση έξυπνης εσοχής", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Μέγεθος καρτέλας", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Θέμα", - "description": "Label for the style editor's CSS theme." - }, - "configOnChange": { - "message": "στην αλλαγή", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Αυτόματη αποθήκευση και εφαρμογή αλλαγών", - "description": "" - }, - "configureStyle": { - "message": "Ρυθμίσεις", - "description": "Label for the button to configure usercss userstyle" - }, - "confirmCancel": { - "message": "Άκυρο", - "description": "" - }, - "confirmClose": { - "message": "Κλείσιμο", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Χρήση προεπιλογής", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Διαγραφή", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Απόρριψη αλλαγών;", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Όχι", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "ΟΚ", - "description": "" - }, - "confirmSave": { - "message": "Αποθήκευση", - "description": "'Save' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ναι", - "description": "'Yes' button in a confirm dialog" - }, - "dbError": { - "message": "Παρουσιάστηκε σφάλμα χρησιμοποιώντας την κομψή βάση δεδομένων. Θα θέλατε να επισκεφθείτε μια ιστοσελίδα με πιθανές λύσεις;", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "προεπιλογή", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το στυλ;", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Διαγραφή", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Επαναπροσδιορίση του διαδίκτυου με το Stylus, έναν διαχειριστή στυλ. Το Stylus σας επιτρέπει να εγκαταστήσετε εύκολα themes και skins για πολλές δημοφιλείς ιστοσελίδες.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Απενεργοποιηση ολων των στυλ", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Απενεργοποίηση", - "description": "Label for the button to disable a style" - }, - "editDeleteText": { - "message": "Διαγραφή", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Μετάβαση στη γραμμή (ή line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Επεξεργασία Στυλ", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Επεξεργασία", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Επεξεργασία του στυλ $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Ενεργοποίηση", - "description": "Label for the button to enable a style" - }, - "exportLabel": { - "message": "Εξαγωγή", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Σχόλια", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Αρχική σελίδα", - "description": "Label for the external link to style's homepage" - }, - "externalSupport": { - "message": "Υποστήριξη", - "description": "Label for the external link to style's support site" - }, - "filteredStyles": { - "message": "Βλέπετε $numShown$ από 2$numTotal$ συνολικά", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "findStyles": { - "message": "Εύρεση στυλ", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Αναζήτηση περισσότερων στυλ για αυτή την ιστοσελίδα", - "description": "Text for a link that gets a list of styles for the current site" - }, - "genericAdd": { - "message": "Προσθήκη", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Δημιουργία αντιγράφου", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Απενεργοποιημένο", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Ενεργοποιημένο", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericHistoryLabel": { - "message": "Ιστορικό", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Επόμενο", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Προηγούμενο", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Επαναφορά", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Αποθηκεύτηκε", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Τίτλος", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Άγνωστο", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Βοήθεια", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Πληκτρολογήστε μια εντολή", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Πληκτρολογήστε ένα hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importLabel": { - "message": "Εισαγωγή", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Αντικατάσταση στυλ", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "προστέθηκαν", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "ενημερωμένος κώδικας", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Η εισαγωγή στυλ τελείωσε", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Τίποτα δεν άλλαξε", - "description": "Message in the report shown after importing styles" - }, - "importReportUndoneTitle": { - "message": "Η εισαγωγή έχει αναιρεθεί", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Εγκατάσταση στυλ", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Το στυλ έχει εγκατασταθεί.", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Επανεγκατάσταση στυλ", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Ενημέρωση στυλ", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Εγκατάσταση ενημέρωσης", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFromLabel": { - "message": "Έλεγχος για ενημερώσεις", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Άδεια χρήσης", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Βοήθεια", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkTranslate": { - "message": "Μετάφραση", - "description": "Transifex link text on the manage page" - }, - "linterConfigTooltip": { - "message": "Πατήστε εδώ για να ρυθμίσετε το linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterIssues": { - "message": "Ζητήματα", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Μη έγκυρη μορφή JSON", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Για αναίρεση μιας κατά λάθος επαναφοράς, πατήστε Ctrl-Z (ή Cmd-Z) στο πλαίσιο κειμένου", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "manageFaviconsHelp": { - "message": "Το Stylus χρησιμοποιεί μία εξωτερική υπηρεσία https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Φίλτρα", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Εγκατεστημένα Στυλ", - "description": "Heading for the manage page" - }, - "manageOnlyDisabled": { - "message": "Μόνο απενεργοποιημένα στυλ", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Μόνο ενεργοποιημένα στυλ", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Μόνο στυλ από άλλες ιστοσελίδες", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Μόνο στυλ δημιουργημένα τοπικά", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageTitle": { - "message": "Κομψή", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Εμφάνιση ενεργους καταμέτρησης στυλ", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "noStylesForSite": { - "message": "Δεν υπάρχουν εγκατεστημένα στυλ για αυτή την ιστοσελίδα.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Διαχείριση εγκατεστημένων στυλ", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Άνοιγμα διαχείρισης στυλ", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Ενέργειες", - "description": "" - }, - "optionsAdvanced": { - "message": "Για προχωρημένους", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Χρώμα υποβάθρου", - "description": "" - }, - "optionsCheck": { - "message": "Ενημέρωση στυλ", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Έλεγχος και εγκατάσταση διαθέσιμων ενημερώσεων", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Αναδυόμενο παράθυρο", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Ενημερώσεις", - "description": "" - }, - "optionsHeading": { - "message": "Επιλογές", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Σκούρο θέμα φυλλομετρητή", - "description": "" - }, - "optionsOpen": { - "message": "Άνοιγμα", - "description": "" - }, - "optionsOpenManager": { - "message": "Διαχείριση στυλ", - "description": "" - }, - "optionsPopupWidth": { - "message": "Πλάτος αναδυόμενου παραθύρου (σε pixels)", - "description": "" - }, - "optionsReset": { - "message": "Επαναφορά ρυθμίσεων στις προεπιλεγμένες", - "description": "" - }, - "optionsResetButton": { - "message": "Επαναφορά επιλογών", - "description": "" - }, - "optionsSubheading": { - "message": "Περισσότερες επιλογές", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateInterval": { - "message": "Διάστημα αυτόματης ενημέρωσης των στυλ σε ώρες (0 για απενεργοποίηση)", - "description": "" - }, - "paginationNext": { - "message": "Επόμενη σελίδα", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Προηγούμενη σελίδα", - "description": "Tooltip for the '<-' button in search results" - }, - "popupBordersTooltip": { - "message": "Χρήσιμο για σκούρα θέματα στο καινούριο Chrome, καθώς δε βάφει πλέον τα ακριανά περιθώρια.", - "description": "" - }, - "popupOpenEditInWindow": { - "message": "Άνοιγμα επεξαργαστή σε νέο παράθυρο", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Στυλ λίστας πριν των εντολών στο μενού του κουμπιού γραμμής εργαλείων", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Εμφάνιση αριθμού των στυλ που δραστηριοποιούνται για την τρέχουσα τοποθεσία στην μπάρα εργαλείων", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "replace": { - "message": "Αντικατάσταση", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Αντικατάσταση όλων", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Αντικατάσταση με", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Εισαγωγή στυλ", - "description": "" - }, - "search": { - "message": "Αναζήτηση", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Χρησιμοποιήστε τη σύνταξη /re/ για αναζήτηση με regexp.", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Συνολικός αριθμός εγκαταστάσεων", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultUpdated": { - "message": "Ενημερωμένο", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Εβδομαδιαίος αριθμός εγκαταστάσεων", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesName": { - "message": "Όνομα", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Προσθήκη ένος άλλου τμήματος", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Κώδικας", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Αφαίρεση ενότητας", - "description": "Label for the button to remove a section" - }, - "shortcuts": { - "message": "Συντομεύσεις", - "description": "Go to shortcut configuration" - }, - "sortDateNewestFirst": { - "message": "πιο πρόσφατα πρώτα", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "πιο παλιά πρώτα", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "styleBadRegexp": { - "message": "Το Regexp δεν είναι έγκυρο.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Ωραιοποίηση", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Διόρθωση εσοχής για @media και @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Διατήρηση νέων γραμμών (newlines)", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Πίσω στη διαχείριση", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Έχετε κάνει αλλαγές σε αυτό το ύφος χωρίς αποθήκευση.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ενεργοποιημένη", - "description": "Label for the enabled state of styles" - }, - "styleInstall": { - "message": "Εγκατάσταση του '$stylename$' στο Stylus;", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleMissingName": { - "message": "Εισάγετε ένα όνομα", - "description": "Error displayed when user saves without providing a name" - }, - "styleRegexpTestNone": { - "message": "Δε βρέθηκαν καρτέλες που αντιστοιχούν.", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleSaveLabel": { - "message": "Αποθήκευση", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Η μορφή του Mozilla κώδικα μπορεί να χρησιμοποιηθεί με το Stylish για το Firefox και μπορεί να υποβληθεί στο userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleUpdate": { - "message": "Είστε σίγουροι ότι θέλετε να ενημερώσετε το '$stylename$';", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "stylusUnavailableForURL": { - "message": "To Stylus δεν λειτουργεί σε σελίδες όπως αυτή.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Ως μέτρο ασφαλείας, ο φυλλομετρητής απαγορεύει στα πρόσθετα να επέμβουν στις built-in σελίδες του (όπως π.χ. chrome://version, η σελίδα νέας καρτέλας από το Chrome 61 και μετά, about:addons, κλπ.), καθώς και τις σελίδες άλλωων προσθέτων. Επιπλέον, κάθε φυλλομετρητής περιορίζει την πρόσβαση στο κατάστημα προσθέτων (όπως το Chrome Web Store ή το AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "toggleStyle": { - "message": "Αλλαγή στυλ", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Αναίρεση", - "description": "Button label" - }, - "undoGlobal": { - "message": "Αναίρεση όλων των ενεργειών", - "description": "CSS-beautify global Undo button label" - }, - "unreachableFileHint": { - "message": "Το Stylus έχει πρόσβαση στις file:// διευθύνσεις URL μόνο αν έχετε επιλέξει το αντίστοιχο πλαίσιο ελέγχου για το πρόσθετο Stylus στη σελίδα chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Όλα τα στυλ είναι ενημερωμένα.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Δεν έχει γίνει έλεγχος ενημερώσεων για κάποια στυλ, για να αποφευχθεί η πιθανότητα απώλειας τοπικών επεξεργασιών. Οι ενημερώσεις μπορούν να εξαναγκαστούν ελέγχοντας το κάθε στυλ ξεχωριστά ή ελέγχοντας πάλι όλα τα στυλ (τοπικές επεξεργασίες θα αντικατασταθούν)", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Αποτυχία ενημέρωσης: ο διακομιστής ανταποκρίθηκε με κωδικό $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Αποτυχία ενημέρωσης: απρόσιτος διακομιστής.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Το στυλ επεξεργάστηκε τοπικά στον υπολογιστή σας.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Το στυλ αυτό μπορεί να έχει επεξεργαστεί τοπικά στον υπολογιστή σας.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Το στυλ είναι ενημερωμένο.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Η ενημέρωση ολοκληρώθηκε.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Ενημερώσεις που εγκαταστάθηκαν", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssEditorNamePlaceholder": { - "message": "Καθορίστε το @name στον κώδικα", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "versionInvalidOlder": { - "message": "Η έκδοση αυτή είναι παλαιότερη από αυτήν που είναι ήδη εγκατεστημένη.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Γράψτε νέο στυλ για:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "αυτή την διεύθυνση URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Εξαγωγή από το Dropbox", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Εισαγωγή από το Dropbox", - "description": "" - }, - "exportSavedSuccess": { - "message": "Το αρχείο αποθηκεύτηκε επιτυχώς.", - "description": "" - }, - "noFileToImport": { - "message": "Για να εισάγετε τα στυλ σας, πρέπει πρώτα να τα εξάγετε.", - "description": "" - }, - "connectingDropbox": { - "message": "Σύνδεση με το Dropbox...", - "description": "" - }, - "zipStyles": { - "message": "Συμπίεση στυλ...", - "description": "" - }, - "unzipStyles": { - "message": "Αποσυμπίεση στυλ...", - "description": "" - }, - "readingStyles": { - "message": "Ανάγνωση στυλ...", - "description": "" - }, - "uploadingFile": { - "message": "Μεταφόρτωση αρχείου...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/en_GB/messages.json b/_locales/en_GB/messages.json index e6a09217..e7ab78ff 100644 --- a/_locales/en_GB/messages.json +++ b/_locales/en_GB/messages.json @@ -1,83 +1,1586 @@ { - "appliesRemoveError": { - "message": "Cannot remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "checkAllUpdatesForce": { - "message": "Check again—I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "cm_autoCloseBrackets": { - "message": "Auto-close brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colour pickers for CSS colours", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_resizeGripHint": { - "message": "Double-click to maximise/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "colorpickerTooltip": { - "message": "Open colour picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "description": { - "message": "Redesign the web with Stylus, a user-style manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "editGotoLine": { - "message": "Go to line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit style", - "description": "Title of the page for editing styles" - }, - "license": { - "message": "Licence", - "description": "Label for the license" - }, - "manageFaviconsGray": { - "message": "Greyed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "optionsBadgeDisabled": { - "message": "Background colour when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background colour", - "description": "" - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from an old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle auto-update interval in hours (specify 0 to disable)", - "description": "" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } + "addStyleTitle": { + "message": "Add Style", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Add", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Applies to: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "and more", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs on the domain", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Applies to", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs matching the regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Remove", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Cannot remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specify", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Everything", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs starting with", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Apply all updates", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Check all styles for updates", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again—I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Check for update", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Checking...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Auto-close brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colour pickers for CSS colours", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximise/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open colour picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Are you sure you want to delete this style?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Delete", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user-style manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disable", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Go to line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Enable", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Help", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licence", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Greyed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installed Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background colour when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background colour", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from an old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle auto-update interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome, which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style has been changed outside the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialogue was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Write new style", + "description": "Label for the button to go to the add style page" } - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome, which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleUpdateDiscardChanges": { - "message": "The style has been changed outside the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialogue was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - } } \ No newline at end of file diff --git a/_locales/es/messages.json b/_locales/es/messages.json index 51e4f77f..922199c3 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -1,1580 +1,1586 @@ { - "addStyleLabel": { - "message": "Escribir un estilo nuevo", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Añadir estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidad", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Añadir", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Se aplica a: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Añadir estilo", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacidad", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Añadir", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Se aplica a: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "y más sitios", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs en el dominio", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Utilice los controles 'Se aplica a' para limitar a qué URLs se aplica el código de esta sección.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Se aplica a", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Muestra la información 'Se aplica a'", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "No funciona con CSS minificado", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs que coinciden con la regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Eliminar", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "No se puede eliminar la última entrada 'Se aplica a'", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Especificar", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Todos los sitios", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs que empiezan con", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Aplicar todas las actualizaciones", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Respaldo", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Al exportar hará una copia de respaldo de TODOS los estilos instalados. Para restaurar una copia de respaldo, importe el archivo o arrástrelo a esta página.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Exportar estilos", + "description": "" + }, + "checkAllUpdates": { + "message": "Buscar actualizaciones para todos los estilos", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Comprobar de nuevo, ¡no he editado ningún estilo!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Buscar actualización", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Buscando...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Haz clic para desinstalar", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Cerrar automáticamente corchetes y comillas", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Añade automáticamente un equivalente de cierre al escribir uno de apertura de ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocompletar al escribir", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Selectores de color para colores CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Usar tabulaciones con sangría inteligente", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Mapa de teclado", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Ajuste de línea", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "Validador lint", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Resaltar", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Solo selección", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Resaltado de palabra señalada", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Doble clic para maximizar/restaurar la altura", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Al hacer doble clic se seleccionan los tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Ejemplos de tokens: .foo-bar-2 #aabbcc 0.32 !important\nCuando está deshabilitado: se seleccionan las palabras delimitadas por puntos.", + "description": "" + }, + "cm_smartIndent": { + "message": "Usar sangría inteligente", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tamaño de la tabulación", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Temas", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Alternar formatos: HEX -> RGB -> HSL.\nMayús+Clic para invertir la dirección.\nTambién con las teclas RePág (Retroceso de página), AvPág (Avance de página).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Abrir selector de color", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "al cambiar", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Guardar y aplicar los cambios automáticamente", + "description": "" + }, + "configureStyle": { + "message": "Configurar", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configurar en la página de inicio", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancelar", + "description": "" + }, + "confirmClose": { + "message": "Cerrar", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Usar predeterminado", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Eliminar", + "description": "" + }, + "confirmDiscardChanges": { + "message": "¿Descartar los cambios?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "Aceptar", + "description": "" + }, + "confirmSave": { + "message": "Guardar", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Detener", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Sí", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copiado al portapapeles", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copiar al portapapeles", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$a", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Fecha de instalación", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Fecha de actualización", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Ocurrió un error con la base de datos de Stylus. ¿Deseas visitar una página web con posibles soluciones?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "predeterminado", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "¿Estás seguro de que quieres eliminar este estilo?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Eliminar", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Rediseña la web con Stylus, un administrador de estilos de usuario. Stylus te permite instalar fácilmente temas y coberturas para muchos sitios populares.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Desactivar todos los estilos", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Deshabilitar", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Arrastra tu archivo de respaldo en cualquier lugar de esta página para importar.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Eliminar", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Ir a la línea (o a línea:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Editar estilo", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Editar", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Editar estilo $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Habilitar", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Excluir el dominio Actual", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Excluir la URL actual", + "description": "" + }, + "exportLabel": { + "message": "Exportar", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Comentarios", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Página de inicio", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Enlace externo", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Asistencia", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentación para Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ mostrados de $numTotal$ en total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Los filtros actualmente aplicados no coinciden con estilo alguno", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Buscar estilos", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Buscar más estilos para este sitio", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Dentro", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Muestra los resultados de búsqueda dentro de esta ventana.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Añadir", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clonar", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Deshabilitado", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Habilitado", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Historial", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Siguiente", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Anterior", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Restablecer", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Guardado", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Título", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Desconocido", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Ayuda", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Nombre del comando", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Pulsa un atajo de teclado", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Adicionar al estilo", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Agrega el estilo importado al estilo actual", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importar", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Sobrescribir estilo", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Descartar el contenido del estilo actual y sobrescribirlo con el estilo importado", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "añadido", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "idénticos omitidos", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "no válidos omitidos", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "actualizado tanto metadatos como código", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "código actualizado", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "metadatos actualizados", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Se completó la importación de estilos", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "No se cambió nada.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "estilos fueron revertidos", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "La importación ha sido anulada", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Instalar estilo", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Estilo instalado", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstalar estilo", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Actualizar estilo", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Instalar actualización", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Actualmente el estilo se actualiza desde $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Buscar actualizaciones", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licencia", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Obtener ayuda", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Obtener estilos", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Traducir", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint no soporta el preprocesador $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Establecer regla como: 0 = deshabilitada; 1 = advertencia; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Establecer configuración de $linter$ reglas", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Haz clic para configurar este linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "No se guardó debido a estos ajustes de configuración no válidos:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problemas", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Estos problemas fueron encontrados por $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Formato JSON no válido", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Para deshacer este restablecimiento accidental, pulse Ctrl+Z (o Cmd+Z) en el cuadro de texto", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Vea una lista completa de reglas", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Se ha producido un error al visualizar el archivo", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Recarga en tiempo real", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons en la columna 'Se aplica a'", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Atenuado", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus usa un servicio externo https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtros", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Estilos instalados", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Número de elementos 'Se aplica a'", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "como Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Nuevo diseño de la administración", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Solo estilos deshabilitados", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Solo estilos habilitados", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Solo estilos externos", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Solo estilos creados localmente", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(los estilos no instalados a través de una página userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Solo estilos no UserCSS", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Solo con actualizaciones o problemas", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Solo estilos UserCSS", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Mostrar número de estilos activos", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "@var checkbox no válida: el valor debe ser 0 o 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "@var color no válido: $color$ no es un color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "@var $type$no válido: debe ser un número o un array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "@var $type$ no válido: se han definido múltiples unidades", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "@var $type$ no válido: el array contiene demasiados elementos", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "@var $type$ no válido: los elementos en el array deben ser número, cadena o nulo", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "@var $type$ no válido: el valor por defecto es nulo", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "@var $type$ no válido: el valor por defecto es inferior al mínimo", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "@var $type$ no válido: el valor por defecto es mayor al máximo", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "@var $type$ no válido: el valor por defecto no es un múltiplo del intervalo", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "@var $type$ no válido: '$units$' no es una unidad válida", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "@var select no válido: el valor por defecto debe ser un array o un objeto", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "@var select no válido: los valores dentro del array/objeto deben ser una cadena", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "@var select no válido: la lista de opciones está vacía", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "@var select no válido: la etiqueta de opción está vacía", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "@var select no válido: se han definido múltiples opciones por defecto", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "@var select no válido: el nombre de la opción está duplicado", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "@var select no válido: no existe en la lista de opciones", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Protocolo URL no válido. Sólo se permiten http y https: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Número de versión no válido. El valor no coincide con el patrón SemVer: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Se espera un número", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Se espera una cadena de texto entre comillas", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Se espera una palabra", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Se esperan caracteres: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Se esperan datos EOT", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Faltan metadatos obligatorios: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "JSON no válido: $literal$ no es un literal válido de JSON", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Metadatos desconocidos: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Tipo de @$varkey$ desconocido: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "@preprocessor desconocido: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No hay estilos instalados para este sitio.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Línea:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Administrar", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Opciones", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Abrir administrador de estilos", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Acciones", + "description": "" + }, + "optionsAdvanced": { + "message": "Avanzado", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Añadir 'Eliminar' al menú contextual del editor", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Visualizar marcos integrados (iframes) a través de HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Escribir nuevo estilo como usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Color de fondo cuando está deshabilitado", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Color de fondo", + "description": "" + }, + "optionsCheck": { + "message": "Actualizar estilos", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Buscar e instalar todas las actualizaciones disponibles", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Distintivo en el icono de barra de herramientas", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Icono de barra de herramientas", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Ventana emergente", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Actualizaciones", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Opciones", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Temas de navegador oscuros", + "description": "" + }, + "optionsIconLight": { + "message": "Temas de navegador claros", + "description": "" + }, + "optionsOpen": { + "message": "Abrir", + "description": "" + }, + "optionsOpenManager": { + "message": "Administrar estilos", + "description": "" + }, + "optionsPopupWidth": { + "message": "Anchura del diálogo emergente (en píxeles)", + "description": "" + }, + "optionsReset": { + "message": "Restablecer las opciones a sus valores predeterminados.", + "description": "" + }, + "optionsResetButton": { + "message": "Restablecer opciones", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Más opciones", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Al importar los respaldos de estilos desde una versión antigua o desde Stylish, comprueba una vez las actualizaciones manualmente en el administrador de estilos para asegurarte de que todos los estilos estén actualizados.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Intervalo de actualización automática en horas (especificar 0 para deshabilitar)", + "description": "" + }, + "optionsSyncNone": { + "message": "Ninguno", + "description": "" + }, + "optionsSyncConnect": { + "message": "Conectar", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Desconectar", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sincronizar ahora", + "description": "" + }, + "optionsSyncLogin": { + "message": "Iniciar Sesión", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Sincronizando...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Conectando...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Conectado", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Desconectando...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Desconectado", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Página actual", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Número estimado de páginas", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Página siguiente", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Página anterior", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Páginas totales", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus no pudo interpretar el usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Añadir bordes blancos en los laterales", + "description": "" + }, + "popupBordersTooltip": { + "message": "Útil para temas oscuros en el nuevo Chrome ya que no pinta los bordes laterales", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, también en el teclado numérico - acciona el n-esimo estilo (0 es 10)\n- acciona el primer estilo con un nombre que comienza con la letra\n abre el editor en lugar de accionar\n habilita los estilos listados\n deshabilita los estilos listados\n y <`> (acento grave) - acciona los estilos habilitados inicialmente; no se aplica a los estilos habilitados subsecuentemente mientras el cuadro emergente está abierto, así que puede restaurar la selección inicial tras probar el material: simplemente deshabilite todo, y luego accione, es decir \nMás información en el wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Haz clic para ver los atajos de teclado disponibles", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Mayús+clic o clic secundario abre el administrador con estilos aplicables para el sitio actual.", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Acciones", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Abrir editor en una nueva ventana", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "También se habilita al desacoplar la pestaña del editor de una ventana de navegador,\ny se deshabilita al acoplar una única pestaña de editor en otra ventana.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Estilos antes que las órdenes", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Número de estilos activos en el sitio actual", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Vista previa en tiempo real", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Aplica temporalmente los cambios sin guardar.\nGuarde el estilo para que los cambios sean permanentes.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Recargar extensión Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "Reemplazar", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Reemplazar todo", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Reemplazar con", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importar estilos", + "description": "" + }, + "search": { + "message": "Buscar", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Diferenciar mayúsculas y minúsculas", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "También buscar estilos globales", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Número de coincidencias", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Número de coincidencias en el código y en los valores 'Se aplica a'", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use la sintaxis /re/ para búsquedas con expresiones regulares", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Instalaciones totales", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No se encontraron estilos para este sitio.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Intenta pedir al autor de este estilo de usuario que añada la URL.\n\nTambién puedes abrir el estilo en el administrador y editarlo tú mismo,\npero ten en cuenta que deshabilita las actualizaciones automáticas de\neste estilo.", + "description": "" + }, + "searchResultRating": { + "message": "Valoración", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Actualizado", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Instalaciones semanales", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "Código CSS", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadatos", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Nombre", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Añadir otra sección", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Código", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Eliminar sección", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restaurar sección eliminada", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Secciones", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Atajos", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Defina atajos de teclado", + "description": "" + }, + "sortDateNewestFirst": { + "message": "los más nuevos primero", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "el más antiguo primero", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Seleccione un orden a aplicar a los estilos instalados", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Título ascendentemente", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Título descendentemente", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Escoja el tipo de orden a aplicar a las entradas instaladas desde el menú desplegable de ordenación. La configuración predeterminada aplica un orden ascendente (A a Z) a los títulos de las entradas. Las ordenaciones del grupo \"Título descendentemente\" aplicarán un orden descendente (Z a A) al título.\nHay otros preajustes que permitirán ordenar las entradas según múltiples criterios. Piense en esto como en ordenar una tabla con múltiples columnas, y en cada categoría en una selección (entre los signos más) representa una columna o grupo.\nPor ejemplo, si la configuración es \"Habilitados (primero) + Título\", las entradas se ordenarían de forma que las entradas habilitadas quedarían en la parte superior de la lista, luego se aplica un orden ascendente (A a Z) de títulos de las entradas tanto para las entradas habilitadas como las deshabilitadas de forma separada.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Ordenar contenidos", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "La expresión regular proporcionada no es válida.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Formatear", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Sangrar @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Conservar nuevas líneas", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Volver al administrador", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Has realizado cambios en este estilo sin guardarlos.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Activado", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "No se pudo importar desde el formato Mozilla", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Pegue el código de formato Mozilla", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "¿Quiere instalar «$stylename$» en Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "¡No se pudo instalar el estilo de usuario!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' ya está instalado ¿Sobrescribirlo?\nVersión: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Introduzca un nombre", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "El estilo no se aplicó debido a su uso incorrecto de 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Algunas reglas «regexp()» que no se pudieron compilar en absoluto.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Este estilo utiliza expresiones regulares (regexps) con coincidencias parciales, infringiendo la especificación @document de CSS4 que requiere una coincidencia de URL completa. \nLas secciones CSS correspondientes a estas expresiones regulares no se aplicaron a la página. Este estilo fue probablemente creado con Stylish para Chrome que evalúa incorrectamente las reglas 'regexp()' desde la primera versión (fallo conocido).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Número de secciones no aplicadas debido a un uso incorrecto de 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Probar regexp", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Pestañas coincidentes", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Expresiones regulares no válidas omitidas", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No hay pestañas que coincidan", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Nota: Use una única \\ como caracter de escape en el campo de entrada de la expresión regular (regexp), que se convertirá automátiascamente a \\\\ en el código del estilo igual que por especificación para cadenas entrecomilladas en CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "No coincide completamente, por lo que se omitió", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Lista de pestañas abiertas que coinciden (haga clic en la URL para enfocar su pestaña)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Guardar", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "El formato Mozilla del código se puede enviar a userstyles.org y usarse con el Stylish para Firefox clásico.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Estilo en formato Mozilla", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "¿Estás seguro de que quieres actualizar '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "El estilo se ha modificado fuera del editor. ¿Desea recargar el estilo?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus no funciona en páginas como esta.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Como medida de seguridad, el navegador impide que las extensiones afecten a sus páginas incorporadas(como chrome://version, la página de pestaña nueva a partir de Chrome 61, about:addons, etc.), así como a las páginas de otras extensiones. Cada navegador también restringe el acceso a su propia galería de extensiones (como Chrome Web Store o AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "El valor no se puede guardar. Trate de reducir la longitud del texto.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Activar/Desactivar estilo", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Deshacer", + "description": "Button label" + }, + "undoGlobal": { + "message": "Deshacer en todas las secciones", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox prohibe el acceso al sitio", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Para permitir el acceso abra , haga clic secundario en la lista, pulse 'Nuevo', luego 'Booleano', pegue y pulse Aceptar, , Aceptar, y recargue la página .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "En Firefox 60 y versiones posteriores también deberá eliminar el dominio AMO de en .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Solo Firefox 59 y posteriores se pueden configurar para permitir que WebExtensions añada elementos de estilo en sitios protegidos por CSP (política de seguridad de contenido) como este.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "No se pudo comunicar con la página. Prueba recargando la pestaña.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus puede acceder a las URLs file:// sólo si activa la casilla correspondiente para la extensión Stylus en la página chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus no puede acceder a algunos tipos de archivos (p. ej. archivos pdf y json).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No se encontraron actualizaciones.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "No se buscaron actualizaciones de algunos estilos actualizables para evitar la pérdida de posibles ediciones locales. Se puede forzar la búsqueda de actualizaciones mediante comprobación individual, o ejecutando otra búsqueda para todos los estilos (las ediciones locales se sobrescribirán).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Error de actualización: el servidor ha respondido con el código $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Error de actualización: no se pudo contactar con el servidor.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Historial de búsqueda de actualizaciones", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Instalar actualización (se sobrescribirán las ediciones locales)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forzar una actualización sobrescribirá cualquier edición local.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Este estilo se editó localmente.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Este estilo podría haber sido editado localmente.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "El estilo está actualizado.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Actualización completada.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Actualizaciones instaladas:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Por favor, cambie el valor de @name o @namespace para no sobrescribir un estilo existente.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "El estilo se actualizó o borró después de que se mostrara el cuadro de diálogo de configuración. Estas variables no se guardaron para evitar corromper los metadatos del estilo:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Especifique @name en el código", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "¿Reemplazar con el código actual la plantilla predeterminada para nuevos estilos Usercss?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "@name vacío reemplaza la plantilla predeterminada", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Inserte el código aquí...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "La versión es más antigua que el estilo instalado.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Escribir estilo para:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "este URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Exportar a Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Importar desde Dropbox", + "description": "" + }, + "overwriteFileExport": { + "message": "¿Desea sobrescribir un archivo existente?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Archivo guardado correctamente", + "description": "" + }, + "noFileToImport": { + "message": "Para importar sus estilos, debe exportarlos primero.", + "description": "" + }, + "connectingDropbox": { + "message": "Conectando a Dropbox....", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "La conexión a Dropbox sólo está disponible en aplicaciones instaladas directamente desde la tienda web.", + "description": "" + }, + "gettingStyles": { + "message": "Obteniendo todos los estilos...", + "description": "" + }, + "zipStyles": { + "message": "Comprimiendo los estilos...", + "description": "" + }, + "unzipStyles": { + "message": "Descomprimiendo los estilos...", + "description": "" + }, + "readingStyles": { + "message": "Leyendo los estilos...", + "description": "" + }, + "uploadingFile": { + "message": "Subiendo el archivo....", + "description": "" + }, + "addStyleLabel": { + "message": "Escribir un estilo nuevo", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "y más sitios", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs en el dominio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Utilice los controles 'Se aplica a' para limitar a qué URLs se aplica el código de esta sección.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Se aplica a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Muestra la información 'Se aplica a'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "No funciona con CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs que coinciden con la regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Eliminar", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "No se puede eliminar la última entrada 'Se aplica a'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Todos los sitios", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URLs que empiezan con", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar todas las actualizaciones", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Respaldo", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Al exportar hará una copia de respaldo de TODOS los estilos instalados. Para restaurar una copia de respaldo, importe el archivo o arrástrelo a esta página.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportar estilos", - "description": "" - }, - "checkAllUpdates": { - "message": "Buscar actualizaciones para todos los estilos", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Comprobar de nuevo, ¡no he editado ningún estilo!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Buscar actualización", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Buscando...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Haz clic para desinstalar", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Cerrar automáticamente corchetes y comillas", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Añade automáticamente un equivalente de cierre al escribir uno de apertura de ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocompletar al escribir", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Selectores de color para colores CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usar tabulaciones con sangría inteligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mapa de teclado", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Ajuste de línea", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Validador lint", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Resaltar", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Solo selección", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Resaltado de palabra señalada", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Doble clic para maximizar/restaurar la altura", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Al hacer doble clic se seleccionan los tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Ejemplos de tokens: .foo-bar-2 #aabbcc 0.32 !important\nCuando está deshabilitado: se seleccionan las palabras delimitadas por puntos.", - "description": "" - }, - "cm_smartIndent": { - "message": "Usar sangría inteligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tamaño de la tabulación", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Temas", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Alternar formatos: HEX -> RGB -> HSL.\nMayús+Clic para invertir la dirección.\nTambién con las teclas RePág (Retroceso de página), AvPág (Avance de página).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Abrir selector de color", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "al cambiar", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Guardar y aplicar los cambios automáticamente", - "description": "" - }, - "configureStyle": { - "message": "Configurar", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurar en la página de inicio", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancelar", - "description": "" - }, - "confirmClose": { - "message": "Cerrar", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Usar predeterminado", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Eliminar", - "description": "" - }, - "confirmDiscardChanges": { - "message": "¿Descartar los cambios?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmOK": { - "message": "Aceptar", - "description": "" - }, - "confirmSave": { - "message": "Guardar", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Detener", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Sí", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copiado al portapapeles", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copiar al portapapeles", - "description": "Tooltip for elements which can be copied" - }, - "dateAbbrYear": { - "message": "$value$a", - "description": "Year suffix in a short relative date, for example: 8y", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateInstalled": { - "message": "Fecha de instalación", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Fecha de actualización", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ocurrió un error con la base de datos de Stylus. ¿Deseas visitar una página web con posibles soluciones?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "predeterminado", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "¿Estás seguro de que quieres eliminar este estilo?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Eliminar", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Rediseña la web con Stylus, un administrador de estilos de usuario. Stylus te permite instalar fácilmente temas y coberturas para muchos sitios populares.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Desactivar todos los estilos", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Deshabilitar", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Arrastra tu archivo de respaldo en cualquier lugar de esta página para importar.", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "Eliminar", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ir a la línea (o a línea:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Editar estilo", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Editar", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Editar estilo $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Habilitar", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Excluir el dominio Actual", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Excluir la URL actual", - "description": "" - }, - "exportLabel": { - "message": "Exportar", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Comentarios", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Página de inicio", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Enlace externo", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Asistencia", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentación para Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mostrados de $numTotal$ en total", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Los filtros actualmente aplicados no coinciden con estilo alguno", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Buscar estilos", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Buscar más estilos para este sitio", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Dentro", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Muestra los resultados de búsqueda dentro de esta ventana.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Añadir", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clonar", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Deshabilitado", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Habilitado", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericHistoryLabel": { - "message": "Historial", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Siguiente", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Anterior", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Restablecer", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Guardado", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Título", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Desconocido", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ayuda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Nombre del comando", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Pulsa un atajo de teclado", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Adicionar al estilo", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Agrega el estilo importado al estilo actual", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Sobrescribir estilo", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Descartar el contenido del estilo actual y sobrescribirlo con el estilo importado", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "añadido", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "idénticos omitidos", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "no válidos omitidos", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "actualizado tanto metadatos como código", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "código actualizado", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "metadatos actualizados", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Se completó la importación de estilos", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "No se cambió nada.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "estilos fueron revertidos", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "La importación ha sido anulada", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalar estilo", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Estilo instalado", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalar estilo", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Actualizar estilo", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Instalar actualización", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Actualmente el estilo se actualiza desde $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Buscar actualizaciones", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licencia", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Obtener ayuda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obtener estilos", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Traducir", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint no soporta el preprocesador $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Establecer regla como: 0 = deshabilitada; 1 = advertencia; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Establecer configuración de $linter$ reglas", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Haz clic para configurar este linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "No se guardó debido a estos ajustes de configuración no válidos:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemas", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Estos problemas fueron encontrados por $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Formato JSON no válido", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Para deshacer este restablecimiento accidental, pulse Ctrl+Z (o Cmd+Z) en el cuadro de texto", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vea una lista completa de reglas", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Se ha producido un error al visualizar el archivo", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "Recarga en tiempo real", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons en la columna 'Se aplica a'", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Atenuado", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus usa un servicio externo https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtros", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Estilos instalados", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Número de elementos 'Se aplica a'", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "como Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nuevo diseño de la administración", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Solo estilos deshabilitados", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Solo estilos habilitados", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Solo estilos externos", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Solo estilos creados localmente", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(los estilos no instalados a través de una página userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Solo estilos no UserCSS", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Solo con actualizaciones o problemas", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Solo estilos UserCSS", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Mostrar número de estilos activos", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "@var checkbox no válida: el valor debe ser 0 o 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "@var color no válido: $color$ no es un color", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "@var $type$no válido: debe ser un número o un array", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "@var $type$ no válido: se han definido múltiples unidades", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "@var $type$ no válido: el array contiene demasiados elementos", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "@var $type$ no válido: los elementos en el array deben ser número, cadena o nulo", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "@var $type$ no válido: el valor por defecto es nulo", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "@var $type$ no válido: el valor por defecto es inferior al mínimo", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "@var $type$ no válido: el valor por defecto es mayor al máximo", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "@var $type$ no válido: el valor por defecto no es un múltiplo del intervalo", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "@var $type$ no válido: '$units$' no es una unidad válida", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "@var select no válido: el valor por defecto debe ser un array o un objeto", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "@var select no válido: los valores dentro del array/objeto deben ser una cadena", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "@var select no válido: la lista de opciones está vacía", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "@var select no válido: la etiqueta de opción está vacía", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "@var select no válido: se han definido múltiples opciones por defecto", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "@var select no válido: el nombre de la opción está duplicado", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "@var select no válido: no existe en la lista de opciones", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Protocolo URL no válido. Sólo se permiten http y https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Número de versión no válido. El valor no coincide con el patrón SemVer: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Se espera un número", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Se espera una cadena de texto entre comillas", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Se espera una palabra", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Se esperan caracteres: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Se esperan datos EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Faltan metadatos obligatorios: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "JSON no válido: $literal$ no es un literal válido de JSON", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Metadatos desconocidos: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Tipo de @$varkey$ desconocido: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "@preprocessor desconocido: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "No hay estilos instalados para este sitio.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Línea:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Administrar", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opciones", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Abrir administrador de estilos", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Acciones", - "description": "" - }, - "optionsAdvanced": { - "message": "Avanzado", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Añadir 'Eliminar' al menú contextual del editor", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Visualizar marcos integrados (iframes) a través de HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Escribir nuevo estilo como usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Color de fondo cuando está deshabilitado", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Color de fondo", - "description": "" - }, - "optionsCheck": { - "message": "Actualizar estilos", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Buscar e instalar todas las actualizaciones disponibles", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Distintivo en el icono de barra de herramientas", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Icono de barra de herramientas", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Ventana emergente", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Actualizaciones", - "description": "" - }, - "optionsHeading": { - "message": "Opciones", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Temas de navegador oscuros", - "description": "" - }, - "optionsIconLight": { - "message": "Temas de navegador claros", - "description": "" - }, - "optionsOpen": { - "message": "Abrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Administrar estilos", - "description": "" - }, - "optionsPopupWidth": { - "message": "Anchura del diálogo emergente (en píxeles)", - "description": "" - }, - "optionsReset": { - "message": "Restablecer las opciones a sus valores predeterminados.", - "description": "" - }, - "optionsResetButton": { - "message": "Restablecer opciones", - "description": "" - }, - "optionsSubheading": { - "message": "Más opciones", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Al importar los respaldos de estilos desde una versión antigua o desde Stylish, comprueba una vez las actualizaciones manualmente en el administrador de estilos para asegurarte de que todos los estilos estén actualizados.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalo de actualización automática en horas (especificar 0 para deshabilitar)", - "description": "" - }, - "optionsSyncConnect": { - "message": "Conectar", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Desconectar", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sincronizar ahora", - "description": "" - }, - "optionsSyncLogin": { - "message": "Iniciar Sesión", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Sincronizando...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Conectando...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Conectado", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Desconectando...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Desconectado", - "description": "" - }, - "paginationCurrent": { - "message": "Página actual", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Número estimado de páginas", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Página siguiente", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Página anterior", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Páginas totales", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus no pudo interpretar el usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupBorders": { - "message": "Añadir bordes blancos en los laterales", - "description": "" - }, - "popupBordersTooltip": { - "message": "Útil para temas oscuros en el nuevo Chrome ya que no pinta los bordes laterales", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, también en el teclado numérico - acciona el n-esimo estilo (0 es 10)\n- acciona el primer estilo con un nombre que comienza con la letra\n abre el editor en lugar de accionar\n habilita los estilos listados\n deshabilita los estilos listados\n y <`> (acento grave) - acciona los estilos habilitados inicialmente; no se aplica a los estilos habilitados subsecuentemente mientras el cuadro emergente está abierto, así que puede restaurar la selección inicial tras probar el material: simplemente deshabilite todo, y luego accione, es decir \nMás información en el wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Haz clic para ver los atajos de teclado disponibles", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Mayús+clic o clic secundario abre el administrador con estilos aplicables para el sitio actual.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Acciones", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "Abrir editor en una nueva ventana", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "También se habilita al desacoplar la pestaña del editor de una ventana de navegador,\ny se deshabilita al acoplar una única pestaña de editor en otra ventana.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Estilos antes que las órdenes", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Número de estilos activos en el sitio actual", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Vista previa en tiempo real", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Aplica temporalmente los cambios sin guardar.\nGuarde el estilo para que los cambios sean permanentes.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Recargar extensión Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Reemplazar", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Reemplazar todo", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Reemplazar con", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importar estilos", - "description": "" - }, - "search": { - "message": "Buscar", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Diferenciar mayúsculas y minúsculas", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Número de coincidencias", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Número de coincidencias en el código y en los valores 'Se aplica a'", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Use la sintaxis /re/ para búsquedas con expresiones regulares", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Instalaciones totales", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No se encontraron estilos para este sitio.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatchingNote": { - "message": "Intenta pedir al autor de este estilo de usuario que añada la URL.\n\nTambién puedes abrir el estilo en el administrador y editarlo tú mismo,\npero ten en cuenta que deshabilita las actualizaciones automáticas de\neste estilo.", - "description": "" - }, - "searchResultRating": { - "message": "Valoración", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Actualizado", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Instalaciones semanales", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Añadir otra sección", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Código", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Eliminar sección", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurar sección eliminada", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Atajos", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Defina atajos de teclado", - "description": "" - }, - "sortDateNewestFirst": { - "message": "los más nuevos primero", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "el más antiguo primero", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Seleccione un orden a aplicar a los estilos instalados", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Título ascendentemente", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Título descendentemente", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Escoja el tipo de orden a aplicar a las entradas instaladas desde el menú desplegable de ordenación. La configuración predeterminada aplica un orden ascendente (A a Z) a los títulos de las entradas. Las ordenaciones del grupo \"Título descendentemente\" aplicarán un orden descendente (Z a A) al título.\nHay otros preajustes que permitirán ordenar las entradas según múltiples criterios. Piense en esto como en ordenar una tabla con múltiples columnas, y en cada categoría en una selección (entre los signos más) representa una columna o grupo.\nPor ejemplo, si la configuración es \"Habilitados (primero) + Título\", las entradas se ordenarían de forma que las entradas habilitadas quedarían en la parte superior de la lista, luego se aplica un orden ascendente (A a Z) de títulos de las entradas tanto para las entradas habilitadas como las deshabilitadas de forma separada.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Ordenar contenidos", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "La expresión regular proporcionada no es válida.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Formatear", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Sangrar @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Conservar nuevas líneas", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Volver al administrador", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Has realizado cambios en este estilo sin guardarlos.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Activado", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "No se pudo importar desde el formato Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Pegue el código de formato Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "¿Quiere instalar «$stylename$» en Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "¡No se pudo instalar el estilo de usuario!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' ya está instalado ¿Sobrescribirlo?\nVersión: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Introduzca un nombre", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "El estilo no se aplicó debido a su uso incorrecto de 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Algunas reglas «regexp()» que no se pudieron compilar en absoluto.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Este estilo utiliza expresiones regulares (regexps) con coincidencias parciales, infringiendo la especificación @document de CSS4 que requiere una coincidencia de URL completa. \nLas secciones CSS correspondientes a estas expresiones regulares no se aplicaron a la página. Este estilo fue probablemente creado con Stylish para Chrome que evalúa incorrectamente las reglas 'regexp()' desde la primera versión (fallo conocido).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Número de secciones no aplicadas debido a un uso incorrecto de 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Probar regexp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Pestañas coincidentes", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Expresiones regulares no válidas omitidas", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No hay pestañas que coincidan", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Nota: Use una única \\ como caracter de escape en el campo de entrada de la expresión regular (regexp), que se convertirá automátiascamente a \\\\ en el código del estilo igual que por especificación para cadenas entrecomilladas en CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "No coincide completamente, por lo que se omitió", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista de pestañas abiertas que coinciden (haga clic en la URL para enfocar su pestaña)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Guardar", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "El formato Mozilla del código se puede enviar a userstyles.org y usarse con el Stylish para Firefox clásico.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Estilo en formato Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "¿Estás seguro de que quieres actualizar '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "El estilo se ha modificado fuera del editor. ¿Desea recargar el estilo?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus no funciona en páginas como esta.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Como medida de seguridad, el navegador impide que las extensiones afecten a sus páginas incorporadas(como chrome://version, la página de pestaña nueva a partir de Chrome 61, about:addons, etc.), así como a las páginas de otras extensiones. Cada navegador también restringe el acceso a su propia galería de extensiones (como Chrome Web Store o AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "El valor no se puede guardar. Trate de reducir la longitud del texto.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Activar/Desactivar estilo", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Deshacer", - "description": "Button label" - }, - "undoGlobal": { - "message": "Deshacer en todas las secciones", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox prohibe el acceso al sitio", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Para permitir el acceso abra , haga clic secundario en la lista, pulse 'Nuevo', luego 'Booleano', pegue y pulse Aceptar, , Aceptar, y recargue la página .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "En Firefox 60 y versiones posteriores también deberá eliminar el dominio AMO de en .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Solo Firefox 59 y posteriores se pueden configurar para permitir que WebExtensions añada elementos de estilo en sitios protegidos por CSP (política de seguridad de contenido) como este.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "No se pudo comunicar con la página. Prueba recargando la pestaña.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus puede acceder a las URLs file:// sólo si activa la casilla correspondiente para la extensión Stylus en la página chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus no puede acceder a algunos tipos de archivos (p. ej. archivos pdf y json).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No se encontraron actualizaciones.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "No se buscaron actualizaciones de algunos estilos actualizables para evitar la pérdida de posibles ediciones locales. Se puede forzar la búsqueda de actualizaciones mediante comprobación individual, o ejecutando otra búsqueda para todos los estilos (las ediciones locales se sobrescribirán).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Error de actualización: el servidor ha respondido con el código $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Error de actualización: no se pudo contactar con el servidor.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historial de búsqueda de actualizaciones", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalar actualización (se sobrescribirán las ediciones locales)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forzar una actualización sobrescribirá cualquier edición local.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Este estilo se editó localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Este estilo podría haber sido editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "El estilo está actualizado.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Actualización completada.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Actualizaciones instaladas:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Por favor, cambie el valor de @name o @namespace para no sobrescribir un estilo existente.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "El estilo se actualizó o borró después de que se mostrara el cuadro de diálogo de configuración. Estas variables no se guardaron para evitar corromper los metadatos del estilo:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Especifique @name en el código", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "¿Reemplazar con el código actual la plantilla predeterminada para nuevos estilos Usercss?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name vacío reemplaza la plantilla predeterminada", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Inserte el código aquí...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "La versión es más antigua que el estilo instalado.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Escribir estilo para:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "este URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exportar a Dropbox", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importar desde Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "¿Desea sobrescribir un archivo existente?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Archivo guardado correctamente", - "description": "" - }, - "noFileToImport": { - "message": "Para importar sus estilos, debe exportarlos primero.", - "description": "" - }, - "connectingDropbox": { - "message": "Conectando a Dropbox....", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "La conexión a Dropbox sólo está disponible en aplicaciones instaladas directamente desde la tienda web.", - "description": "" - }, - "gettingStyles": { - "message": "Obteniendo todos los estilos...", - "description": "" - }, - "zipStyles": { - "message": "Comprimiendo los estilos...", - "description": "" - }, - "unzipStyles": { - "message": "Descomprimiendo los estilos...", - "description": "" - }, - "readingStyles": { - "message": "Leyendo los estilos...", - "description": "" - }, - "uploadingFile": { - "message": "Subiendo el archivo....", - "description": "" - } } \ No newline at end of file diff --git a/_locales/et/messages.json b/_locales/et/messages.json index 78888439..5437d381 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -1,1477 +1,1586 @@ { - "addStyleLabel": { - "message": "Kirjuta uus stiil", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Lisa stiil", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Läbipaistmatus", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Lisa", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Rakendub saitidele: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Lisa stiil", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Läbipaistmatus", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Lisa", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Rakendub saitidele: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "ja veel", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLid domeenis", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Kasuta \"rakendub\" valikuid, et piirata, mis URLidele selles jaotises olev kood rakendub.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Rakendub saitidele", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Näita 'Rakendub' teavet", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Ei tööta minimeeritud CSS-iga", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "Regulaaravaldisele vastavad URLid", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Eemalda", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Viimast 'rakendub'-sisestust ei saa eemaldada", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Täpsusta", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Kõik", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLid algusega", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Rakenda kõik uuendused", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Varunda", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Vali fail või lohista see siia lehele.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Ekspordi stiilid", + "description": "" + }, + "checkAllUpdates": { + "message": "Kontrolli kõikide stiilide uuendusi", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Kontrolli uuesti, ma ei muutnud ühtegi stiili!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Kontrolli uuendusi", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Kontrollin...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Eemaldamiseks klõpsa", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Automaatselt sulge sulud ja jutumärgid", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automaatselt lisab sulgeva paarilise, kui kirjutad avava ühest järgnevast: ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Automaattäide kirjutamisel", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "CSS-värvide värvivalijad", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Kasuta tabeldusmärke targa taandega", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Klahvimäärangud", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Reamurdmine", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Tõsta esile", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Ainult valik", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Kursori all olev sõne", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Topeltklõpsa, et maksimeerida/taastada kõrgus", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Topeltklõps valib sõnesid", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Sõnede näited: .foo-bar-2 #aabbcc 0.32 !important\nKeelamisel valitakse punktidega eraldatud sõnad.", + "description": "" + }, + "cm_smartIndent": { + "message": "Kasuta tarka taanet", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tabeldussuurus", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Teema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Vaheta formaate: HEX -> RGB -> HSL.\nShift-klõps vastupidise suuna jaoks.\nSamuti klahvidega PgUp (PageUp), PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Ava värvivalija", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "muutmisel", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Automaatselt salvesta ja rakenda muudatused", + "description": "" + }, + "configureStyle": { + "message": "Seadista", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Seadista kodulehel", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Tühista", + "description": "" + }, + "confirmClose": { + "message": "Sulge", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Kasuta vaikesätet", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Kustuta", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Tühistada muudatused?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Ei", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Salvesta", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Peata", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Jah", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Kopeeritud lõikelauale", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Kopeeri lõikelauale", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Paigaldamise kuupäev", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Uuendamise kuupäev", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Stylus'i andmebaasi uuendamisel esines viga. Kas soovid külastada võimalike lahendustega veebilehte?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "vaikimisi", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Kas soovid kindlasti selle stiili kustutada?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Kustuta", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Disaini veeb ümber kasutajastiilide halduri Stylus'iga. Stylus võimaldab sul lihtsalt paigaldada teemasid ja välimusi mitmetele populaarsetele saitidele.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Lülita kõik stiilid välja", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Keela", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Lohista importimiseks oma varundusfail kuskile siia lehele.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Faili installimiseks lohista see kaartide ribale (ala, kus näidatakse kaartide pealkirju).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Kustuta", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Mine reale (või rida:tulp)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Muuda stiili", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Muuda", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Muuda stiili $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Luba", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Välista praegune domeen", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Välista praegune URL", + "description": "" + }, + "exportLabel": { + "message": "Ekspordi", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Tagasiside", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Koduleht", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Väline link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Kasutajatugi", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Usercss dokumentatsioon", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$/$numTotal$ kuvatud", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Hetkel rakendatud filtritele ei vasta ükski stiil", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Leia stiile", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Leia sellele saidile veel stiile", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Aknasisene", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Näita otsingu tulemusi selles aknas.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Lisa", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Klooni", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Keelatud", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Lubatud", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Viga", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Ajalugu", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Järgmine", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Eelmine", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Lähtesta", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Salvestatud", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Pealkiri", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Tundmatu", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Abi", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Kirjuta käsu nimi", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Vajuta kiirklahvi", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "See host on keelatud hetkel kasutatavas brauseri praeguses versioonis oleva vea tõttu", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Lisa stiilile", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Lisa imporditud stiil praegusele stiilile", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Impordi", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Kirjuta stiil üle", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Tühista praeguse stiili sisu ja kirjuta see üle imporditud stiiliga", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "lisatud", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identset vahele jäetud", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "sobimatut vahele jäetud", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "said uuenduse nii metaandmetele kui koodile", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "uuendatud kood", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "metainfo uuendatud", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Stiilide importimine lõpetatud", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Midagi ei muudetud.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "stiili võeti tagasi", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Importimine on tagasi võetud", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Paigalda stiil", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Stiil paigaldatud", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Paigalda stiil uuesti", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Uuenda stiil", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Paigalda uuendus", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Praegu uuendatakse stiili aadressilt $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Kontrolli uuendusi", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Litsents", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Hangi abi", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Hangi stiile", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Viki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Tõlgi", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint ei toeta eeltöötlejat $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Määra reegel kui: 0 = keelatud; 1 = hoiatus; 2 = viga)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Linteri $linter$ reeglite seadistuse määramine", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Selle linteri seadistamiseks klõpsa", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Ei salvestatud nende vigaste seadistuste tõttu:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Vead", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "$link$ leidis need vead:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Vigane JSON-formaat", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Kogemata tehtud lähtestamiste tagasi võtmiseks vajuta tekstikastis Ctrl-Z (või Cmd-Z)", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Vaata reeglite täielikku loendit", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Faili vaatamisel esines viga", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Reaalajas uuestilaadimine", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Lehe ikoonid rakendub-tulbas", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Tee halliks", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus kasutab välist teenust https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtrid", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Paigaldatud stiilid", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Rakendub-üksuste arv", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "Usercss-ina", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Uus haldusliidese välimus", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Ainult keelatud stiilid", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Ainult lubatud stiilid", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Ainult välised stiilid", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Ainult kohalikult loodud stiilid", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(stiilid, mida ei paigaldatud lehelt userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Ainult mitte-Usercss stiilid", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Ainult uuenduste või vigadega", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Ainult Usercss stiilid", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Kuva aktiivsete stiilide hulka", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Vigane @var märkeruut: väärtus peab olema 0 või 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Vigane @var värv: $color$ pole värv", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Vigane @var $type$: väärtus peab olema arv või massiiv", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Vigane @var $type$: määratletud on mitu ühikut", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Vigane @var $type$: massiiv sisaldab liiga palju elemente", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Vigane @var $type$: vaikimisi väärtus on miinimumist madalam", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Vigane @var $type$: vaikimisi väärtus on maksimumist suurem", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Vigane @var $type$: '$units$' pole lubatud ühik", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Vigane URL protokoll. Lubatud on ainult http ja https: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Kohustuslikud metaandmed puudu: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Tundmatud metaandmed: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Tundmatu @$varkey$ tüüp: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Tundmatu @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Sellele saidile pole stiile paigaldatud.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Halda", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Valikud", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Ava stiilihaldur", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Tegevused", + "description": "" + }, + "optionsAdvanced": { + "message": "Täpsem", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Lisa \"Kustuta\" redaktori kontekstmenüüsse", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Paljasta iframe-id HTML[stylus-iframe] kaudu", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Paljastab tipp-domeeni igas iframe'is.\nVõimaldab iframe'i-põhise CSS-koodi kirjutamise näiteks selliselt:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Kirjuta uus stiil usercss-ina", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Taustavärv keelatud olekus", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Taustavärv", + "description": "" + }, + "optionsCheck": { + "message": "Uuenda stiile", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Kontrolli ja paigalda kõik saadaolevad uuendused", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Number tööriistaribaikoonil", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Tööriistaribaikoon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Hüpikaken", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Uuendused", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sünkrooni pilve", + "description": "" + }, + "optionsHeading": { + "message": "Valikud", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Tumedad brauseriteemad", + "description": "" + }, + "optionsIconLight": { + "message": "Heledad brauseriteemad", + "description": "" + }, + "optionsOpen": { + "message": "Ava", + "description": "" + }, + "optionsOpenManager": { + "message": "Halda stiile", + "description": "" + }, + "optionsPopupWidth": { + "message": "Hüpikakna laius (pikslites)", + "description": "" + }, + "optionsReset": { + "message": "Lähtesta valikud vaikeväärtustele", + "description": "" + }, + "optionsResetButton": { + "message": "Lähtesta valikud", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Rohkem valikuid", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Kui impordid stiilide varundusi vanast versioonist või Stylish'ist, tee ühekordne käsitsi uuenduste kontroll stiilide halduris, et veenduda kõikide stiilide ajakohasuses.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Kasutajastiilide automaatse uuendamise ajavahe (keelamiseks pane 0)", + "description": "" + }, + "optionsSyncNone": { + "message": "Pole", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sünkrooni kohe", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Sünkroonimine...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Ühendumine...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Ühendatud", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Lahtiühendamine...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Lahti ühendatud", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Praegune leht", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Hinnanguline lehtede arv", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Järgmine leht", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Eelmine leht", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Lehti kokku", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus ei suutnud usercss-i analüüsida:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Lisa äärtesse valged piirjooned", + "description": "" + }, + "popupBordersTooltip": { + "message": "Kasulik tumedate teemade puhul Chrome'is, kuna see ei joonista enam külje piirjooni", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, ka numbriklahvidel - lülitab N. stiili (0 on 10)\n- lülitab esimest stiili, mille nimi algab selle tähega\n avab redaktori lülitamise asemel\n lubab nimekirjas olevad stiilid\n keelab nimekirjas olevad stiilid\n ja <`> (graavis) - lülitab esialgu lubatud stiilid; ei rakendu järgnevalt lubatud stiilidele hüpiku avatud olekus, seega saad taastada esialgse valiku peale asjade testimist: lihtsalt keela kõik ning lülita, seega \nRohkem teavet vikis", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Kiirklahvide nägemiseks klõpsa", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift+klõps või paremklõps avab halduri praeguse saidi kohta käivate stiilidega", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Tegevuste menüü", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Ava redaktor uues aknas", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Lubatakse ka redaktori kaardi veebilehitseja aknast eraldamisel,\nja keelatakse üksiku redaktori kaardi haakimisel teise aknasse.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Stiilid enne käske", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Praegusel saidil aktiivsete stiilide arv", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Reaalajas eelvaade", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Ajutiselt rakendab muudatused ilma salvestamata.\nMuudatuste püsivaks tegemiseks salvesta stiil.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Asenda", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Asenda kõik", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Asenda tekstiga", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Impordi stiilid", + "description": "" + }, + "search": { + "message": "Otsi", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Tõstutundlik", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Vastete arv", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Vasteid koodis ja rakendub-üksuste väärtustes", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Kasuta /re/ süntaksit regulaaravaldise otsinguks", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Paigaldusi kokku", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Sellele saidile ei leitud stiile.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Hinnang", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Uuendatud", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Paigaldus nädalas", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Lisa uus jaotis", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Kood", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Eemalda jaotis", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Taasta eemaldatud jaotis", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Otseteed", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Defineeri klaviatuuriotseteed", + "description": "" + }, + "sortDateNewestFirst": { + "message": "uuemad eespool", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "vanemad eespool", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Vali, milline järjestus paigaldatud stiilidele rakendada", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Pealkiri tõusvas järjestuses", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Pealkiri laskuvas järjestuses", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Vali paigaldatud üksustele rakendatav sorteerimismeetod sorteerimise rippmenüüst. Vaikimisi seadistus rakendab kasvava sorteerimise (A-st Z-ni) üksuste pealkirjades. Sorteerimised grupis \"Kahanev pealkiri\" rakendavad pealkirjale kahaneva sorteerimise (Z-st A-ni).\nOn olemas ka teisi eelseadistusi, mis võimaldavad üksuste sorteerimist mitme kriteeriumi järgi. Mõtle sellest, nagu sorteeriksid mitme veeruga tabelit ja iga kategooria valikus (plussmärkide vahel) tähistab veergu või gruppi.\nNäiteks, kui valik on \"Lubatud (esimene) + pealkiri\", sorteeritakse üksused nii, et kõik lubatud üksused on nimekirja tipus ning nimekirja pealkirja kasvav sorteerimine (A-st Z-ni) rakendatakse nii lubatud kui keelatud üksustele eraldi.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Järjesta sisu", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regulaaravaldis on sobimatu.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Ilusta", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Taanda @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Säilita reavahetused", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Tagasi haldusesse", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Sa oled teinud sellele stiilile muutusi ilma salvestamata.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Lubatud", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Mozilla-vormingust importimine ebaõnnestus", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Kleebi Mozilla-vormingus koodi", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Paigaldad \"$stylename$\" Stylus'isse?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Kasutajastiili paigaldamine ebaõnnestus!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' on juba paigaldatud. Kas kirjutada üle?\nVersioon: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Sisesta nimi", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-vorming", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Stiili ei rakendatud selle \"regexp()\" vale kasutuse tõttu", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Teatud \"regexp()\" reegleid ei suudetud üldse kompileerida.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "See stiil kasutab osaliselt vastavaid regulaaravaldisi, olles CSS4 @dokument standardiga vastuolus, mis nõuab terve URLi vastet. Mõjutatud CSS-jaotisi ei rakendatud lehele. See stiil tehti tõenäoliselt Chrome'i Stylish'is, mis kontrollib \"regexp()\" reegleid valesti alates esimesest versioonist (teadaolev viga).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "\"regexp()\" vale kasutuse tõttu rakendamata jaotiste arv", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Regulaaravaldise katsetus", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Vastavad kaardid", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Sobimatud regulaaravaldised vahele jäetud", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Pole vastavaid kaarte", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Märkus: kasuta üksikut \\, et keelata märgi töötlemine regulaaravaldise sisendväljas, mis konverteeritakse automaatselt \\\\-ks stiili koodis, nagu CSSi tsiteeritud sõnede spetsifikatsioon ette näeb.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Ei vasta täielikult, seega vahele jäetud", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Vastavate avatud kaardide nimekiri (klõpsa URLile selle kaardi fookustamiseks)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Salvesta", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Koodi Mozilla-vormingut saab üles laadida saidile userstyles.org ja kasutada klassikalise Firefoxi Stylish'iga", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Stiil Mozilla-vormingus", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Kas soovid kindlasti uuendada \"$stylename$\"?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Stiili on redaktoriväliselt muudetud. Kas soovid stiili uuesti laadida?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus ei tööta sellistel lehtedel.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Turvakaalutlustel keelab brauser laiendustel sisseehitatud lehtede (nagu chrome://version, standardne uue kaardi leht alates versioonist Chrome 61, about:addons jne) ning ka teiste laienduste lehtede muutmise. Iga brauser piirab lisaks juurdepääsu oma laienduste galeriile (nagu Chrome'i veebipood või AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Väärtust ei saa salvestada. Proovi teksti hulka vähendada.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Luba/keela stiil", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Võta tagasi", + "description": "Button label" + }, + "undoGlobal": { + "message": "Võta kõigis jaotistes tagasi", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox keelab ligipääsu sellele saidile.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Ligipääsu lubamiseks ava , parem-klõpsa nimekirjal, vali 'Uus', seejärel 'Tõeväärtus', kleebi ja klõpsa Sobib, , Sobib, laadi leht uuesti.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "Firefox 60-s ja uuemas pead ka lehel eelistusest eemaldama AMO domeeni.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Ainult Firefox 59 ja uuem on võimalik seadistada lubama WebExtensionsil lisada stiilielemente CSP-kaitstud saitidele nagu see.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Lehega ei saanud ühendust. Proovi kaart uuesti laadida.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus saab ligi pääseda file:// URLidele ainult siis, kui märgistad vastava kasti Stylus laiendusel chrome://extensions lehel", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus ei saa osadele failitüüpidele ligi pääseda (nt. pdf & json failid).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Uuendusi ei leitud.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Mõndasid uuendatavaid stiile ei kontrollitud, et vältida võimalike kohalike muutuste kadu. Uuendusi saab sundida, kontrollides ükshaaval või käivitades uue kontrolli kõikidele stiilidele (kohalikud muutused kirjutatakse üle).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Uuendamine ebaõnnestus: server vastas koodiga $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Uuendamine ebaõnnestus: server on kättesaamatu.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Uuenduskontrollide ajalugu", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Paigalda uuendus (kohalikud muutused kirjutatakse üle)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Uuenduse sundimine kirjutab üle mistahes kohalikud muutused.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Seda stiili muudeti kohalikult.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Seda stiili võib olla kohalikult muudetud.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Stiil on ajakohane.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Uuendus teostatud.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Uuendused paigaldatud:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Olemasoleva stiili ülekirjutamise vältimiseks palun muuda @name või @namespace väärtused.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Stiili uuendati või eemaldati pärast seadistusdialoogi kuvamist. Neid muutujaid ei salvestatud, et vältida stiili metaandmete korrumpeerumist:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Kirjelda koodis @name", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Asendad vaikimisi malli uutes kasutajacss stiilides praeguse koodiga?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Tühi @name asendab vaikimisi malli", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Sisesta kood siia...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Versioon on paigaldatud stiilist vanem.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Kirjuta stiil:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "see URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropboxi eksportimine", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropboxi importimine/eksportimine on asendatud edasijõudnuma stiilide sünkroonijaga valikute lehel.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropboxi importimine", + "description": "" + }, + "overwriteFileExport": { + "message": "Kas tahad olemasoleva faili üle kirjutada?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Fail edukalt salvestatud", + "description": "" + }, + "noFileToImport": { + "message": "Oma stiilide importimiseks peaksid esmalt selle eksportima.", + "description": "" + }, + "connectingDropbox": { + "message": "Dropboxiga ühendumine...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Dropboxiga ühendumine on saadaval ainult veebipoe kaudu installitud rakendustes", + "description": "" + }, + "gettingStyles": { + "message": "Kõigi stiilide hankimine...", + "description": "" + }, + "zipStyles": { + "message": "Stiilide kokkupakkimine...", + "description": "" + }, + "unzipStyles": { + "message": "Stiilide lahtipakkimine...", + "description": "" + }, + "readingStyles": { + "message": "Stiilide lugemine...", + "description": "" + }, + "uploadingFile": { + "message": "Faili üleslaadimine...", + "description": "" + }, + "addStyleLabel": { + "message": "Kirjuta uus stiil", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "ja veel", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLid domeenis", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Kasuta \"rakendub\" valikuid, et piirata, mis URLidele selles jaotises olev kood rakendub.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Rakendub saitidele", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Näita 'Rakendub' teavet", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Ei tööta minimeeritud CSS-iga", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Regulaaravaldisele vastavad URLid", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Eemalda", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Viimast 'rakendub'-sisestust ei saa eemaldada", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Täpsusta", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Kõik", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URLid algusega", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Rakenda kõik uuendused", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Varunda", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Vali fail või lohista see siia lehele.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Ekspordi stiilid", - "description": "" - }, - "checkAllUpdates": { - "message": "Kontrolli kõikide stiilide uuendusi", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Kontrolli uuesti, ma ei muutnud ühtegi stiili!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Kontrolli uuendusi", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrollin...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Eemaldamiseks klõpsa", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Automaatselt sulge sulud ja jutumärgid", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automaatselt lisab sulgeva paarilise, kui kirjutad avava ühest järgnevast: ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automaattäide kirjutamisel", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSS-värvide värvivalijad", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Kasuta tabeldusmärke targa taandega", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Klahvimäärangud", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Reamurdmine", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Tõsta esile", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Ainult valik", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Kursori all olev sõne", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Topeltklõpsa, et maksimeerida/taastada kõrgus", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Topeltklõps valib sõnesid", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Sõnede näited: .foo-bar-2 #aabbcc 0.32 !important\nKeelamisel valitakse punktidega eraldatud sõnad.", - "description": "" - }, - "cm_smartIndent": { - "message": "Kasuta tarka taanet", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabeldussuurus", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Teema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Vaheta formaate: HEX -> RGB -> HSL.\nShift-klõps vastupidise suuna jaoks.\nSamuti klahvidega PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Ava värvivalija", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "muutmisel", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Automaatselt salvesta ja rakenda muudatused", - "description": "" - }, - "configureStyle": { - "message": "Seadista", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Seadista kodulehel", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Tühista", - "description": "" - }, - "confirmClose": { - "message": "Sulge", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Kasuta vaikesätet", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Kustuta", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Tühistada muudatused?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Ei", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Salvesta", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Peata", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Jah", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Kopeeritud lõikelauale", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopeeri lõikelauale", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "Paigaldamise kuupäev", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Uuendamise kuupäev", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylus'i andmebaasi uuendamisel esines viga. Kas soovid külastada võimalike lahendustega veebilehte?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "vaikimisi", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Kas soovid kindlasti selle stiili kustutada?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Kustuta", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Disaini veeb ümber kasutajastiilide halduri Stylus'iga. Stylus võimaldab sul lihtsalt paigaldada teemasid ja välimusi mitmetele populaarsetele saitidele.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Lülita kõik stiilid välja", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Keela", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Lohista importimiseks oma varundusfail kuskile siia lehele.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Faili installimiseks lohista see kaartide ribale (ala, kus näidatakse kaartide pealkirju).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Kustuta", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Mine reale (või rida:tulp)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Muuda stiili", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Muuda", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Muuda stiili $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Luba", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Välista praegune domeen", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Välista praegune URL", - "description": "" - }, - "exportLabel": { - "message": "Ekspordi", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Tagasiside", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Koduleht", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Väline link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Kasutajatugi", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss dokumentatsioon", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$/$numTotal$ kuvatud", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Hetkel rakendatud filtritele ei vasta ükski stiil", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Leia stiile", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Leia sellele saidile veel stiile", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Aknasisene", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Näita otsingu tulemusi selles aknas.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Lisa", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klooni", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Keelatud", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Lubatud", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Viga", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Ajalugu", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Järgmine", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Eelmine", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Lähtesta", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvestatud", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Pealkiri", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Tundmatu", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Abi", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Kirjuta käsu nimi", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Vajuta kiirklahvi", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "See host on keelatud hetkel kasutatavas brauseri praeguses versioonis oleva vea tõttu", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Lisa stiilile", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Lisa imporditud stiil praegusele stiilile", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Impordi", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Kirjuta stiil üle", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Tühista praeguse stiili sisu ja kirjuta see üle imporditud stiiliga", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "lisatud", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identset vahele jäetud", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "sobimatut vahele jäetud", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "said uuenduse nii metaandmetele kui koodile", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "uuendatud kood", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "metainfo uuendatud", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Stiilide importimine lõpetatud", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Midagi ei muudetud.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stiili võeti tagasi", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importimine on tagasi võetud", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Paigalda stiil", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stiil paigaldatud", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Paigalda stiil uuesti", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Uuenda stiil", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Paigalda uuendus", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Praegu uuendatakse stiili aadressilt $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Kontrolli uuendusi", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Litsents", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hangi abi", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Hangi stiile", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Viki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Tõlgi", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint ei toeta eeltöötlejat $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Määra reegel kui: 0 = keelatud; 1 = hoiatus; 2 = viga)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Linteri $linter$ reeglite seadistuse määramine", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Selle linteri seadistamiseks klõpsa", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Ei salvestatud nende vigaste seadistuste tõttu:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Vead", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ leidis need vead:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Vigane JSON-formaat", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Kogemata tehtud lähtestamiste tagasi võtmiseks vajuta tekstikastis Ctrl-Z (või Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vaata reeglite täielikku loendit", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Faili vaatamisel esines viga", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "Reaalajas uuestilaadimine", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Lehe ikoonid rakendub-tulbas", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Tee halliks", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus kasutab välist teenust https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtrid", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Paigaldatud stiilid", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Rakendub-üksuste arv", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercss-ina", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Uus haldusliidese välimus", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Ainult keelatud stiilid", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Ainult lubatud stiilid", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Ainult välised stiilid", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Ainult kohalikult loodud stiilid", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(stiilid, mida ei paigaldatud lehelt userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Ainult mitte-Usercss stiilid", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Ainult uuenduste või vigadega", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Ainult Usercss stiilid", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Kuva aktiivsete stiilide hulka", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Vigane @var märkeruut: väärtus peab olema 0 või 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Vigane @var värv: $color$ pole värv", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "Vigane @var $type$: väärtus peab olema arv või massiiv", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Vigane @var $type$: määratletud on mitu ühikut", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Vigane @var $type$: massiiv sisaldab liiga palju elemente", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "Vigane @var $type$: vaikimisi väärtus on miinimumist madalam", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "Vigane @var $type$: vaikimisi väärtus on maksimumist suurem", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "Vigane @var $type$: '$units$' pole lubatud ühik", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidURLProtocol": { - "message": "Vigane URL protokoll. Lubatud on ainult http ja https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_missingMandatory": { - "message": "Kohustuslikud metaandmed puudu: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Tundmatud metaandmed: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Tundmatu @$varkey$ tüüp: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "Tundmatu @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Sellele saidile pole stiile paigaldatud.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Halda", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Valikud", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Ava stiilihaldur", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Tegevused", - "description": "" - }, - "optionsAdvanced": { - "message": "Täpsem", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Lisa \"Kustuta\" redaktori kontekstmenüüsse", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Paljasta iframe-id HTML[stylus-iframe] kaudu", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Paljastab tipp-domeeni igas iframe'is.\nVõimaldab iframe'i-põhise CSS-koodi kirjutamise näiteks selliselt:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Kirjuta uus stiil usercss-ina", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Taustavärv keelatud olekus", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Taustavärv", - "description": "" - }, - "optionsCheck": { - "message": "Uuenda stiile", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Kontrolli ja paigalda kõik saadaolevad uuendused", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Number tööriistaribaikoonil", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Tööriistaribaikoon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Hüpikaken", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Uuendused", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sünkrooni pilve", - "description": "" - }, - "optionsHeading": { - "message": "Valikud", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Tumedad brauseriteemad", - "description": "" - }, - "optionsIconLight": { - "message": "Heledad brauseriteemad", - "description": "" - }, - "optionsOpen": { - "message": "Ava", - "description": "" - }, - "optionsOpenManager": { - "message": "Halda stiile", - "description": "" - }, - "optionsPopupWidth": { - "message": "Hüpikakna laius (pikslites)", - "description": "" - }, - "optionsReset": { - "message": "Lähtesta valikud vaikeväärtustele", - "description": "" - }, - "optionsResetButton": { - "message": "Lähtesta valikud", - "description": "" - }, - "optionsSubheading": { - "message": "Rohkem valikuid", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Kui impordid stiilide varundusi vanast versioonist või Stylish'ist, tee ühekordne käsitsi uuenduste kontroll stiilide halduris, et veenduda kõikide stiilide ajakohasuses.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Kasutajastiilide automaatse uuendamise ajavahe (keelamiseks pane 0)", - "description": "" - }, - "optionsSyncNone": { - "message": "Pole", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sünkrooni kohe", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Sünkroonimine...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Ühendumine...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Ühendatud", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Lahtiühendamine...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Lahti ühendatud", - "description": "" - }, - "paginationCurrent": { - "message": "Praegune leht", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Hinnanguline lehtede arv", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Järgmine leht", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Eelmine leht", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Lehti kokku", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus ei suutnud usercss-i analüüsida:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupBorders": { - "message": "Lisa äärtesse valged piirjooned", - "description": "" - }, - "popupBordersTooltip": { - "message": "Kasulik tumedate teemade puhul Chrome'is, kuna see ei joonista enam külje piirjooni", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, ka numbriklahvidel - lülitab N. stiili (0 on 10)\n- lülitab esimest stiili, mille nimi algab selle tähega\n avab redaktori lülitamise asemel\n lubab nimekirjas olevad stiilid\n keelab nimekirjas olevad stiilid\n ja <`> (graavis) - lülitab esialgu lubatud stiilid; ei rakendu järgnevalt lubatud stiilidele hüpiku avatud olekus, seega saad taastada esialgse valiku peale asjade testimist: lihtsalt keela kõik ning lülita, seega \nRohkem teavet vikis", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Kiirklahvide nägemiseks klõpsa", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+klõps või paremklõps avab halduri praeguse saidi kohta käivate stiilidega", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Tegevuste menüü", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "Ava redaktor uues aknas", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Lubatakse ka redaktori kaardi veebilehitseja aknast eraldamisel,\nja keelatakse üksiku redaktori kaardi haakimisel teise aknasse.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stiilid enne käske", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Praegusel saidil aktiivsete stiilide arv", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Reaalajas eelvaade", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Ajutiselt rakendab muudatused ilma salvestamata.\nMuudatuste püsivaks tegemiseks salvesta stiil.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Asenda", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Asenda kõik", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Asenda tekstiga", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Impordi stiilid", - "description": "" - }, - "search": { - "message": "Otsi", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Tõstutundlik", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Vastete arv", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Vasteid koodis ja rakendub-üksuste väärtustes", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Kasuta /re/ süntaksit regulaaravaldise otsinguks", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Paigaldusi kokku", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Sellele saidile ei leitud stiile.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "Hinnang", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Uuendatud", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Paigaldus nädalas", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Lisa uus jaotis", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kood", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Eemalda jaotis", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Taasta eemaldatud jaotis", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Otseteed", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Defineeri klaviatuuriotseteed", - "description": "" - }, - "sortDateNewestFirst": { - "message": "uuemad eespool", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "vanemad eespool", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Vali, milline järjestus paigaldatud stiilidele rakendada", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Pealkiri tõusvas järjestuses", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Pealkiri laskuvas järjestuses", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Vali paigaldatud üksustele rakendatav sorteerimismeetod sorteerimise rippmenüüst. Vaikimisi seadistus rakendab kasvava sorteerimise (A-st Z-ni) üksuste pealkirjades. Sorteerimised grupis \"Kahanev pealkiri\" rakendavad pealkirjale kahaneva sorteerimise (Z-st A-ni).\nOn olemas ka teisi eelseadistusi, mis võimaldavad üksuste sorteerimist mitme kriteeriumi järgi. Mõtle sellest, nagu sorteeriksid mitme veeruga tabelit ja iga kategooria valikus (plussmärkide vahel) tähistab veergu või gruppi.\nNäiteks, kui valik on \"Lubatud (esimene) + pealkiri\", sorteeritakse üksused nii, et kõik lubatud üksused on nimekirja tipus ning nimekirja pealkirja kasvav sorteerimine (A-st Z-ni) rakendatakse nii lubatud kui keelatud üksustele eraldi.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Järjesta sisu", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regulaaravaldis on sobimatu.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Ilusta", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Taanda @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Säilita reavahetused", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Tagasi haldusesse", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Sa oled teinud sellele stiilile muutusi ilma salvestamata.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Lubatud", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Mozilla-vormingust importimine ebaõnnestus", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Kleebi Mozilla-vormingus koodi", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Paigaldad \"$stylename$\" Stylus'isse?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Kasutajastiili paigaldamine ebaõnnestus!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' on juba paigaldatud. Kas kirjutada üle?\nVersioon: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Sisesta nimi", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-vorming", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Stiili ei rakendatud selle \"regexp()\" vale kasutuse tõttu", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Teatud \"regexp()\" reegleid ei suudetud üldse kompileerida.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "See stiil kasutab osaliselt vastavaid regulaaravaldisi, olles CSS4 @dokument standardiga vastuolus, mis nõuab terve URLi vastet. Mõjutatud CSS-jaotisi ei rakendatud lehele. See stiil tehti tõenäoliselt Chrome'i Stylish'is, mis kontrollib \"regexp()\" reegleid valesti alates esimesest versioonist (teadaolev viga).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "\"regexp()\" vale kasutuse tõttu rakendamata jaotiste arv", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Regulaaravaldise katsetus", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Vastavad kaardid", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Sobimatud regulaaravaldised vahele jäetud", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Pole vastavaid kaarte", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Märkus: kasuta üksikut \\, et keelata märgi töötlemine regulaaravaldise sisendväljas, mis konverteeritakse automaatselt \\\\-ks stiili koodis, nagu CSSi tsiteeritud sõnede spetsifikatsioon ette näeb.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Ei vasta täielikult, seega vahele jäetud", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Vastavate avatud kaardide nimekiri (klõpsa URLile selle kaardi fookustamiseks)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Salvesta", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Koodi Mozilla-vormingut saab üles laadida saidile userstyles.org ja kasutada klassikalise Firefoxi Stylish'iga", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stiil Mozilla-vormingus", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Kas soovid kindlasti uuendada \"$stylename$\"?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Stiili on redaktoriväliselt muudetud. Kas soovid stiili uuesti laadida?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus ei tööta sellistel lehtedel.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Turvakaalutlustel keelab brauser laiendustel sisseehitatud lehtede (nagu chrome://version, standardne uue kaardi leht alates versioonist Chrome 61, about:addons jne) ning ka teiste laienduste lehtede muutmise. Iga brauser piirab lisaks juurdepääsu oma laienduste galeriile (nagu Chrome'i veebipood või AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Väärtust ei saa salvestada. Proovi teksti hulka vähendada.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Luba/keela stiil", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Võta tagasi", - "description": "Button label" - }, - "undoGlobal": { - "message": "Võta kõigis jaotistes tagasi", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox keelab ligipääsu sellele saidile.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Ligipääsu lubamiseks ava , parem-klõpsa nimekirjal, vali 'Uus', seejärel 'Tõeväärtus', kleebi ja klõpsa Sobib, , Sobib, laadi leht uuesti.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Firefox 60-s ja uuemas pead ka lehel eelistusest eemaldama AMO domeeni.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Ainult Firefox 59 ja uuem on võimalik seadistada lubama WebExtensionsil lisada stiilielemente CSP-kaitstud saitidele nagu see.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Lehega ei saanud ühendust. Proovi kaart uuesti laadida.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus saab ligi pääseda file:// URLidele ainult siis, kui märgistad vastava kasti Stylus laiendusel chrome://extensions lehel", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus ei saa osadele failitüüpidele ligi pääseda (nt. pdf & json failid).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Uuendusi ei leitud.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Mõndasid uuendatavaid stiile ei kontrollitud, et vältida võimalike kohalike muutuste kadu. Uuendusi saab sundida, kontrollides ükshaaval või käivitades uue kontrolli kõikidele stiilidele (kohalikud muutused kirjutatakse üle).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Uuendamine ebaõnnestus: server vastas koodiga $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Uuendamine ebaõnnestus: server on kättesaamatu.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Uuenduskontrollide ajalugu", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Paigalda uuendus (kohalikud muutused kirjutatakse üle)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Uuenduse sundimine kirjutab üle mistahes kohalikud muutused.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Seda stiili muudeti kohalikult.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Seda stiili võib olla kohalikult muudetud.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stiil on ajakohane.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Uuendus teostatud.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Uuendused paigaldatud:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Olemasoleva stiili ülekirjutamise vältimiseks palun muuda @name või @namespace väärtused.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Stiili uuendati või eemaldati pärast seadistusdialoogi kuvamist. Neid muutujaid ei salvestatud, et vältida stiili metaandmete korrumpeerumist:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Kirjelda koodis @name", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Asendad vaikimisi malli uutes kasutajacss stiilides praeguse koodiga?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Tühi @name asendab vaikimisi malli", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Sisesta kood siia...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Versioon on paigaldatud stiilist vanem.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Kirjuta stiil:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "see URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropboxi eksportimine", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropboxi importimine/eksportimine on asendatud edasijõudnuma stiilide sünkroonijaga valikute lehel.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropboxi importimine", - "description": "" - }, - "overwriteFileExport": { - "message": "Kas tahad olemasoleva faili üle kirjutada?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Fail edukalt salvestatud", - "description": "" - }, - "noFileToImport": { - "message": "Oma stiilide importimiseks peaksid esmalt selle eksportima.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropboxiga ühendumine...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropboxiga ühendumine on saadaval ainult veebipoe kaudu installitud rakendustes", - "description": "" - }, - "gettingStyles": { - "message": "Kõigi stiilide hankimine...", - "description": "" - }, - "zipStyles": { - "message": "Stiilide kokkupakkimine...", - "description": "" - }, - "unzipStyles": { - "message": "Stiilide lahtipakkimine...", - "description": "" - }, - "readingStyles": { - "message": "Stiilide lugemine...", - "description": "" - }, - "uploadingFile": { - "message": "Faili üleslaadimine...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/fi/messages.json b/_locales/fi/messages.json index 51e76576..c5043460 100644 --- a/_locales/fi/messages.json +++ b/_locales/fi/messages.json @@ -1,218 +1,1586 @@ { - "addStyleLabel": { - "message": "Uusi Tyyli", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Lisää Tyyli", - "description": "Title of the page for adding styles" - }, - "appliesAdd": { - "message": "Lisää", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Kooskee: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Lisää Tyyli", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Lisää", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Kooskee: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "ja lisää", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL ositteita domainilla", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Käytä 'Koskee' kontrolleja rajoittaaksesi mitä URL osoitteisiin tämä osio koodista koskee.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Koskee", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL ositteet jotka vastaavat regexpiä", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Poista", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Tarkenna", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Kaikki", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL osoitteet jotka alkavat", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Apply all updates", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Tarkista kaikki tyylit päivityksien varalta", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Hae päivityksiä", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Tarkistetaan...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Oletko varma että haluat poistaa tämän tyylin?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Poista", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Uudelleen stailaa netti Stylusillä, käyttäjän tyyli hallintapaneelilla. Stylus antaa sinun helposti asentaa teemoja ja skinejä palvelluille kuten Google, Facebook, YouTube, Orkut, ja monelle, monelle muulle sivustolle.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Poista Käytöstä", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Muokkaa Tyyliä", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Muokkaa", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Muokkaa Tyyliä $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Aktivoi", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Hae lisää tyylejä tälle sivustolle", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Apu", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Asenna päivitys", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Asennetut Tyylit", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Tyylikäs", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Ei asennettuja tyylejä tällä sivustolla.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Hallitse asennettuja tyylejä", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "List styles before commands in the toolbar button menu", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Show number of styles active for the current site on the toolbar button", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Lisää uusi osio", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Koodi", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Poista osio", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp ei kelpaa.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Takaisin hallintapaneeliin", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Olet tehnyt muutoksia tähän tyyliin tallentamatta.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Aktivoitu", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Asennetaanko '$stylename$' Stylusiin?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Syötä nimi", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Tallenna", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla formaattia koodista voidaan käyttää Stylish Firefoxille ohjelmassa ja voidaan lähettää userstyles.orgiin.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "All styles are up to date.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Päivitys epäonnistui: palvelin vastasi koodilla $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Päivitys epäonnistui: ei voitu yhdistää palvelimeen.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Tyyli on ajan tasalla.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Päivitys suoritettu.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Uusi Tyyli", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "ja lisää", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL ositteita domainilla", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Käytä 'Koskee' kontrolleja rajoittaaksesi mitä URL osoitteisiin tämä osio koodista koskee.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Koskee", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesRegexpOption": { - "message": "URL ositteet jotka vastaavat regexpiä", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Poista", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Tarkenna", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Kaikki", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL osoitteet jotka alkavat", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "checkAllUpdates": { - "message": "Tarkista kaikki tyylit päivityksien varalta", - "description": "Label for the button to check all styles for updates" - }, - "checkForUpdate": { - "message": "Hae päivityksiä", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Tarkistetaan...", - "description": "Text to display when checking a style for an update" - }, - "deleteStyleConfirm": { - "message": "Oletko varma että haluat poistaa tämän tyylin?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Poista", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Uudelleen stailaa netti Stylusillä, käyttäjän tyyli hallintapaneelilla. Stylus antaa sinun helposti asentaa teemoja ja skinejä palvelluille kuten Google, Facebook, YouTube, Orkut, ja monelle, monelle muulle sivustolle.", - "description": "Extension description" - }, - "disableStyleLabel": { - "message": "Poista Käytöstä", - "description": "Label for the button to disable a style" - }, - "editStyleHeading": { - "message": "Muokkaa Tyyliä", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Muokkaa", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Muokkaa Tyyliä $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Aktivoi", - "description": "Label for the button to enable a style" - }, - "findStylesForSite": { - "message": "Hae lisää tyylejä tälle sivustolle", - "description": "Text for a link that gets a list of styles for the current site" - }, - "helpAlt": { - "message": "Apu", - "description": "Alternate text for help buttons" - }, - "installUpdate": { - "message": "Asenna päivitys", - "description": "Label for the button to install an update for a single style" - }, - "manageHeading": { - "message": "Asennetut Tyylit", - "description": "Heading for the manage page" - }, - "manageTitle": { - "message": "Tyylikäs", - "description": "Title for the manage page" - }, - "noStylesForSite": { - "message": "Ei asennettuja tyylejä tällä sivustolla.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Hallitse asennettuja tyylejä", - "description": "Link to open the manage page." - }, - "popupStylesFirst": { - "message": "List styles before commands in the toolbar button menu", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Show number of styles active for the current site on the toolbar button", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "sectionAdd": { - "message": "Lisää uusi osio", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Koodi", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Poista osio", - "description": "Label for the button to remove a section" - }, - "styleBadRegexp": { - "message": "Regexp ei kelpaa.", - "description": "Validation message for a bad regexp in a style" - }, - "styleCancelEditLabel": { - "message": "Takaisin hallintapaneeliin", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Olet tehnyt muutoksia tähän tyyliin tallentamatta.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Aktivoitu", - "description": "Label for the enabled state of styles" - }, - "styleInstall": { - "message": "Asennetaanko '$stylename$' Stylusiin?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleMissingName": { - "message": "Syötä nimi", - "description": "Error displayed when user saves without providing a name" - }, - "styleSaveLabel": { - "message": "Tallenna", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla formaattia koodista voidaan käyttää Stylish Firefoxille ohjelmassa ja voidaan lähettää userstyles.orgiin.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "All styles are up to date.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Päivitys epäonnistui: palvelin vastasi koodilla $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Päivitys epäonnistui: ei voitu yhdistää palvelimeen.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckSucceededNoUpdate": { - "message": "Tyyli on ajan tasalla.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Päivitys suoritettu.", - "description": "Text that displays when an update completed" - } } \ No newline at end of file diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index 0ce771d3..e204012b 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -1,1607 +1,1586 @@ { - "addStyleLabel": { - "message": "Créer un nouveau style", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Ajouter un style", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacité", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Ajouter", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "S'applique à : $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Ajouter un style", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacité", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Ajouter", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "S'applique à : $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "et bien plus encore", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL sur le domaine", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Utilisez l'option « S'applique à » pour préciser les URL auxquelles le code de cette section s'applique.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "S'applique à", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Afficher les informations « s’applique à »", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Ne fonctionne pas avec le CSS minifié", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL correspondant à l'expression régulière", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Supprimer", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Impossible de supprimer la dernière entrée « s’applique à »", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Préciser", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Tout", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL commençant par", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Appliquer toutes les mises à jour", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Auteur", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Sauvegarde", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Sélectionner un fichier ou le glisser-déposer sur cette page", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Exporter des styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Rechercher des mises à jour", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Vérifiez à nouveau, je n’ai modifié aucun style !", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Rechercher une mise à jour", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Vérification en cours…", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Cliquer pour désinstaller", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Fermer automatiquement les caractères ouvrants", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Ajoute automatiquement le caractère fermant quand vous tapez le caractère ouvrant parmi ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplétion pendant la frappe", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Sélecteur de couleur pour les couleurs CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Utiliser les tabulations avec indentation intelligente", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Raccourcis clavier", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Retour à la ligne automatique", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "Vérificateur CSS", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Surligner", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Sélection uniquement", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Entité sous le curseur", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-cliquez pour maximiser/restaurer la taille", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-cliquer sélectionne des entités", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Exemples d’entités : .foo-bar-2 #aabbcc 0.32 !important\nSi désactivé : les mots délimités par la ponctuation sont sélectionnés.", + "description": "" + }, + "cm_smartIndent": { + "message": "Utiliser l'indentation intelligente", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Taille des tabulations", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Thème", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Changer de format : HEX → RGB → HSL.\nMaj-clic pour inverser la direction.\nÉgalement via les touches ⇞ (Page précédente), \f (Page précédente).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Ouvrir le sélecteur de couleurs", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "automatique", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Sauvegarde et applique les changements automatiquement", + "description": "" + }, + "configureStyle": { + "message": "Configurer", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configurer sur la page d’accueil", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Annuler", + "description": "" + }, + "confirmClose": { + "message": "Fermer", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Réglage par défaut", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Supprimer", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Annuler les changements ?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Non", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "Valider", + "description": "" + }, + "confirmSave": { + "message": "Enregistrer", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Arrêt ", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Oui", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copié dans le presse-papier", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copier dans le presse-papier", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date d'installation", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date de mise à jour", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Une erreur s'est produite dans la base de donnée de Stylus. Voulez-vous visiter une page web avec les solutions possibles ?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "défaut", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Voulez-vous vraiment supprimer ce style ?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Supprimer", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Changez l'apparence du Web grâce à Stylus, un outil de gestion des styles utilisateur. Stylus vous permet d'installer facilement des thèmes et des habillages pour Google, Facebook, YouTube, orkut et bien d'autres sites encore.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Désactiver tous les styles", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Désactiver", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Glisser votre fichier de sauvegarde n’importe où sur cette page pour l’importer.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Pour installer le fichier, glisser le fichier sur la barre des onglets (la zone où les titres des onglets sont affichés).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Supprimer", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Aller à la ligne (ou ligne:colonne)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Modifier le style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Modifier", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Modifier le style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Activer", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclure le domaine actuel", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclure l’URL actuelle", + "description": "" + }, + "exportLabel": { + "message": "Exporter", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Commentaires", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Page d’accueil", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Lien externe", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation d'Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ montrés sur $numTotal$ au total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Les filtres appliqués actuellement ne correspondent à aucun style", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Trouver des styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Rechercher d'autres styles pour ce site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Dans la popup", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Affiche les résultats de recherche dans cette fenêtre", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Ajouter", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Dupliquer", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Désactivé", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Activé", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Erreur", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Historique", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Suivant", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Précédent", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Ré-initialiser", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Enregistré", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Titre", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Inconnu(e)", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Aide", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Saisissez un nom de commande", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Pressez un raccourci clavier", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "Cet hôte a été désactivé en raison d'un bogue dans la version actuelle du navigateur utilisé", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Ajouter au style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Ajouter le style importé au style actuel", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importer", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Remplacer le style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Abandonner le contenu du style actuel et le remplacer par le style importé", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "ajouté(s)", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identiques ignorés", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalides ignorés", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "codes et méta-informations mis à jour", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "codes mis à jour", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "méta-informations mises à jour", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Import des styles terminé", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Rien n’a changé.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles sont revenus à leur version antérieure", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "L’import a été annulé", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Installer le style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installé", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Ré-installer le style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Mettre à jour le style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Installer la mise à jour", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Le style est actuellement mis à jour depuis $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Rechercher les mises à jour", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licence", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Consulter l'aide", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Obtenir des styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Traduire", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint ne prend pas en charge le préprocesseur $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Valeur des règles : 0 = désactivé, 1 = avertissement, 2 = erreur)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Configurer les règles de $linter$", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Cliquez pour configurer ce vérificateur", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Non sauvegardé à cause de ces paramètres invalides :", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problèmes", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Ces problèmes ont été trouvés par $link$ :", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Format JSON invalide", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Pour annuler une réinitialisation accidentelle, faites Ctrl-Z (ou Cmd-Z) dans la zone de texte", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Voir la liste complète des règles", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Une erreur est survenue durant la surveillance du fichier", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Gardez cet onglet ouvert pour mettre à jour le style automatiquement basé sur les modifications extérieures.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Gardez cet onglet ouvert ainsi que l´onglet original pour mettre à jour le style automatiquement basé sur les modifications extérieures.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Rechargement immédiat", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons dans la colonne « s’applique à »", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grisés", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus utilise le service externe https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtres", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Styles installés", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Nombre d’items « s’applique à »", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "en tant que Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Nouvelle disposition de l’UI de gestion", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Seulement les styles désactivés", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Seulement les styles activés", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Seulement les styles externes", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Seulement les styles créés localement", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(les styles non installés via une page userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Styles non Usercss uniquement", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Avec mises à jour ou problèmes uniquement", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Styles Usercss uniquement", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Montrer le nombre de styles actifs", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Case à cocher @var invalide : la valeur doit être 0 ou 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Couleur @var invalide : $color$ n’est pas une couleur", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "@var $type$ invalide : la valeur doit être un nombre ou un tableau", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "@var $type$ invalide : plusieurs unités sont définies", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "@var $type$ invalide : le tableau contient trop d’items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "@var $type$ invalide : les items dans le tableau doivent être des nombres, chaines de caractères ou null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "@var $type$ invalide : la valeur par défaut est null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "@var $type$ invalide : la valeur par défaut est en dessous du minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "@var $type$ invalide : la valeur par défaut est au-dessus du maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "@var $type$ invalide : la valeur par défaut n’est pas un multiple du pas", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "@var $type$ invalide : '$units$' n’est pas une unité valide", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "@var select invalide : la valeur par défaut doit être un tableau ou un objet", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "@var select invalide : les valeurs dans le tableau/objet doivent être des chaines de caractères", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "@var select invalide : la liste d’options est vide", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "@var select invalide : le label de l’option est vide", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "@var select invalide : plusieurs options par défaut sont définies", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "@var select invalide : nom d’option dupliqué", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "@var select invalide : la valeur n’existe pas dans la liste d’options", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Protocole de l’URL invalide. Seuls http et https sont autorisés : $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Numéro de version invalide. La valeur ne correspond pas au motif SemVer : $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Nombre attendu", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Chaine entre guillemets attendue", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Mot attendu", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Caractères attendus : $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Données EOT attendues", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Métadonnée obligatoire manquante: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "JSON invalide : $literal$ n’est pas une valeur JSON valide", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Métadonnée inconnue: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Type @$varkey$ inconnu : $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "@preprocessor inconnu: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Aucun style n'est installé pour ce site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Gestion", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Ouvrir le gestionnaire de styles", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Avancé", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Ajouter « Supprimer » dans le menu contextuel de l’extension", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Exposer les iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Expose le domaine principal dans chaque iframe.\nPermet d’écrire du CSS spécifique aux iframe tel que :\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Écrire un nouveau style en tant que usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Couleur d'arrière plan si désactivé", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Couleur d'arrière plan", + "description": "" + }, + "optionsCheck": { + "message": "Mettre à jour les styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Vérifier et installer toutes les mises à jour disponibles", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge sur l’icône de la barre d’outils", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Icône de la barre d’outils", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Mises à jour", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Synchroniser dans le nuage", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Thème foncé", + "description": "" + }, + "optionsIconLight": { + "message": "Thème clair", + "description": "" + }, + "optionsOpen": { + "message": "Ouvrir", + "description": "" + }, + "optionsOpenManager": { + "message": "Gérer les styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Largeur de la popup (en pixels)", + "description": "" + }, + "optionsReset": { + "message": "Ré-initialiser les options", + "description": "" + }, + "optionsResetButton": { + "message": "Ré-initialiser les options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Plus de paramètres", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Quand vous importez des sauvegardes de style d’une ancienne version ou de Stylish, faites une vérification manuellement pour vous assurez que tous les styles sont à jour.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Intervalle de mise à jour automatique des styles utilisateur en heures (spécifier 0 pour désactiver)", + "description": "" + }, + "optionsSyncNone": { + "message": "Aucun", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connecter", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnecter", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Synchroniser maintenant", + "description": "" + }, + "optionsSyncLogin": { + "message": "Se connecter", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Récupération du style $loaded$de $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Application du style $loaded$ de $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Synchronisation...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connection...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connecté", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnection...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnecté", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Page courante", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Nombre de pages estimé", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Page suivante", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Page précédente", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Pages au total", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus a échoué à parser le usercss :", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Retrier les styles dans la popup à chaque (dés)activation", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Ajouter des bordures blanches sur les côtés", + "description": "" + }, + "popupBordersTooltip": { + "message": "Utile pour les thèmes sombres dans le nouveau Chrome qui ne décore plus les bordures sur les côtés", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, aussi sur le pavé numérique - (dés)active le Nième style (0 correspond à 10)\n- (dés)active le 1er style avec un nom qui commence par la lettre\n ouvre l’éditeur au lieu de (dés)activer\n active les styles listés\n désactive les styles listés\n et <`> (accent grave) — désactive les styles initialement activés ; ne s’applique pas aux styles activés ensuite pendant que la popup est ouverte pour que vous puissiez restaurer la sélection initiale après avoir tester des choses : désactive simplement tout, puis (dés)active par ex. \nPlus d’informations sur le wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Cliquez pour voir les raccourcis clavier disponibles", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Maj-clic ou clic droit ouvre le gestionnaire avec les styles applicables au site courant.", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Actions", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Ouvrir l'éditeur dans une nouvelle fenêtre", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Également activé en détachant l’onglet de l’éditeur depuis une fenêtre du navigateur,\net désactivé en attachant un unique onglet de l’éditeur dans une autre fenêtre.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "List styles before commands in the toolbar button menu", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Afficher le nombre de styles actifs pour le site actuel sur le boutton Stylus", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Prévisualiser en direct", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Applique temporairement les changements sans sauvegarder.\nSauvegarde le style pour rendre les changements permanents.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Recharger l´extension Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "Remplacer", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Tout remplacer", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Remplacer par", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importer des styles", + "description": "" + }, + "search": { + "message": "Rechercher", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Sensible à la casse", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Nombre de correspondances", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Nombre de correspondances dans le code et les valeurs « s’applique à »", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Utilisez la syntaxe /re/ pour rechercher par regexp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total d'installations", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Aucun style trouvé pour ce site", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Note", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Mis à jour", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Installations hebdomadaires", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Ajouter une section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Supprimer la section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restaurer la section supprimée", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Raccourcis", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Définir les raccourcis clavier", + "description": "" + }, + "sortDateNewestFirst": { + "message": "les plus récents en premier", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "les plus anciens en premier", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Choisissez un tri à appliquer aux styles installés", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Titre croissant", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Titre décroissant", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choisir le type de tri à appliquer aux entrées installées à l’intérieur du menu de tri. La configuration par défaut applique un tri croissant (de A à Z) aux titres des entrées. Le tri « Titre décroissant » va appliquer un tri décroissant (de Z à A) aux titres.\nIl y a d’autres préréglages qui vous permettent de trier les entrées par de multiples critères. Pensez à ça comme trier un tableau avec de multiples colonnes et chaque catégorie dans une sélection (entre les signes plus) représente une colonne, ou groupe.\nPar exemple, si le paramètre est « Activé (en premier) + Titre », les entrées vont être triées de telle sorte que les entrées activées sont triées en haut de la liste, puis un tri croissant (de A à Z) est appliqué séparément sur les titres des entrées activées et des entrées désactivées.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Trier les contenus", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Le Regexp est éronné", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Embellir ", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indenter @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Conserver les sauts de ligne", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Retour à la gestion", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Vous avez apporté des modifications à ce style sans les enregistrer.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Activé", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Échec de l'importation depuis le format Mozilla", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Coller le code au format Mozilla", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Installer \"$stylename$\" dans Stylus ?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Échec de l’installation du style utilisateur !\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "\"$stylename$\" est déjà installé. L'écraser ?\nVersion : $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Veuillez saisir un nom", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Format Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Le style n'a pu s'appliquer en raison d'une utilisation erronée de 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Quelques règles 'regexp()' qui n’ont pas pu être compilées", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Ce style utilise des regexps correspondant partiellement en violation de la spécification CSS4 @document qui demande une correspondance totale de l’URL. Les sections de CSS affectées n’ont pas été appliquées à la page. Ce style a probablement été créé dans Stylish-for-Chrome qui vérifie mal les règles « regexp() » depuis sa toute première version (bug connu).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Nombre de sections non appliquées à cause d’une utilisation incorrecte de 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Test d’expression rationnelle", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Onglets correspondants", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Expression rationnelle invalides ignorées", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Aucun onglet correspondant", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note : utilisez un simple \\ pour échapper dans le champ de regexp, qui sera automatiquement converti en \\\\ dans le code conformément à la spécification des chaines citées en CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Correspondance partielle, donc ignorée", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Liste d’onglets ouverts correspondants (cliquez sur l’URL pour focaliser son onglet)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Enregistrer", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Le code au format Mozilla peut être utilisé dans Stylish for Firefox et envoyé à userstyles.org.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style au format Mozilla", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Voulez-vous mettre à jour « $stylename$ » ?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Le style a été changé en dehors de l’éditeur. Voulez-vous recharger le style ?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus ne fonctionne pas sur les pages de ce genre", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Par mesure de sécurité, le navigateur interdit aux extensions d’affecter ses pages internes (comme chrome://version, la page nouvel onglet standard de Chrome 61, about:addons, etc.) ainsi que les pages d’autres extensions. Chaque navigateur restreint également l’accès à sa propre galerie d’extensions (tel que le Chrome Web Store ou AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "La valeur ne peut pas être sauvegardée. Essayez de réduire la quantité de texte.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "(Dés)activer le style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Annuler", + "description": "Button label" + }, + "undoGlobal": { + "message": "Tout annuler", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox interdit l'accès pour ce site", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Pour autoriser l’accès, ouvrir , clic-droit sur la liste, cliquez sur « Nouvelle » puis « Valeur booléenne », coller et cliquer sur OK, , OK, et rechargez la page .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "Pour Firefox 60 et suivants, vous devez également supprimer le domaine AMO de dans .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Seul Firefox 59 et supérieur peut être configuré pour autoriser les WebExtensions à ajouter des éléments de style sur des sites protégés par CSP comme celui-ci.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Impossible de communiquer avec la page. Essayez de recharger l’onglet.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus peut accéder aux URL file:// uniquement si vous cochez la case correspondante pour l’extension Stylus sur la page chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus ne peut pas accéder à certains types de fichiers (ex: fichiers .pdf et .json).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Aucune mise à jour trouvée.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Certains styles pouvant être mis à jour n’ont pas été vérifiés pour éviter de perdre de potentiels modifications locales. Les mises à jour peuvent être forcées en vérifiant individuellement, ou en lançant une autre vérification pour tous les styles (les modifications locales seront perdues).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Échec de la mise à jour: le serveur a renvoyé le code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Échec de la mise à jour: le serveur est inaccessible.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Historique des vérifications de mises à jour", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Installer les mises à jour (les modifications locales seront écrasées)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcer une mise à jour écrasera les modifications faites localement.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Ce style a été modifié localement", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Ce style a peut-être été modifié localement.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Le style est à jour.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Mise à jour terminée.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Mises à jour installées :", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Veuillez changer la valeur de @name ou @namespace afin d'éviter d'écraser un style pré-existant.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Le style a été mis à jour ou supprimer après l’apparition du dialogue de confirmation. Ces variables n’ont pas été sauvegardées pour éviter de corrompre les métadonnées du style :", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Spécifiez @name dans le code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Remplacer le modèle par défaut pour les nouveaux styles Usercss par le code actuel ?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Un @name vide remplace le modèle par défaut", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insérer le code ici...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "La version est antérieure à celle déjà installée.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Écrire un style pour :", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "cette URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Exporter vers Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "L´import/export Dropbox est remplacé par une méthode de synchronisation de styles plus avancés dans la page des options", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Importer depuis Dropbox", + "description": "" + }, + "overwriteFileExport": { + "message": "Voulez-vous écraser un fichier existant ?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Fichier sauvegardé avec succès", + "description": "" + }, + "noFileToImport": { + "message": "Pour importer vos styles, vous devez d’abord les exporter.", + "description": "" + }, + "connectingDropbox": { + "message": "Connexion à Dropbox…", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "La connexion à Dropbox est disponible uniquement dans les applications installées directement depuis le Web Store.", + "description": "" + }, + "gettingStyles": { + "message": "Récupération de tous les styles…", + "description": "" + }, + "zipStyles": { + "message": "Compression des styles…", + "description": "" + }, + "unzipStyles": { + "message": "Décompression des styles…", + "description": "" + }, + "readingStyles": { + "message": "Lecture des styles…", + "description": "" + }, + "uploadingFile": { + "message": "Envoi du fichier…", + "description": "" + }, + "addStyleLabel": { + "message": "Créer un nouveau style", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "et bien plus encore", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL sur le domaine", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Utilisez l'option « S'applique à » pour préciser les URL auxquelles le code de cette section s'applique.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "S'applique à", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Afficher les informations « s’applique à »", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Ne fonctionne pas avec le CSS minifié", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL correspondant à l'expression régulière", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Supprimer", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Impossible de supprimer la dernière entrée « s’applique à »", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Préciser", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tout", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL commençant par", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Appliquer toutes les mises à jour", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Auteur", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Sauvegarde", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Sélectionner un fichier ou le glisser-déposer sur cette page", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exporter des styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Rechercher des mises à jour", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Vérifiez à nouveau, je n’ai modifié aucun style !", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Rechercher une mise à jour", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Vérification en cours…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Cliquer pour désinstaller", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Fermer automatiquement les caractères ouvrants", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Ajoute automatiquement le caractère fermant quand vous tapez le caractère ouvrant parmi ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplétion pendant la frappe", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Sélecteur de couleur pour les couleurs CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Utiliser les tabulations avec indentation intelligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Raccourcis clavier", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Retour à la ligne automatique", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Vérificateur CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Surligner", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Sélection uniquement", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Entité sous le curseur", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-cliquez pour maximiser/restaurer la taille", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-cliquer sélectionne des entités", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exemples d’entités : .foo-bar-2 #aabbcc 0.32 !important\nSi désactivé : les mots délimités par la ponctuation sont sélectionnés.", - "description": "" - }, - "cm_smartIndent": { - "message": "Utiliser l'indentation intelligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Taille des tabulations", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Thème", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Changer de format : HEX → RGB → HSL.\nMaj-clic pour inverser la direction.\nÉgalement via les touches ⇞ (Page précédente), \f (Page précédente).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Ouvrir le sélecteur de couleurs", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "automatique", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Sauvegarde et applique les changements automatiquement", - "description": "" - }, - "configureStyle": { - "message": "Configurer", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurer sur la page d’accueil", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Annuler", - "description": "" - }, - "confirmClose": { - "message": "Fermer", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Réglage par défaut", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Supprimer", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Annuler les changements ?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Non", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "Valider", - "description": "" - }, - "confirmSave": { - "message": "Enregistrer", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Arrêt ", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Oui", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copié dans le presse-papier", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copier dans le presse-papier", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "Date d'installation", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date de mise à jour", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Une erreur s'est produite dans la base de donnée de Stylus. Voulez-vous visiter une page web avec les solutions possibles ?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "défaut", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Voulez-vous vraiment supprimer ce style ?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Supprimer", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Changez l'apparence du Web grâce à Stylus, un outil de gestion des styles utilisateur. Stylus vous permet d'installer facilement des thèmes et des habillages pour Google, Facebook, YouTube, orkut et bien d'autres sites encore.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Désactiver tous les styles", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Désactiver", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Glisser votre fichier de sauvegarde n’importe où sur cette page pour l’importer.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Pour installer le fichier, glisser le fichier sur la barre des onglets (la zone où les titres des onglets sont affichés).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Supprimer", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Aller à la ligne (ou ligne:colonne)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Modifier le style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Modifier", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Modifier le style $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Activer", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclure le domaine actuel", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclure l’URL actuelle", - "description": "" - }, - "exportLabel": { - "message": "Exporter", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Commentaires", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Page d’accueil", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Lien externe", - "description": "Label for external links" - }, - "externalUsercssDocument": { - "message": "Documentation d'Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ montrés sur $numTotal$ au total", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Les filtres appliqués actuellement ne correspondent à aucun style", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Trouver des styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Rechercher d'autres styles pour ce site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Dans la popup", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Affiche les résultats de recherche dans cette fenêtre", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Ajouter", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Dupliquer", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Désactivé", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Activé", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Erreur", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historique", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Suivant", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Précédent", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Ré-initialiser", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Enregistré", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titre", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Inconnu(e)", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Aide", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Saisissez un nom de commande", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Pressez un raccourci clavier", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Cet hôte a été désactivé en raison d'un bogue dans la version actuelle du navigateur utilisé", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Ajouter au style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Ajouter le style importé au style actuel", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importer", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Remplacer le style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Abandonner le contenu du style actuel et le remplacer par le style importé", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "ajouté(s)", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identiques ignorés", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalides ignorés", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "codes et méta-informations mis à jour", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "codes mis à jour", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "méta-informations mises à jour", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Import des styles terminé", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Rien n’a changé.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles sont revenus à leur version antérieure", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "L’import a été annulé", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Installer le style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installé", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Ré-installer le style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Mettre à jour le style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Installer la mise à jour", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Le style est actuellement mis à jour depuis $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Rechercher les mises à jour", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licence", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Consulter l'aide", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obtenir des styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Traduire", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint ne prend pas en charge le préprocesseur $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Valeur des règles : 0 = désactivé, 1 = avertissement, 2 = erreur)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Configurer les règles de $linter$", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Cliquez pour configurer ce vérificateur", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Non sauvegardé à cause de ces paramètres invalides :", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problèmes", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Ces problèmes ont été trouvés par $link$ :", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Format JSON invalide", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Pour annuler une réinitialisation accidentelle, faites Ctrl-Z (ou Cmd-Z) dans la zone de texte", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Voir la liste complète des règles", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Une erreur est survenue durant la surveillance du fichier", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Gardez cet onglet ouvert pour mettre à jour le style automatiquement basé sur les modifications extérieures.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Gardez cet onglet ouvert ainsi que l´onglet original pour mettre à jour le style automatiquement basé sur les modifications extérieures.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Rechargement immédiat", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons dans la colonne « s’applique à »", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grisés", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus utilise le service externe https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtres", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Styles installés", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Nombre d’items « s’applique à »", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "en tant que Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nouvelle disposition de l’UI de gestion", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Seulement les styles désactivés", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Seulement les styles activés", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Seulement les styles externes", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Seulement les styles créés localement", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(les styles non installés via une page userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Styles non Usercss uniquement", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Avec mises à jour ou problèmes uniquement", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Styles Usercss uniquement", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Montrer le nombre de styles actifs", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Case à cocher @var invalide : la valeur doit être 0 ou 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Couleur @var invalide : $color$ n’est pas une couleur", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "@var $type$ invalide : la valeur doit être un nombre ou un tableau", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "@var $type$ invalide : plusieurs unités sont définies", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "@var $type$ invalide : le tableau contient trop d’items", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "@var $type$ invalide : les items dans le tableau doivent être des nombres, chaines de caractères ou null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "@var $type$ invalide : la valeur par défaut est null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "@var $type$ invalide : la valeur par défaut est en dessous du minimum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "@var $type$ invalide : la valeur par défaut est au-dessus du maximum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "@var $type$ invalide : la valeur par défaut n’est pas un multiple du pas", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "@var $type$ invalide : '$units$' n’est pas une unité valide", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "@var select invalide : la valeur par défaut doit être un tableau ou un objet", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "@var select invalide : les valeurs dans le tableau/objet doivent être des chaines de caractères", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "@var select invalide : la liste d’options est vide", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "@var select invalide : le label de l’option est vide", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "@var select invalide : plusieurs options par défaut sont définies", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "@var select invalide : nom d’option dupliqué", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "@var select invalide : la valeur n’existe pas dans la liste d’options", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Protocole de l’URL invalide. Seuls http et https sont autorisés : $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Numéro de version invalide. La valeur ne correspond pas au motif SemVer : $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Nombre attendu", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Chaine entre guillemets attendue", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Mot attendu", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Caractères attendus : $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Données EOT attendues", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Métadonnée obligatoire manquante: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "JSON invalide : $literal$ n’est pas une valeur JSON valide", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Métadonnée inconnue: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Type @$varkey$ inconnu : $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "@preprocessor inconnu: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Aucun style n'est installé pour ce site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Gestion", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Ouvrir le gestionnaire de styles", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsAdvanced": { - "message": "Avancé", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Ajouter « Supprimer » dans le menu contextuel de l’extension", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Exposer les iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Expose le domaine principal dans chaque iframe.\nPermet d’écrire du CSS spécifique aux iframe tel que :\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Écrire un nouveau style en tant que usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Couleur d'arrière plan si désactivé", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Couleur d'arrière plan", - "description": "" - }, - "optionsCheck": { - "message": "Mettre à jour les styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Vérifier et installer toutes les mises à jour disponibles", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge sur l’icône de la barre d’outils", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Icône de la barre d’outils", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Mises à jour", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synchroniser dans le nuage", - "description": "" - }, - "optionsIconDark": { - "message": "Thème foncé", - "description": "" - }, - "optionsIconLight": { - "message": "Thème clair", - "description": "" - }, - "optionsOpen": { - "message": "Ouvrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Gérer les styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Largeur de la popup (en pixels)", - "description": "" - }, - "optionsReset": { - "message": "Ré-initialiser les options", - "description": "" - }, - "optionsResetButton": { - "message": "Ré-initialiser les options", - "description": "" - }, - "optionsSubheading": { - "message": "Plus de paramètres", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Quand vous importez des sauvegardes de style d’une ancienne version ou de Stylish, faites une vérification manuellement pour vous assurez que tous les styles sont à jour.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalle de mise à jour automatique des styles utilisateur en heures (spécifier 0 pour désactiver)", - "description": "" - }, - "optionsSyncNone": { - "message": "Aucun", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connecter", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnecter", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Synchroniser maintenant", - "description": "" - }, - "optionsSyncLogin": { - "message": "Se connecter", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Récupération du style $loaded$de $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "Application du style $loaded$ de $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "Synchronisation...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connection...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connecté", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnection...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnecté", - "description": "" - }, - "paginationCurrent": { - "message": "Page courante", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Nombre de pages estimé", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Page suivante", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Page précédente", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Pages au total", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus a échoué à parser le usercss :", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Retrier les styles dans la popup à chaque (dés)activation", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Ajouter des bordures blanches sur les côtés", - "description": "" - }, - "popupBordersTooltip": { - "message": "Utile pour les thèmes sombres dans le nouveau Chrome qui ne décore plus les bordures sur les côtés", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, aussi sur le pavé numérique - (dés)active le Nième style (0 correspond à 10)\n- (dés)active le 1er style avec un nom qui commence par la lettre\n ouvre l’éditeur au lieu de (dés)activer\n active les styles listés\n désactive les styles listés\n et <`> (accent grave) — désactive les styles initialement activés ; ne s’applique pas aux styles activés ensuite pendant que la popup est ouverte pour que vous puissiez restaurer la sélection initiale après avoir tester des choses : désactive simplement tout, puis (dés)active par ex. \nPlus d’informations sur le wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Cliquez pour voir les raccourcis clavier disponibles", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Maj-clic ou clic droit ouvre le gestionnaire avec les styles applicables au site courant.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Actions", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "Ouvrir l'éditeur dans une nouvelle fenêtre", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Également activé en détachant l’onglet de l’éditeur depuis une fenêtre du navigateur,\net désactivé en attachant un unique onglet de l’éditeur dans une autre fenêtre.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "List styles before commands in the toolbar button menu", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Afficher le nombre de styles actifs pour le site actuel sur le boutton Stylus", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Prévisualiser en direct", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Applique temporairement les changements sans sauvegarder.\nSauvegarde le style pour rendre les changements permanents.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Recharger l´extension Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Remplacer", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Tout remplacer", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Remplacer par", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importer des styles", - "description": "" - }, - "search": { - "message": "Rechercher", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Sensible à la casse", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Nombre de correspondances", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Nombre de correspondances dans le code et les valeurs « s’applique à »", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Utilisez la syntaxe /re/ pour rechercher par regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total d'installations", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Aucun style trouvé pour ce site", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "Note", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Mis à jour", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Installations hebdomadaires", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Ajouter une section", - "description": "Label for the button to add a section" - }, - "sectionRemove": { - "message": "Supprimer la section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurer la section supprimée", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Raccourcis", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Définir les raccourcis clavier", - "description": "" - }, - "sortDateNewestFirst": { - "message": "les plus récents en premier", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "les plus anciens en premier", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Choisissez un tri à appliquer aux styles installés", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titre croissant", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titre décroissant", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choisir le type de tri à appliquer aux entrées installées à l’intérieur du menu de tri. La configuration par défaut applique un tri croissant (de A à Z) aux titres des entrées. Le tri « Titre décroissant » va appliquer un tri décroissant (de Z à A) aux titres.\nIl y a d’autres préréglages qui vous permettent de trier les entrées par de multiples critères. Pensez à ça comme trier un tableau avec de multiples colonnes et chaque catégorie dans une sélection (entre les signes plus) représente une colonne, ou groupe.\nPar exemple, si le paramètre est « Activé (en premier) + Titre », les entrées vont être triées de telle sorte que les entrées activées sont triées en haut de la liste, puis un tri croissant (de A à Z) est appliqué séparément sur les titres des entrées activées et des entrées désactivées.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Trier les contenus", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Le Regexp est éronné", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Embellir ", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Indenter @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Conserver les sauts de ligne", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Retour à la gestion", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Vous avez apporté des modifications à ce style sans les enregistrer.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Activé", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Échec de l'importation depuis le format Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Coller le code au format Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Installer \"$stylename$\" dans Stylus ?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Échec de l’installation du style utilisateur !\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "\"$stylename$\" est déjà installé. L'écraser ?\nVersion : $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Veuillez saisir un nom", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Format Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Le style n'a pu s'appliquer en raison d'une utilisation erronée de 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Quelques règles 'regexp()' qui n’ont pas pu être compilées", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Ce style utilise des regexps correspondant partiellement en violation de la spécification CSS4 @document qui demande une correspondance totale de l’URL. Les sections de CSS affectées n’ont pas été appliquées à la page. Ce style a probablement été créé dans Stylish-for-Chrome qui vérifie mal les règles « regexp() » depuis sa toute première version (bug connu).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Nombre de sections non appliquées à cause d’une utilisation incorrecte de 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Test d’expression rationnelle", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Onglets correspondants", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Expression rationnelle invalides ignorées", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Aucun onglet correspondant", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note : utilisez un simple \\ pour échapper dans le champ de regexp, qui sera automatiquement converti en \\\\ dans le code conformément à la spécification des chaines citées en CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Correspondance partielle, donc ignorée", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Liste d’onglets ouverts correspondants (cliquez sur l’URL pour focaliser son onglet)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Enregistrer", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Le code au format Mozilla peut être utilisé dans Stylish for Firefox et envoyé à userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style au format Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Voulez-vous mettre à jour « $stylename$ » ?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Le style a été changé en dehors de l’éditeur. Voulez-vous recharger le style ?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus ne fonctionne pas sur les pages de ce genre", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Par mesure de sécurité, le navigateur interdit aux extensions d’affecter ses pages internes (comme chrome://version, la page nouvel onglet standard de Chrome 61, about:addons, etc.) ainsi que les pages d’autres extensions. Chaque navigateur restreint également l’accès à sa propre galerie d’extensions (tel que le Chrome Web Store ou AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "La valeur ne peut pas être sauvegardée. Essayez de réduire la quantité de texte.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "(Dés)activer le style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Annuler", - "description": "Button label" - }, - "undoGlobal": { - "message": "Tout annuler", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox interdit l'accès pour ce site", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Pour autoriser l’accès, ouvrir , clic-droit sur la liste, cliquez sur « Nouvelle » puis « Valeur booléenne », coller et cliquer sur OK, , OK, et rechargez la page .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Pour Firefox 60 et suivants, vous devez également supprimer le domaine AMO de dans .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Seul Firefox 59 et supérieur peut être configuré pour autoriser les WebExtensions à ajouter des éléments de style sur des sites protégés par CSP comme celui-ci.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Impossible de communiquer avec la page. Essayez de recharger l’onglet.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus peut accéder aux URL file:// uniquement si vous cochez la case correspondante pour l’extension Stylus sur la page chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus ne peut pas accéder à certains types de fichiers (ex: fichiers .pdf et .json).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Aucune mise à jour trouvée.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Certains styles pouvant être mis à jour n’ont pas été vérifiés pour éviter de perdre de potentiels modifications locales. Les mises à jour peuvent être forcées en vérifiant individuellement, ou en lançant une autre vérification pour tous les styles (les modifications locales seront perdues).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Échec de la mise à jour: le serveur a renvoyé le code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Échec de la mise à jour: le serveur est inaccessible.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historique des vérifications de mises à jour", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Installer les mises à jour (les modifications locales seront écrasées)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcer une mise à jour écrasera les modifications faites localement.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Ce style a été modifié localement", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Ce style a peut-être été modifié localement.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Le style est à jour.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Mise à jour terminée.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Mises à jour installées :", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Veuillez changer la valeur de @name ou @namespace afin d'éviter d'écraser un style pré-existant.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Le style a été mis à jour ou supprimer après l’apparition du dialogue de confirmation. Ces variables n’ont pas été sauvegardées pour éviter de corrompre les métadonnées du style :", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Spécifiez @name dans le code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Remplacer le modèle par défaut pour les nouveaux styles Usercss par le code actuel ?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Un @name vide remplace le modèle par défaut", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insérer le code ici...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "La version est antérieure à celle déjà installée.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Écrire un style pour :", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "cette URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exporter vers Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "L´import/export Dropbox est remplacé par une méthode de synchronisation de styles plus avancés dans la page des options", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importer depuis Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "Voulez-vous écraser un fichier existant ?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Fichier sauvegardé avec succès", - "description": "" - }, - "noFileToImport": { - "message": "Pour importer vos styles, vous devez d’abord les exporter.", - "description": "" - }, - "connectingDropbox": { - "message": "Connexion à Dropbox…", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "La connexion à Dropbox est disponible uniquement dans les applications installées directement depuis le Web Store.", - "description": "" - }, - "gettingStyles": { - "message": "Récupération de tous les styles…", - "description": "" - }, - "zipStyles": { - "message": "Compression des styles…", - "description": "" - }, - "unzipStyles": { - "message": "Décompression des styles…", - "description": "" - }, - "readingStyles": { - "message": "Lecture des styles…", - "description": "" - }, - "uploadingFile": { - "message": "Envoi du fichier…", - "description": "" - } } \ No newline at end of file diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index b31422bb..7f9feee0 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -1,127 +1,1586 @@ { - "addStyleLabel": { - "message": "Nije styl skriuwe", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Styl tafoegje", - "description": "Title of the page for adding styles" - }, - "appliesAdd": { - "message": "Tafoegje", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Fan tapassing op: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Styl tafoegje", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Tafoegje", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Fan tapassing op: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "en mear", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL’s op it domein", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Brûk de ‘Fan tapassing op’-funksjes om de URL’s foar de koade yn dizze seksje te beheinen.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Fan tapassing op", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL’s oerienkommend mei de regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Fuortsmite", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Spesifisearje", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Alles", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL’s begjinnend mei", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Alle fernijingen tapasse", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Alle stilen kontrolearje op fernijingen", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Kontrolearje op fernijing", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Kontrolearje...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Ljepblêden mei tûke ynspringing brûke", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Toetseboerdyndieling", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Teksttebekrin", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Tûke ynspringing brûke", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Ljepblêdgrutte", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Tema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Nee", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stoppe", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Ja", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Der is in flater bard by it brûken fan de Stylus-database. Wolle jo in webside mei mooglike oplossingen besykje?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "standert", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Binne jo wis dat jo dizze styl fuortsmite wolle?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Fuortsmite", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disable", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit Style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Enable", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Help", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installed Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Nije styl skriuwe", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "en mear", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL’s op it domein", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Brûk de ‘Fan tapassing op’-funksjes om de URL’s foar de koade yn dizze seksje te beheinen.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Fan tapassing op", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesRegexpOption": { - "message": "URL’s oerienkommend mei de regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Fuortsmite", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Spesifisearje", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alles", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL’s begjinnend mei", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Alle fernijingen tapasse", - "description": "Label for the button to apply all detected updates" - }, - "checkAllUpdates": { - "message": "Alle stilen kontrolearje op fernijingen", - "description": "Label for the button to check all styles for updates" - }, - "checkForUpdate": { - "message": "Kontrolearje op fernijing", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrolearje...", - "description": "Text to display when checking a style for an update" - }, - "cm_indentWithTabs": { - "message": "Ljepblêden mei tûke ynspringing brûke", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Toetseboerdyndieling", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Teksttebekrin", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_smartIndent": { - "message": "Tûke ynspringing brûke", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Ljepblêdgrutte", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "confirmNo": { - "message": "Nee", - "description": "'No' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stoppe", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "dbError": { - "message": "Der is in flater bard by it brûken fan de Stylus-database. Wolle jo in webside mei mooglike oplossingen besykje?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "standert", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Binne jo wis dat jo dizze styl fuortsmite wolle?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Fuortsmite", - "description": "Label for the button to delete a style" - } } \ No newline at end of file diff --git a/_locales/gl/messages.json b/_locales/gl/messages.json index 2aea3704..01d1b942 100644 --- a/_locales/gl/messages.json +++ b/_locales/gl/messages.json @@ -1,67 +1,1586 @@ { - "addStyleTitle": { - "message": "Engadir Estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidade", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Engadir", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplica a: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Engadir Estilo", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacidade", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Engadir", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Aplica a: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "e mais", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs no dominio", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Aplica para", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Non funciona con CSS minificado", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs que concorden co regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Suprimir", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Especificar", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Todo", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs que comecen por", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Aplicar tódalas actualizacións", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Check all styles for updates", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Check for update", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Checking...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Are you sure you want to delete this style?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Delete", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disable", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit Style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Enable", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Help", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installed Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Write new style", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "e mais", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs no dominio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesLabel": { - "message": "Aplica para", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetWarning": { - "message": "Non funciona con CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs que concorden co regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Suprimir", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Todo", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URLs que comecen por", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar tódalas actualizacións", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - } } \ No newline at end of file diff --git a/_locales/he/messages.json b/_locales/he/messages.json index db30ae17..3474f250 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -1,1376 +1,1586 @@ { - "addStyleLabel": { - "message": "כתוב עיצוב חדש", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "הוסף עיצוב", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "שקיפות", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "הוסף", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "חל על: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "הוסף עיצוב", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "שקיפות", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "הוסף", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "חל על: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "עוד", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "קישורים תחת הדומיין", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "השתמש בהגדרות 'חל על' כדי להגביל את כתובות האתרים שהקוד בסעיף זה חל עליהם.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "חל על", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "הצג אינפורמציית 'חל על'", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "לא עובד עם CSS מוקטן (minified)", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "קישורים התואמים את ה־regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "הסר", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "לא ניתן להסיר את הערך 'חל על' האחרון", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "פרט", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "כל האתרים", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "כתובת אתר", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "קישורים המתחילים ב", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "החל את כל העדכונים", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "מחבר", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "גיבוי", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "בחר קובץ או גרור ושחרר אותו בדף זה.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "ייצא עיצובים", + "description": "" + }, + "checkAllUpdates": { + "message": "בדוקים עדכונים עבור כל העיצובים", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "בדוק שוב, לא ערכתי אף עיצוב!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "בדוק עדכונים", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "בודק...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "הקלק להסרה", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "סגור באופן אוטומטי סוגריים וגרשיים", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "הוסף סוגר באופן אוטומטי כשמקלידים את אחת מהפותחים של ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "השלמה אוטומטית בזמן הכתיבה", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "פלטות בחירת צבעים עבור צבעי CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "השתמש בטאבים יחד עם הזחה חכמה", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "מפת מקשים", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "עטיפת מילים", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "עורך שגיאות CSS", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "הדגש", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "בחירה בלבד", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "תג תחת הסמן", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "דאבל קליק להגדלה מירבית/איפוס הגובה", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "דאבל קליק בוחר תגים", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "דוגמאות לתגים: .foo-bar-2 #aabbcc 0.32 !important\nבמצב מושבת: נבחרות מילים המופרדות בין פיסוק.", + "description": "" + }, + "cm_smartIndent": { + "message": "השתמש בהזחה חכמה", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "גודל הכרטיסייה", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "ערכת נושא", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "החלף פורמטים: HEX -> RGB -> HSL.\nלחץ Shift כדי להפוך את הכיוון.\nגם באמצעות מקשי PgUp (PageUp), PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "פתח את פלטת בחירת הצבעים", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "בעת שינוי", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "שמור והחל שינויים באופן אוטומטי", + "description": "" + }, + "configureStyle": { + "message": "הגדר", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "הגדר בדף הבית", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "ביטול", + "description": "" + }, + "confirmClose": { + "message": "סגור", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "השתמש בברירת מחדל", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "מחיקה", + "description": "" + }, + "confirmDiscardChanges": { + "message": "למחוק את השינויים?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "לא", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "אוקיי", + "description": "" + }, + "confirmSave": { + "message": "שמור", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "עצור", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "כן", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "הועתק אל לוח ההעתקה", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "העתק אל לוח ההעתקה", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "תאריך התקנה", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "תאריך עדכון", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "אירעה שגיאה בשימוש במסד הנתונים של Stylus. האם ברצונך לבקר בדף אינטרנט עם פתרונות אפשריים?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "ברירת מחדל", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "האם אתה בטוח שברצונך למחוק עיצוב זה?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "מחק", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "עיצוב מחדש של האינטרנט באמצעות Stylus, מנהל סגנונות משתמש. Stylus מאפשר לך להתקין בקלות עיצובים וערכות נושא עבור אתרים פופולריים רבים.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "השבת את כל העיצובים", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "השבת", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "שחרר את קובץ הגיבוי שלך בכל מקום בדף זה על־מנת לייבא אותו.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "מחק", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "גש לשורה (או line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "ערוך עיצוב", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "ערוך", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "עריכת העיצוב $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "אפשר", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "אל תכלול את הדומיין הנוכחי", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "אל תכלול את כתובת האתר הנוכחית", + "description": "" + }, + "exportLabel": { + "message": "ייצא", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "חוות דעת", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "דף הבית", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "קישור חיצוני", + "description": "Label for external links" + }, + "externalSupport": { + "message": "תמיכה", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "תיעוד ל־Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ מתוך $numTotal$ סך־הכל", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "מסננים שהוחלו כעת אינם תואמים עיצובים", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "מצא עיצובים", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "מצא סגנונות נוספים לאתר זה", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "מוטבע", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "הצג תוצאות חיפוש בחלון זה.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "הוספה", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "שכפול", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "מושבת", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "מאופשר", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "שגיאה", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "היסטוריה", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "הבא", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "הקודם", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "איפוס", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "נשמר", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "כותרת", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "לא ידוע", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "עזרה", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "הקלד שם פקודה", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "לחץ על המקש החם", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "מארח זה הושבת בגלל באג בגרסה הנוכחית של הדפדפן בו נעשה שימוש", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "צרף לעיצוב", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "צרף את העיצוב המיובא לעיצוב הנוכחי", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "ייבא", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "דרוס עיצוב", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "הסר את התוכן של הסגנון הנוכחי והחלף אותו עם העיצוב המיובא", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "נוספו", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "זהה דולג", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "לא חוקי דולג", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "מטא דאטה והקוד עודכנו", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "קודים עודכנו", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "מטא דאטה עודכן", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "סיום ייבוא עיצובים", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "שום דבר לא השתנה.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "עיצובים הוחזרו", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "הייבוא בוטל", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "התקן עיצוב", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "העיצוב הותקן בהצלחה", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "התקן עיצוב מחדש", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "עדכן עיצוב", + "description": "Label for update button" + }, + "installUpdate": { + "message": "התקן עדכון", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "נכון לעכשיו הסגנון מעודכן מ־ $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "בדוק עדכונים", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "רישיון", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "קבל עזרה", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "מצא עיצובים", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "תרגום", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "עורך שגיאות ה־CSS אינו תומך ב־ $preprocessorname$ כמעבד מקדים", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(הגדר כלל כ: 0 = מושבת; 1 = אזהרה; 2 = שגיאה)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "הגדר $linter$ כללי תצורה", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "לחץ להגדרת linter זה", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "לא נשמר עקב הגדרות תצורה לא חוקיות אלה:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "תקלות", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "התקלות האלו נמצאו על־ידי $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "פורמט JSON לא תקין", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "על־מנת לבטל איפוסים לא רצוניים, לחץ Ctrl-Z (או Cmd-Z) בתיבת הטקסט", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "ראה רשימת חוקים מלאה", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "התרחשה שגיאה בזמן הצפייה בקובץ", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "רענון לייב (live)", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "הצגת אייקונים בעמודת 'חל על'", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "האפרת האייקונים", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus משתמש בשירות חיצוני https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "מסננים", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "עיצובים מותקנים", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "מספר הפריטים ה־'מוחלים על'", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "כ־Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "פריסת ממשק משתמש ניהול חדשה", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "רק עיצובים מושבתים", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "רק עיצובים מאופשרים", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "רק עיצובים חיצוניים", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "רק עיצובים שנוצרו באופן מקומי", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(הסגנונות שלא הותקנו דרך דף userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "רק לא עיצובי Usercss", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "רק עם עדכונים או תקלות", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "רק עיצובי Usercss", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "הצג כמות עיצובים מאופשרים", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "תיבת סימון @var לא חוקית: הערך חייב להיות 0 או 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "נדרש מספר", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "נדרשת מחרוזת בתוך גרשיים", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "נדרשת מילה", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "נדרשים תווים: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "נדרש מידע EOT", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "לא הותקנו עיצובים עבור אתר זה.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "ניהול", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "אפשרויות", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "פתח את מנהל העיצובים", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "פעולות", + "description": "" + }, + "optionsAdvanced": { + "message": "מתקדם", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "הוספת 'מחק' בתפריט העורך", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "חשוף iframes באמצעות HTML [stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "חושף את תחום האתר העליון בכל iframe.\nמאפשר כתיבת CSS ספציפית ל־iframe כך:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "כתוב עיצוב חדש בתור usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "צבע רקע בעת השבתה", + "description": "" + }, + "optionsBadgeNormal": { + "message": "צבע רקע", + "description": "" + }, + "optionsCheck": { + "message": "עדכן עיצובים", + "description": "" + }, + "optionsCheckUpdate": { + "message": "בדוק והתקן את כל העדכונים הזמינים", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "תג על האייקון בסרגל הכלים", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "אייקון בסרגל הכלים", + "description": "" + }, + "optionsCustomizePopup": { + "message": "חלון קופץ", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "עדכונים", + "description": "" + }, + "optionsCustomizeSync": { + "message": "סנכרון לענן", + "description": "" + }, + "optionsHeading": { + "message": "אפשרויות", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "ערכות נושא כהות לדפדפן", + "description": "" + }, + "optionsIconLight": { + "message": "ערכות נושא בהירות לדפדפן", + "description": "" + }, + "optionsOpen": { + "message": "פתח", + "description": "" + }, + "optionsOpenManager": { + "message": "נהל עיצובים", + "description": "" + }, + "optionsPopupWidth": { + "message": "רוחב החלון הקופץ (בפיקסלים)", + "description": "" + }, + "optionsReset": { + "message": "איפוס האפשרויות לערכי ברירת המחדל", + "description": "" + }, + "optionsResetButton": { + "message": "אפס אפשרויות", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "אפשרויות נוספות", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "בעת ייבוא גיבויים לסגנון מגרסה ישנה או מ־Stylish, בדוק באופן חד פעמי אם יש עדכונים באופן ידני במנהל הסגנונות כדי לוודא שכל הסגנונות מעודכנים.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "עדכון אוטומטי של Userstyle בשעות (הגדר 0 להשבתה)", + "description": "" + }, + "optionsSyncNone": { + "message": "ללא", + "description": "" + }, + "optionsSyncConnect": { + "message": "התחבר", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "התנתק", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "סנכרן כעת", + "description": "" + }, + "optionsSyncLogin": { + "message": "היכנס", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "מושך סגנון $loaded$ מתוך $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "מפרסם סגנון $loaded$ מתוך $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "מסנכרן...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "מתחבר...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "מחובר", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "מתנתק...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "מנותק", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "הדף הנוכחי", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "מספר דפים משוער", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "הדף הבא", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "הדף הקודם", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "סה״כ דפים", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus נכשל בניתוח usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "הוספת שוליים לבנים בצדדים", + "description": "" + }, + "popupBordersTooltip": { + "message": "שימושי לעיצובים כהים ב־Chrome החדש מכיוון שהוא כבר לא מצייר את גבולות הצד", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "לחץ על־מנת לצפות במקשים החמים הזמינים", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "לחיצה על Shift או מקש ימני בעכבר פותח את מנהל העיצובים", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "תפריט פעולות", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "פתח את העורך בחלון חדש", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "מופעל גם על ידי ניתוק לשונית העורך מחלון הדפדפן,\nומושבת על ידי חיבור לשונית עורך יחידה לחלון אחר.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "עיצובים לפני הפקודות", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "מספר העיצובים המאופשרים באתר הנוכחי", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "תצוגת לייב (live)", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "החלת השינויים באופן זמני ללא שמירה.\nשמור את העיצוב על־מנת להפוך את השינויים לקבועים.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "טען מחדש את Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "החלף", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "החלף הכל", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "החלף עם", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "ייבוא עיצובים", + "description": "" + }, + "search": { + "message": "חיפוש", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "רגיש לאותיות גדולות/קטנות", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "מספר ההתאמות", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "מספר ההתאמות בקוד ובערכים ה'מוחלים על'", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "השתמש ב־/re/ לחיפוש באמצעות ביטוי regexp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "סה״כ התקנות", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "לא נמצאו עיצובים לאתר זה.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "דירוג", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "עודכן", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "התקנות שבועיות", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "הוסף מקטע נוסף", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "קוד", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "הסר סעיף", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "שחזר סעיף שהוסר", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "קיצורי מקשים", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "הגדר קיצורי מקשים", + "description": "" + }, + "sortDateNewestFirst": { + "message": "החדש ביותר ראשון", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "הישן ביותר ראשון", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "בחר שיטת מיון להחלה על העיצובים המותקנים", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "סידור תכנים", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "ביטוי ה־regexp לא תקין.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "ייפה CSS", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "הזחת @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "שמור שורות חדשות", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "חזרה לניהול", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "ביצעת שינויים בסגנון זה מבלי לשמור.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "מאופשר", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "הייבוא נכשל מ־Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "הדבק את הקוד ב־Mozilla-format", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "להתקין ';$stylename$' אל Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "נכשל בהתקנת העיצוב!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "';$stylename$' כבר מותקן. האם לדרוס?\nגרסה: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "הזן שם", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "הסגנון לא הוחל בגלל השימוש בו שגוי ב־'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "לא היה ניתן להחיל מספר כללי 'regexp()' כלל.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "סגנון זה משתמש ב- regexps תואם חלקית בניגוד למפרט CSS4 @document המצריך התאמה מלאה של כתובת אתר. קטעי ה־CSS המושפעים לא הוחלו על הדף. סגנון זה נוצר ככל הנראה ב־Stylish-for-Chrome שבודק באופן שגוי את כללי 'regexp()' מאז הגרסה הראשונה (באג ידוע).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "מספר המקטעים שלא הוחלו עקב שימוש שגוי ב־'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "בדוק RegExp", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "כרטיסיות תואמות", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "ביטוי regrxp לא תקין", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "לא תואם אף כרטיסייה", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "לא תואם לחלוטין, לכן דולג", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "רשימת לשוניות פתוחות בהתאמה (לחץ על כתובת אתר למיקוד הלשונית שלה)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "שמור", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "ניתן לפרסם את ה־Mozilla format של הקוד לאתר userstyles.org ולהשתמש בו עם Stylish הקלאסי עבור Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "עיצוב ב־Mozilla-format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "האם אתה בטוח שברצונך לעדכן את '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus לא עובד על דפים כמו זה.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "כאמצעי אבטחה, הדפדפן אוסר על הרחבות להשפיע על הדפים המובנים שלו (כמו chrome://version, הכרטיסייה החדשה הרגילה החל מ־Chrome 61, about:addons וכן הלאה), וכן על דפי הרחבות אחרים. כל דפדפן גם מגביל את הגישה לגלריית התוספים שלו (כמו חנות האינטרנט של Chrome או AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "הערך לא יכול להשמר. אנא נסה להקטין את גודל הטקסט.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "אפשר או השבת עיצוב", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "בטל", + "description": "Button label" + }, + "undoGlobal": { + "message": "בטל בכל הסעיפים", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox לא מאפשרת גישה לאתר זה.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "לא ניתן לתקשר עם הדף. אנא טען מחדש את הכרטיסייה.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus יכול לגשת לכתובות אתר file:// רק אם תיבת הסימון המתאימה עבור סיומת Stylus פעילה בדף chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "לא נמצאו עדכונים.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "כמה סגנונות הניתנים לעדכון לא נבדקו כדי להימנע מאבדן עריכות מקומיות אפשריות. ניתן לאלץ עדכונים על ידי בדיקה באופן פרטני, או על ידי הפעלת בדיקה אחרת לכל הסגנונות (עריכות מקומיות יידרסו).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "העדכון נכשל: השרת החזיר תגובה עם הקוד $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "העדכון נכשל: השרת לא זמין.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "היסטוריה של בדיקת עדכונים", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "התקן עדכון (עריכות מקומיות יידרסו)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "אילוץ עדכון ידרוס כל עריכה מקומית.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "עיצוב זה נערך באופן מקומי.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "ייתכן כי עיצוב זה נערך באופן מקומי.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "העיצוב מעודכן.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "העדכון הושלם.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "העדכונים הותקנו.", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "אנא שנה את הערך של @name or @namespace על־מנת להמנע מדריסה של עיצוב קיים.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "ציין @name בקוד", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "הכנס כאן קוד...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "הגרסה ישנה יותר מהעיצוב המותקן.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "כתוב עיצוב עבור: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "הקישור הנוכחי", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "ייצוא Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox ייבוא", + "description": "" + }, + "overwriteFileExport": { + "message": "האם ברצונך להחליף קובץ קיים?", + "description": "" + }, + "exportSavedSuccess": { + "message": "קובץ נשמר בהצלחה", + "description": "" + }, + "noFileToImport": { + "message": "כדי לייבא את הסגנונות שלך, עליך לייצא אותם תחילה.", + "description": "" + }, + "connectingDropbox": { + "message": "מתחבר אל Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "התחברות אל Dropbox זמינה רק בהרחבות המותקנות ישירות מחנות האינטרנט", + "description": "" + }, + "gettingStyles": { + "message": "טוען את כל העיצובים...", + "description": "" + }, + "zipStyles": { + "message": "מקבץ עיצובים...", + "description": "" + }, + "unzipStyles": { + "message": "מחלץ עיצובים...", + "description": "" + }, + "readingStyles": { + "message": "קורא עיצובים...", + "description": "" + }, + "uploadingFile": { + "message": "מעלה קובץ...", + "description": "" + }, + "addStyleLabel": { + "message": "כתוב עיצוב חדש", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "עוד", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "קישורים תחת הדומיין", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "השתמש בהגדרות 'חל על' כדי להגביל את כתובות האתרים שהקוד בסעיף זה חל עליהם.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "חל על", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "הצג אינפורמציית 'חל על'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "לא עובד עם CSS מוקטן (minified)", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "קישורים התואמים את ה־regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "הסר", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "לא ניתן להסיר את הערך 'חל על' האחרון", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "פרט", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "כל האתרים", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "כתובת אתר", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "קישורים המתחילים ב", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "החל את כל העדכונים", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "מחבר", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "גיבוי", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "בחר קובץ או גרור ושחרר אותו בדף זה.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "ייצא עיצובים", - "description": "" - }, - "checkAllUpdates": { - "message": "בדוקים עדכונים עבור כל העיצובים", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "בדוק שוב, לא ערכתי אף עיצוב!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "בדוק עדכונים", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "בודק...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "הקלק להסרה", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "סגור באופן אוטומטי סוגריים וגרשיים", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "הוסף סוגר באופן אוטומטי כשמקלידים את אחת מהפותחים של ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "השלמה אוטומטית בזמן הכתיבה", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "פלטות בחירת צבעים עבור צבעי CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "השתמש בטאבים יחד עם הזחה חכמה", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "מפת מקשים", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "עטיפת מילים", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "עורך שגיאות CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "הדגש", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "בחירה בלבד", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "תג תחת הסמן", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "דאבל קליק להגדלה מירבית/איפוס הגובה", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "דאבל קליק בוחר תגים", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "דוגמאות לתגים: .foo-bar-2 #aabbcc 0.32 !important\nבמצב מושבת: נבחרות מילים המופרדות בין פיסוק.", - "description": "" - }, - "cm_smartIndent": { - "message": "השתמש בהזחה חכמה", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "גודל הכרטיסייה", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "ערכת נושא", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "החלף פורמטים: HEX -> RGB -> HSL.\nלחץ Shift כדי להפוך את הכיוון.\nגם באמצעות מקשי PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "פתח את פלטת בחירת הצבעים", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "בעת שינוי", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "שמור והחל שינויים באופן אוטומטי", - "description": "" - }, - "configureStyle": { - "message": "הגדר", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "הגדר בדף הבית", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "ביטול", - "description": "" - }, - "confirmClose": { - "message": "סגור", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "השתמש בברירת מחדל", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "מחיקה", - "description": "" - }, - "confirmDiscardChanges": { - "message": "למחוק את השינויים?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "לא", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "אוקיי", - "description": "" - }, - "confirmSave": { - "message": "שמור", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "עצור", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "כן", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "הועתק אל לוח ההעתקה", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "העתק אל לוח ההעתקה", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "תאריך התקנה", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "תאריך עדכון", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "אירעה שגיאה בשימוש במסד הנתונים של Stylus. האם ברצונך לבקר בדף אינטרנט עם פתרונות אפשריים?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "ברירת מחדל", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "האם אתה בטוח שברצונך למחוק עיצוב זה?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "מחק", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "עיצוב מחדש של האינטרנט באמצעות Stylus, מנהל סגנונות משתמש. Stylus מאפשר לך להתקין בקלות עיצובים וערכות נושא עבור אתרים פופולריים רבים.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "השבת את כל העיצובים", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "השבת", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "שחרר את קובץ הגיבוי שלך בכל מקום בדף זה על־מנת לייבא אותו.", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "מחק", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "גש לשורה (או line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "ערוך עיצוב", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "ערוך", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "עריכת העיצוב $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "אפשר", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "אל תכלול את הדומיין הנוכחי", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "אל תכלול את כתובת האתר הנוכחית", - "description": "" - }, - "exportLabel": { - "message": "ייצא", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "חוות דעת", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "דף הבית", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "קישור חיצוני", - "description": "Label for external links" - }, - "externalSupport": { - "message": "תמיכה", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "תיעוד ל־Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ מתוך $numTotal$ סך־הכל", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "מסננים שהוחלו כעת אינם תואמים עיצובים", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "מצא עיצובים", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "מצא סגנונות נוספים לאתר זה", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "מוטבע", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "הצג תוצאות חיפוש בחלון זה.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "הוספה", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "שכפול", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "מושבת", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "מאופשר", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "שגיאה", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "היסטוריה", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "הבא", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "הקודם", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "איפוס", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "נשמר", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "כותרת", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "לא ידוע", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "עזרה", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "הקלד שם פקודה", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "לחץ על המקש החם", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "מארח זה הושבת בגלל באג בגרסה הנוכחית של הדפדפן בו נעשה שימוש", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "צרף לעיצוב", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "צרף את העיצוב המיובא לעיצוב הנוכחי", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "ייבא", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "דרוס עיצוב", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "הסר את התוכן של הסגנון הנוכחי והחלף אותו עם העיצוב המיובא", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "נוספו", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "זהה דולג", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "לא חוקי דולג", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "מטא דאטה והקוד עודכנו", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "קודים עודכנו", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "מטא דאטה עודכן", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "סיום ייבוא עיצובים", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "שום דבר לא השתנה.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "עיצובים הוחזרו", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "הייבוא בוטל", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "התקן עיצוב", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "העיצוב הותקן בהצלחה", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "התקן עיצוב מחדש", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "עדכן עיצוב", - "description": "Label for update button" - }, - "installUpdate": { - "message": "התקן עדכון", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "נכון לעכשיו הסגנון מעודכן מ־ $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "בדוק עדכונים", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "רישיון", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "קבל עזרה", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "מצא עיצובים", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "תרגום", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "עורך שגיאות ה־CSS אינו תומך ב־ $preprocessorname$ כמעבד מקדים", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(הגדר כלל כ: 0 = מושבת; 1 = אזהרה; 2 = שגיאה)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "הגדר $linter$ כללי תצורה", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "לחץ להגדרת linter זה", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "לא נשמר עקב הגדרות תצורה לא חוקיות אלה:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "תקלות", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "התקלות האלו נמצאו על־ידי $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "פורמט JSON לא תקין", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "על־מנת לבטל איפוסים לא רצוניים, לחץ Ctrl-Z (או Cmd-Z) בתיבת הטקסט", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "ראה רשימת חוקים מלאה", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "התרחשה שגיאה בזמן הצפייה בקובץ", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "רענון לייב (live)", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "הצגת אייקונים בעמודת 'חל על'", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "האפרת האייקונים", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus משתמש בשירות חיצוני https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "מסננים", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "עיצובים מותקנים", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "מספר הפריטים ה־'מוחלים על'", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "כ־Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "פריסת ממשק משתמש ניהול חדשה", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "רק עיצובים מושבתים", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "רק עיצובים מאופשרים", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "רק עיצובים חיצוניים", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "רק עיצובים שנוצרו באופן מקומי", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(הסגנונות שלא הותקנו דרך דף userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "רק לא עיצובי Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "רק עם עדכונים או תקלות", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "רק עיצובי Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "הצג כמות עיצובים מאופשרים", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "תיבת סימון @var לא חוקית: הערך חייב להיות 0 או 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidNumber": { - "message": "נדרש מספר", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "נדרשת מחרוזת בתוך גרשיים", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "נדרשת מילה", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "נדרשים תווים: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "נדרש מידע EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "noStylesForSite": { - "message": "לא הותקנו עיצובים עבור אתר זה.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "ניהול", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "אפשרויות", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "פתח את מנהל העיצובים", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "פעולות", - "description": "" - }, - "optionsAdvanced": { - "message": "מתקדם", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "הוספת 'מחק' בתפריט העורך", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "חשוף iframes באמצעות HTML [stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "חושף את תחום האתר העליון בכל iframe.\nמאפשר כתיבת CSS ספציפית ל־iframe כך:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "כתוב עיצוב חדש בתור usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "צבע רקע בעת השבתה", - "description": "" - }, - "optionsBadgeNormal": { - "message": "צבע רקע", - "description": "" - }, - "optionsCheck": { - "message": "עדכן עיצובים", - "description": "" - }, - "optionsCheckUpdate": { - "message": "בדוק והתקן את כל העדכונים הזמינים", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "תג על האייקון בסרגל הכלים", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "אייקון בסרגל הכלים", - "description": "" - }, - "optionsCustomizePopup": { - "message": "חלון קופץ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "עדכונים", - "description": "" - }, - "optionsCustomizeSync": { - "message": "סנכרון לענן", - "description": "" - }, - "optionsHeading": { - "message": "אפשרויות", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "ערכות נושא כהות לדפדפן", - "description": "" - }, - "optionsIconLight": { - "message": "ערכות נושא בהירות לדפדפן", - "description": "" - }, - "optionsOpen": { - "message": "פתח", - "description": "" - }, - "optionsOpenManager": { - "message": "נהל עיצובים", - "description": "" - }, - "optionsPopupWidth": { - "message": "רוחב החלון הקופץ (בפיקסלים)", - "description": "" - }, - "optionsReset": { - "message": "איפוס האפשרויות לערכי ברירת המחדל", - "description": "" - }, - "optionsResetButton": { - "message": "אפס אפשרויות", - "description": "" - }, - "optionsSubheading": { - "message": "אפשרויות נוספות", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "בעת ייבוא גיבויים לסגנון מגרסה ישנה או מ־Stylish, בדוק באופן חד פעמי אם יש עדכונים באופן ידני במנהל הסגנונות כדי לוודא שכל הסגנונות מעודכנים.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "עדכון אוטומטי של Userstyle בשעות (הגדר 0 להשבתה)", - "description": "" - }, - "optionsSyncNone": { - "message": "ללא", - "description": "" - }, - "optionsSyncConnect": { - "message": "התחבר", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "התנתק", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "סנכרן כעת", - "description": "" - }, - "optionsSyncLogin": { - "message": "היכנס", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "מושך סגנון $loaded$ מתוך $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "מפרסם סגנון $loaded$ מתוך $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "מסנכרן...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "מתחבר...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "מחובר", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "מתנתק...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "מנותק", - "description": "" - }, - "paginationCurrent": { - "message": "הדף הנוכחי", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "מספר דפים משוער", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "הדף הבא", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "הדף הקודם", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "סה״כ דפים", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus נכשל בניתוח usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupBorders": { - "message": "הוספת שוליים לבנים בצדדים", - "description": "" - }, - "popupBordersTooltip": { - "message": "שימושי לעיצובים כהים ב־Chrome החדש מכיוון שהוא כבר לא מצייר את גבולות הצד", - "description": "" - }, - "popupHotkeysTooltip": { - "message": "לחץ על־מנת לצפות במקשים החמים הזמינים", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "לחיצה על Shift או מקש ימני בעכבר פותח את מנהל העיצובים", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "תפריט פעולות", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "פתח את העורך בחלון חדש", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "מופעל גם על ידי ניתוק לשונית העורך מחלון הדפדפן,\nומושבת על ידי חיבור לשונית עורך יחידה לחלון אחר.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "עיצובים לפני הפקודות", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "מספר העיצובים המאופשרים באתר הנוכחי", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "תצוגת לייב (live)", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "החלת השינויים באופן זמני ללא שמירה.\nשמור את העיצוב על־מנת להפוך את השינויים לקבועים.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "טען מחדש את Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "החלף", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "החלף הכל", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "החלף עם", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "ייבוא עיצובים", - "description": "" - }, - "search": { - "message": "חיפוש", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "רגיש לאותיות גדולות/קטנות", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "מספר ההתאמות", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "מספר ההתאמות בקוד ובערכים ה'מוחלים על'", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "השתמש ב־/re/ לחיפוש באמצעות ביטוי regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "סה״כ התקנות", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "לא נמצאו עיצובים לאתר זה.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "דירוג", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "עודכן", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "התקנות שבועיות", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "הוסף מקטע נוסף", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "קוד", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "הסר סעיף", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "שחזר סעיף שהוסר", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "קיצורי מקשים", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "הגדר קיצורי מקשים", - "description": "" - }, - "sortDateNewestFirst": { - "message": "החדש ביותר ראשון", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "הישן ביותר ראשון", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "בחר שיטת מיון להחלה על העיצובים המותקנים", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortStylesHelpTitle": { - "message": "סידור תכנים", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "ביטוי ה־regexp לא תקין.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "ייפה CSS", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "הזחת @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "שמור שורות חדשות", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "חזרה לניהול", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "ביצעת שינויים בסגנון זה מבלי לשמור.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "מאופשר", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "הייבוא נכשל מ־Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "הדבק את הקוד ב־Mozilla-format", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "להתקין ';$stylename$' אל Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "נכשל בהתקנת העיצוב!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "';$stylename$' כבר מותקן. האם לדרוס?\nגרסה: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "הזן שם", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "הסגנון לא הוחל בגלל השימוש בו שגוי ב־'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "לא היה ניתן להחיל מספר כללי 'regexp()' כלל.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "סגנון זה משתמש ב- regexps תואם חלקית בניגוד למפרט CSS4 @document המצריך התאמה מלאה של כתובת אתר. קטעי ה־CSS המושפעים לא הוחלו על הדף. סגנון זה נוצר ככל הנראה ב־Stylish-for-Chrome שבודק באופן שגוי את כללי 'regexp()' מאז הגרסה הראשונה (באג ידוע).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "מספר המקטעים שלא הוחלו עקב שימוש שגוי ב־'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "בדוק RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "כרטיסיות תואמות", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "ביטוי regrxp לא תקין", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "לא תואם אף כרטיסייה", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestPartial": { - "message": "לא תואם לחלוטין, לכן דולג", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "רשימת לשוניות פתוחות בהתאמה (לחץ על כתובת אתר למיקוד הלשונית שלה)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "שמור", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "ניתן לפרסם את ה־Mozilla format של הקוד לאתר userstyles.org ולהשתמש בו עם Stylish הקלאסי עבור Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "עיצוב ב־Mozilla-format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "האם אתה בטוח שברצונך לעדכן את '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "stylusUnavailableForURL": { - "message": "Stylus לא עובד על דפים כמו זה.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "כאמצעי אבטחה, הדפדפן אוסר על הרחבות להשפיע על הדפים המובנים שלו (כמו chrome://version, הכרטיסייה החדשה הרגילה החל מ־Chrome 61, about:addons וכן הלאה), וכן על דפי הרחבות אחרים. כל דפדפן גם מגביל את הגישה לגלריית התוספים שלו (כמו חנות האינטרנט של Chrome או AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "הערך לא יכול להשמר. אנא נסה להקטין את גודל הטקסט.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "אפשר או השבת עיצוב", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "בטל", - "description": "Button label" - }, - "undoGlobal": { - "message": "בטל בכל הסעיפים", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox לא מאפשרת גישה לאתר זה.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableContentScript": { - "message": "לא ניתן לתקשר עם הדף. אנא טען מחדש את הכרטיסייה.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus יכול לגשת לכתובות אתר file:// רק אם תיבת הסימון המתאימה עבור סיומת Stylus פעילה בדף chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "לא נמצאו עדכונים.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "כמה סגנונות הניתנים לעדכון לא נבדקו כדי להימנע מאבדן עריכות מקומיות אפשריות. ניתן לאלץ עדכונים על ידי בדיקה באופן פרטני, או על ידי הפעלת בדיקה אחרת לכל הסגנונות (עריכות מקומיות יידרסו).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "העדכון נכשל: השרת החזיר תגובה עם הקוד $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "העדכון נכשל: השרת לא זמין.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "היסטוריה של בדיקת עדכונים", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "התקן עדכון (עריכות מקומיות יידרסו)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "אילוץ עדכון ידרוס כל עריכה מקומית.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "עיצוב זה נערך באופן מקומי.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "ייתכן כי עיצוב זה נערך באופן מקומי.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "העיצוב מעודכן.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "העדכון הושלם.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "העדכונים הותקנו.", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "אנא שנה את הערך של @name or @namespace על־מנת להמנע מדריסה של עיצוב קיים.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssEditorNamePlaceholder": { - "message": "ציין @name בקוד", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "הכנס כאן קוד...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "הגרסה ישנה יותר מהעיצוב המותקן.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "כתוב עיצוב עבור: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "הקישור הנוכחי", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "ייצוא Dropbox", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox ייבוא", - "description": "" - }, - "overwriteFileExport": { - "message": "האם ברצונך להחליף קובץ קיים?", - "description": "" - }, - "exportSavedSuccess": { - "message": "קובץ נשמר בהצלחה", - "description": "" - }, - "noFileToImport": { - "message": "כדי לייבא את הסגנונות שלך, עליך לייצא אותם תחילה.", - "description": "" - }, - "connectingDropbox": { - "message": "מתחבר אל Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "התחברות אל Dropbox זמינה רק בהרחבות המותקנות ישירות מחנות האינטרנט", - "description": "" - }, - "gettingStyles": { - "message": "טוען את כל העיצובים...", - "description": "" - }, - "zipStyles": { - "message": "מקבץ עיצובים...", - "description": "" - }, - "unzipStyles": { - "message": "מחלץ עיצובים...", - "description": "" - }, - "readingStyles": { - "message": "קורא עיצובים...", - "description": "" - }, - "uploadingFile": { - "message": "מעלה קובץ...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/hr/messages.json b/_locales/hr/messages.json index 9e26dfee..d058a54d 100644 --- a/_locales/hr/messages.json +++ b/_locales/hr/messages.json @@ -1 +1,1586 @@ -{} \ No newline at end of file +{ + "addStyleTitle": { + "message": "Add Style", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Add", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Applies to: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "and more", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs on the domain", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Applies to", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs matching the regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Remove", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specify", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Everything", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs starting with", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Apply all updates", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Check all styles for updates", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Check for update", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Checking...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Are you sure you want to delete this style?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Delete", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disable", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit Style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Enable", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Help", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installed Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Write new style", + "description": "Label for the button to go to the add style page" + } +} \ No newline at end of file diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index c90c0166..7350c01b 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -1,1595 +1,1586 @@ { - "addStyleLabel": { - "message": "Új stílus írása", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Stílus hozzáadása", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Átlátszatlanság", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Hozzáadás", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Érvényes erre:$applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Stílus hozzáadása", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Átlátszatlanság", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Hozzáadás", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Érvényes erre:$applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "és ennél is több", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL-ek a tartományban", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Az \"Érvényes erre\" beállítással korlártozható, hogy milyen URL-ekre vonatkozik az itt lévő kód.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Érvényes erre", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Információ arról, hogy mire érvényes", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Nem működik minimalizált CSS-sel", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "Reguláris kifejezésre (regexp) illeszkedő URL-ek", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Eltávolítás", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Nem lehet eltávolítani az utolsó 'érvényes erre' bejegyzést", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Szűkítés", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Minden", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL-ek adott kezdettel", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Minden módosítás alkalmazása", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Szerző", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Biztonsági mentés", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Válassz ki egy fájlt vagy húzd erre az oldalra!", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Stílusok exportálása", + "description": "" + }, + "checkAllUpdates": { + "message": "Összes stílus frissítésének ellenőrzése", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Ellenőrizd újra, nem módosítottam egy stílust sem!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Frissítések ellenőrzése", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Ellenőrzés...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Kattints az eltávolításhoz", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Zárójelek és idézőjelek automatikus bezárása", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Nyitó '([{'zárójel gépelésekor lezáró ')]}' zárójel automatikus hozzáadása", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Automatikus kiegészítés gépeléskor", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Színválasztó CSS-színekhez", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Tabulátorok használata intelligens behúzásra", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Billentyűműveletek", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Automatikus sortörés", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Kijelölés", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Csak kiválasztás", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Kurzor alatti kifejezés", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Kattints duplán a magasság maximalizálásához/visszaállításához", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Kifejezések kijelölése dupla kattintással", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Példák kifejezésekre: .valami-2 #aabbcc 0.32 !important\nAmikor ki van kapcsolva: a központosítással elválasztott szavak ki lesznek jelölve.", + "description": "" + }, + "cm_smartIndent": { + "message": "Intelligens behúzás", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tabulátorméret", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Téma", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Formátumváltás: HEX -> RGB -> HSL.\nShift-kattintás megfordítja az irányt.\nA PgUp (PageUp) és PgDn (PageDown) billentyűkkel is lehet váltani.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Színválasztó megnyitása", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "változtatáskor", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Automatikus mentés és alkalmazás", + "description": "" + }, + "configureStyle": { + "message": "Konfigurálás", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Beállítás a honlapon", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Mégsem", + "description": "" + }, + "confirmClose": { + "message": "Bezárás", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Alapértelmezés használata", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Törlés", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Elveted a változásokat?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Nem", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Mentés", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Állj", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Igen", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Vágólapra másolva", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Másolás vágólapra", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Telepítés dátuma", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Frissítés dátuma", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Hiba történt a Stylus adatbázisának használatakor. Szeretnéd meglátogatni a lehetséges megoldásokat tartalmazó weboldalt?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "alapértelmezett", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Biztos, hogy törölni akarod ezt a stílust?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Törlés", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Tervezd újra a webet a Stylus stíluskezelővel. A Stylus lehetővé teszi a témák és egyéni külsők egyszerű telepítését sok népszerű oldalhoz.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Összes stílus kikapcsolása", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Letiltás", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Ejtsd a biztonsági másolat fájlt bárhova erre az oldalra az importáláshoz!", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Törlés", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Sorra (vagy sor:oszlopra) ugrás", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Stílus szerkesztése", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Szerkesztés", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "A(z) $stylename$ stílus szerkesztése", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Engedélyezés", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Aktuális tartományt kivéve", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Aktuális URL-t kivéve", + "description": "" + }, + "exportLabel": { + "message": "Exportálás", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Visszajelzés", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Kezdőoldal", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Külső hivatkozás", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Támogatás", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Usercss dokumentáció", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ mutatva $numTotal$-ból/-ből", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Nincs illeszkedés a jelenleg alkalmazott szűrőkre", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Stílusok keresése", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "További stílusok keresése ehhez az oldalhoz", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Helyben", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Keresési eredmények megjelenítése ebben az ablakban.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Hozzáadás", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Klónozás", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Letiltott", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Engedélyezve", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Hiba", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Előzmények", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Következő", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Előző", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "VIsszaállítás", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Mentve", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Cím", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Ismeretlen", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Segítség", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Írj be egy parancsot", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Gyorsbillentyű", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Hozzáfűzés stílushoz", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Az importált stílus hozzáadása a jelenlegi stílushoz", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importálás", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Stílus felülírása", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "A jelenlegi stílus tartalmának elvetése és annak felülírása az importált stílussal", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "hozzáadva", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "kihagyott egyezések", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "kihagyott érvénytelen", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "metainformáció és kód frissítve", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "frissített kód", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "metainfó frissítve", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "A stílusok importálása befejeződött.", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nincs változás.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "stílusok visszavonva", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Az importálás vissza lett vonva", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Stílus telepítése", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Stílus telepítve", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Stílus újratelepítése", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Stílus frissítése", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Frissítés telepítése", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "A stílus jelenleg innen frissül: $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Frissítések keresése", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licenc", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Segítség kérése", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Szerezz be stílusokat", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Fordítás", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "A CSSLint nem támogatja a(z) $preprocessorname$ nevű előfeldolgozót", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Szabály megadása: 0 = letiltva; 1 = figyelmeztetés; 2 = hiba)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "$linter$ szabály beállítása", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Linter beállítása", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Nincs mentve a következő érvénytelen beállítások miatt:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problémák", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "$link$a következő hibákat találta:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Érvénytelen JSON-formátum", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Egy véletlen visszaállítás visszavonásához nyomj Ctrl-Z-t (vagy Cmd-Z) a szövegdobozon belül)", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Összes szabály listája", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Hiba történt a fájl figyelése közben", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Valós idejű újratöltés", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Faviconok az 'Érvényes erre' oszlopban", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Megjelenítés szürkítve", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "A Stylus külső szolgáltatást használ (https://www.google.com/s2/favicons)", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Szűrők", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Telepített stílusok", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "'Érvényes erre' elemek kijelzendő száma", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "Usercss-ként", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Új kezelői felület", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Csak a letiltott stílusok", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Csak a telepített stílusok", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Csak külső stílusok", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Csak helyileg létrehozott stílusok", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(a stílusok nem a userstyles.org egyik oldaláról települtek)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Csak nem Usercss stílusok", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Csak a frissíthetők vagy problémásak", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Csak Usercss stílusok", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Aktív stílusok számlálójának mutatása", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Érvénytelen jelölő négyzet @var: az érték csak 0 vagy 1 lehet", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Érvénytelen szín @var: a(z) $color$ nem szín", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Érvénytelen változó @var (típus: $type$): az érték csak szám vagy tömb lehet", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Érvénytelen változó @var (típus: $type$): többféle egység van megadva", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Érvénytelen változó @var (típus: $type$): a tömb túl sok elemet tartalmaz", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Érvénytelen változó @var (típus: $type$): csak szám, karakterlánc vagy null típusú elem lehet a tömbben", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett értéke null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték kisebb, mint a minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nagyobb, mint a maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nem a lépésköz többszöröse", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Érvénytelen változó @var (típus: $type$): a(z) '$units$' nem érvényes egység", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Érvénytelen kiválasztó lista @var: az alapértelmezett érték tömb vagy objektum lehet csak", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Érvénytelen kiválasztó lista @var: a tömbön/objektumon belüli érték csak karakterlánc lehet", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Érvénytelen kiválasztó lista @var: a lista üres", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Érvénytelen kiválasztó lista @var: a listaelem címkéje üres", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Érvénytelen kiválasztó lista @var: egynél több alapértelmezett elem van megadva", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Érvénytelen kiválasztó lista @var: egy listaelem kétszer szerepel", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Érvénytelen kiválasztó lista @var: az érték nem található a listaelemek között", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Érvénytelen URL-protokoll. Csak 'http' vagy 'https' engedett: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Érvénytelen verziószám. Az érték nem illeszkedik a SemVer mintájához: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Várt elem: szám", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Várt elem: idézőjelek közti karakterlánc", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Várt elem: szó", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Várt karakterek: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Várt elem: EOT-adat", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Kötelező metaadat hiányzik: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Érvénytelen JSON: a(z) $literal$ nem érvényes JSON-karakterlánc (literális)", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Ismeretlen metaadat: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Ismeretlen @$varkey$ változó, típus: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Ismeretlen @preprocesszor (előfeldolgozó): $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Nincs telepítve stílus ehhez az oldalhoz.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Kezelés", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Stíluskezelő megnyitása", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Műveletek", + "description": "" + }, + "optionsAdvanced": { + "message": "Haladó", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "'Törlés' parancs a szerkesztő helyi menüjében", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "iframe-ek kitevése HTML[stylus-iframe]-en keresztül", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Az oldal felső tartományának jelölése minden iframe-ben.\nLehetővé teszi az iframe-specifikus CSS írását, mint pl.:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Új stílus írása usercss-ként", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Háttérszín, amikor le van tiltva", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Háttérszín", + "description": "" + }, + "optionsCheck": { + "message": "Stílusok frissítése", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Az összes frissítés ellenőrzése és telepítése", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Ikon képe az eszköztáron", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Eszköztárikon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Felugró ablak", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Frissítések", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Szinkronizálás felhővel", + "description": "" + }, + "optionsHeading": { + "message": "Beállítások", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Sötét böngészőtémák", + "description": "" + }, + "optionsIconLight": { + "message": "Világos böngészőtémák", + "description": "" + }, + "optionsOpen": { + "message": "Megnyitás", + "description": "" + }, + "optionsOpenManager": { + "message": "Stílusok kezelése", + "description": "" + }, + "optionsPopupWidth": { + "message": "Felugró ablak szélessége (pixelben)", + "description": "" + }, + "optionsReset": { + "message": "Beállítások visszaállítása alapértelmezett értékre", + "description": "" + }, + "optionsResetButton": { + "message": "Alapértelmezés visszaállítása", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "További beállítások", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Amikor régebbi verzióból vagy a Stylishból importálsz stílusokat, egyszer manuálisan frissítsd a stílusokat a stíluskezelőben, hogy megbizonyosodj afelől, hogy mindegyik frissítve van!", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Felhasználói stílus automatikus frissítési időköze órában (0=kikapcsolva)", + "description": "" + }, + "optionsSyncNone": { + "message": "Nincs", + "description": "" + }, + "optionsSyncConnect": { + "message": "Kapcsolódás", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Kapcsolat bontása", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Szinkronizálás most", + "description": "" + }, + "optionsSyncLogin": { + "message": "Bejelentkezés", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Stílusok helyi frissítése (pull): $loaded$/$total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Stílusok távoli frissítése (push): $loaded$/$total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Szinkronizálás...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Kapcsolódás...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Kapcsolódva", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Kapcsolat bontása...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Nincs kapcsolat", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Jelenlegi oldal", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Becsült oldalak száma", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Következő oldal", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Előző oldal", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Összes oldal", + "description": "" + }, + "parseUsercssError": { + "message": "A Stylus nem tudta elemezni a usercss-t", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Stílusok újrarendezése a felugró ablakban átkapcsoláskor", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Fehér szegély az oldalakon", + "description": "" + }, + "popupBordersTooltip": { + "message": "Hasznos az új Chrome sötét témáinál, mert nem színezi át az oldalszegélyeket", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, a numpaden is - be-/kikapcsolja az n-nedik stílust (a 0 10-et jelent)\n- az adott betűvel kezdődő első stílust kapcsolja be/ki \n kapcsolgatás helyett megnyitja a szerkesztőt\n listázott stílusokat engedélyez\n listázott stílusokat tilt le\n és <`> (fordított félidézőjel) - kezdeti állapotban engedélyezett stílusokat kapcsol; nem vonatkozik azokra a stílusokra, amiket később engedélyeztél, mialatt a felugró ablakocska nyitva volt, hogy vissza tudd állítani a kezdeti kiválasztást tesztelés után: egyszerűen tilts le mindent, majd pl. vagy \nTovábbi információ a wikiben", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Elérhető gyorsbillentyűk megtekintése", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift+kattintás vagy jobb kattintás: a stíluskezelő megnyitása a jelenlegi oldalra érvényes stílusokkal", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Műveletmenü", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Szerkesztő megnyitása új ablakban", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "A fül a böngésző ablakától történő leválasztásával is engedélyezhető, és letiltható a fül egy másik ablakhoz való hozzácsatolásával.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Stílusnevek a parancsok előtt", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "A jelenlegi oldalon aktív stílusok száma", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Valós idejű előnézet", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Átmenetileg alkalmazza a változtatásokat mentés nélkül.\nMentsd a stílust, hogy a változtatások véglegesek legyenek!", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Csere", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Az összes cseréje", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Csere a következővel", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Stílusok importálása", + "description": "" + }, + "search": { + "message": "Keresés", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Kis- és nagybetű megkülönböztetése", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Illeszkedések száma", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Illeszkedések száma a kódban és célértékek", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Használd a /re/ szintaxist a regexp kereséshez", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Összes telepítés", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Nem találhatók stílusok ehhez az oldalhoz.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Értékelés", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Frissítve", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Heti telepítések", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Új szakasz hozzáadása", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Kód", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Szekció eltávolítása", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Eltávolított szekció visszaállítása", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Gyorsbillentyűk", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Gyorsbillentyűk megadása", + "description": "" + }, + "sortDateNewestFirst": { + "message": "újabb elöl", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "régebbi elöl", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Telepített stílusok sorbarendezésének módja", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Cím - növekvő sorrend", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Cím - csökkenő sorrend", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "A legördülő menüben válaszhatjuk ki, hogyan szeretnénk sorbarendezni a telepített stílusok bejegyzéseit. Az alapértelmezett beállítás a bejegyzések címei szerinti növekvő (A-tól Z-ig) sorrend. A „Cím - csökkenő sorrend” csoportban megadott rendezési módok csökkenő (Z-től A-ig) sorrendben rendezik a címeket.\nEgyéb beállításokkal több szempont alapján is rendezhetők a bejegyzések. Tekintsünk erre úgy, mint egy többoszlopos, rendezhető táblázatra, amelyben minden egyes (a plusz jelek között) kiválasztott kategória egy oszlopot vagy egy csoportot jelképez.\nPéldául, ha az van beállítva, hogy „Engedélyezve (első) + Cím”, az engedélyezett bejegyzések kerülnek a lista tetejére, majd az engedélyezett és a letiltott bejegyzések címei külön-külön, növekvő (A-tól Z-ig) sorrendben jelennek meg.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Tartalom rendezése", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Érvénytelen reguláris kifejezés.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Csinosít", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports behúzása", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Új sorok megtartása", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Vissza a kezeléshez", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Nem mentetted a stílusban lévő változásokat.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Engedélyezve", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Nem sikerült importálni Mozilla formátumból", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla formátumú kód beillesztése", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Telepíted a(z) „$stylename$” nevű stílust a Stylusba?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "A stílus telepítése nem sikerült!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "„$stylename$” már telepítve van. Felülírod?\nVerzió: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Írj be egy nevet!", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-formátum", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "A stílus nem lett alkalmazva a „regexp()” helytelen használata miatt", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Néhány „regexp()” szabály nem lefordítható.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "A stílus olyan részlegesen illeszkedő reguláris kifejezéseket használ, amelyek sértik aCSS4@dokumentumspecifikációt, amely megköveteli az URL teljes illeszkedését. Az érintett CSS-szekciók nem kerültek alkalmazásra az oldalon. A stílus valószínűleg a Stylish-for-Chrome kiegészítőben készült, amely helytelenül ellenőrzi a „regexp()” szabályokat a legelső verziótól fogva (ismert hiba).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "A nem alkalmazott szeckiók száma helytelen 'regexp()' használat miatt", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp tesztelése", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Illeszkedő fülek", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Kihagyott, érvénytelen reguláris kifejezések", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Nincs illeszkedő fül", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Megjegyzés: használj egy \\-jelet speciális karakterek elrejtéséhez a regexp beviteli mezőben, amely automatikusan két \\-jellé (\\\\) lesz alakítva a CSS stíluskódban idézett karakterláncokban.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Nincs teljes egyezés, így ki vagy hagyva", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Illeszkedő megnyitott fülek megjelenítése (kattints az URL-re az arra a fülre való ugráshoz)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Mentés", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "A Mozilla formátumú kódot beküldheted a userstyles.org-ra és használhatod a klasszikus Stylish Firefoxkiegészítővel.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla formátumú stílus", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Biztos, hogy frissíteni akarod a(z) „$stylename$” stílust?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "A stílus módosítva lett a szerkesztőn kívül. Szeretnéd újratölteni?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "A Stylus nem működik az ilyen oldalakon.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Biztonsági okokból a böngésző megtiltja, hogy a kiegészítők változtatásokat tegyenek a beépített oldalain (pl. chrome://verzió, a Chrome 61 alapértelmezett „új lap” oldala, about:addons és így tovább) valamint más kiterjesztések oldalain. Ezen kívül mindegyik böngésző korlátozza a saját kiegészítőgalériájának elérését (pl. Chrome webáruház vagy a Mozilla kiegészítők oldala)", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Az értéket nem lehet menteni. Próbáld meg csökkenteni a szövegmennyiséget!", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Stílus be-/kikapcsolása", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Visszavonás", + "description": "Button label" + }, + "undoGlobal": { + "message": "Visszavonás mindegyik szekcióban", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "A Firefox megtiltja ennek az oldalnak az elérését.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Az elérés engedélyezéséhez nyisd meg az -ot, kattints jobb egérgombbal, majd „Új”, „Logikai”, és illeszd be, hogy , és kattints az OK-ra, OK, és töltsd újra az oldalt!", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "A Firefox 60-ban vagy annál újabb verzióban az AMO doménjét is el kell távolítanod a -ban levő -ból.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Csak a Firefox 59 vagy annál újabb állítható be az ilyen CSP-védett oldalak stílusának átszabása WebExtensions kiegészítőkön keresztül.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Nem sikerült az oldallal történő kommunikáció. Próbáld meg újratölteni az oldalt!", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "A Stylus csak akkor képes hozzáférni a file:// URL-ekhez, ha engedélyezed az erre vonatkozó beállítást a Stylus kiegészítőre a chrome://extensions oldalon.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "A Stylus nem tud bizonyos fájltípusokhoz hozzáférni (pl. PDF- & JSON-fájlokhoz)", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nem találhatók frissítések.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Egyes frissíthető stílusok nem lettek ellenőrizve, nehogy elvesszenek a helyi változtatások. A frissítéseket lehet erőltetni egyéni ellenőrzéssel külön-külön vagy az összes stílus ismételt ellenőrzésével (ez felülírja a helyi módosításokat).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Sikertelen frissítés: a szerver $code$kóddal válaszolt.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Sikertelen frissítés: nem érhető el a szerver.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Frissítések ellenőrzésének előzményei", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Frissítés telepítése (a helyi módosítások felül lesznek írva)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Egy frissítés erőltetése minden helyi szerkesztést felül fog írni.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Ez a stílus helyileg lett szerkesztve.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Lehet, hogy ezt a stílust helyileg szerkesztették", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "A stílus legfrissebb verziója van telepítve.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "A frissítés befejeződött.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Frissítve:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Kérlek, módosítsd a @name vagy a @namespace értékét, nehogy felül legyen írva az egyik létező stílus!", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "A stílust frissítették vagy törölték, miután a beállítóablak megjelent. Ezek a változók nem kerültek mentésre, nehogy megsérüljön a stílus metaadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Adj meg egy @name-et a kódban", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Le legyen cserélve az alapértelmezett sablon az új Usercss stílusokhoz a jelenlegi kóddal?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Az üres @name lecseréli az alapértelmezett sablont", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Írj kódot ide…", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "A verzió régebb a telepített stílusnál", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Stílus írása a következőhöz:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "ehhez az URL-hez", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Exportálás Dropboxba", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Importálás Dropboxból", + "description": "" + }, + "overwriteFileExport": { + "message": "Felülírjuk a létező fájlt?", + "description": "" + }, + "exportSavedSuccess": { + "message": "A fájl sikeresen elmentve.", + "description": "" + }, + "noFileToImport": { + "message": "A stílusok importálásához előbb exportálni kell őket.", + "description": "" + }, + "connectingDropbox": { + "message": "Kapcsolódás Dropboxhoz...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Dropboxhoz csak közvetlenül a web-boltból telepített alkalmazásból lehet kapcsolódni.", + "description": "" + }, + "gettingStyles": { + "message": "Minden stílus fogadása...", + "description": "" + }, + "zipStyles": { + "message": "Stílusok tömörítése...", + "description": "" + }, + "unzipStyles": { + "message": "Stílusok kibontása...", + "description": "" + }, + "readingStyles": { + "message": "Stílusok olvasása...", + "description": "" + }, + "uploadingFile": { + "message": "Fájl feltöltése...", + "description": "" + }, + "addStyleLabel": { + "message": "Új stílus írása", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "és ennél is több", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL-ek a tartományban", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Az \"Érvényes erre\" beállítással korlártozható, hogy milyen URL-ekre vonatkozik az itt lévő kód.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Érvényes erre", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Információ arról, hogy mire érvényes", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nem működik minimalizált CSS-sel", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Reguláris kifejezésre (regexp) illeszkedő URL-ek", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Eltávolítás", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Nem lehet eltávolítani az utolsó 'érvényes erre' bejegyzést", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Szűkítés", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Minden", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL-ek adott kezdettel", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Minden módosítás alkalmazása", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Szerző", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Biztonsági mentés", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Válassz ki egy fájlt vagy húzd erre az oldalra!", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Stílusok exportálása", - "description": "" - }, - "checkAllUpdates": { - "message": "Összes stílus frissítésének ellenőrzése", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Ellenőrizd újra, nem módosítottam egy stílust sem!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Frissítések ellenőrzése", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Ellenőrzés...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Kattints az eltávolításhoz", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Zárójelek és idézőjelek automatikus bezárása", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Nyitó '([{'zárójel gépelésekor lezáró ')]}' zárójel automatikus hozzáadása", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automatikus kiegészítés gépeléskor", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Színválasztó CSS-színekhez", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Tabulátorok használata intelligens behúzásra", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Billentyűműveletek", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Automatikus sortörés", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Kijelölés", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Csak kiválasztás", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Kurzor alatti kifejezés", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Kattints duplán a magasság maximalizálásához/visszaállításához", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Kifejezések kijelölése dupla kattintással", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Példák kifejezésekre: .valami-2 #aabbcc 0.32 !important\nAmikor ki van kapcsolva: a központosítással elválasztott szavak ki lesznek jelölve.", - "description": "" - }, - "cm_smartIndent": { - "message": "Intelligens behúzás", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabulátorméret", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Téma", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Formátumváltás: HEX -> RGB -> HSL.\nShift-kattintás megfordítja az irányt.\nA PgUp (PageUp) és PgDn (PageDown) billentyűkkel is lehet váltani.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Színválasztó megnyitása", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "változtatáskor", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Automatikus mentés és alkalmazás", - "description": "" - }, - "configureStyle": { - "message": "Konfigurálás", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Beállítás a honlapon", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Mégsem", - "description": "" - }, - "confirmClose": { - "message": "Bezárás", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Alapértelmezés használata", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Törlés", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Elveted a változásokat?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nem", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Mentés", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Állj", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Igen", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Vágólapra másolva", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Másolás vágólapra", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "Telepítés dátuma", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Frissítés dátuma", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Hiba történt a Stylus adatbázisának használatakor. Szeretnéd meglátogatni a lehetséges megoldásokat tartalmazó weboldalt?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "alapértelmezett", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Biztos, hogy törölni akarod ezt a stílust?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Törlés", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Tervezd újra a webet a Stylus stíluskezelővel. A Stylus lehetővé teszi a témák és egyéni külsők egyszerű telepítését sok népszerű oldalhoz.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Összes stílus kikapcsolása", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Letiltás", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Ejtsd a biztonsági másolat fájlt bárhova erre az oldalra az importáláshoz!", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "Törlés", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Sorra (vagy sor:oszlopra) ugrás", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Stílus szerkesztése", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Szerkesztés", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "A(z) $stylename$ stílus szerkesztése", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Engedélyezés", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Aktuális tartományt kivéve", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Aktuális URL-t kivéve", - "description": "" - }, - "exportLabel": { - "message": "Exportálás", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Visszajelzés", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Kezdőoldal", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Külső hivatkozás", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Támogatás", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss dokumentáció", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mutatva $numTotal$-ból/-ből", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Nincs illeszkedés a jelenleg alkalmazott szűrőkre", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Stílusok keresése", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "További stílusok keresése ehhez az oldalhoz", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Helyben", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Keresési eredmények megjelenítése ebben az ablakban.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Hozzáadás", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klónozás", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Letiltott", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Engedélyezve", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Hiba", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Előzmények", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Következő", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Előző", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "VIsszaállítás", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Mentve", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Cím", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Ismeretlen", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Segítség", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Írj be egy parancsot", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Gyorsbillentyű", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Hozzáfűzés stílushoz", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Az importált stílus hozzáadása a jelenlegi stílushoz", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importálás", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Stílus felülírása", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "A jelenlegi stílus tartalmának elvetése és annak felülírása az importált stílussal", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "hozzáadva", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "kihagyott egyezések", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "kihagyott érvénytelen", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "metainformáció és kód frissítve", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "frissített kód", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "metainfó frissítve", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "A stílusok importálása befejeződött.", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nincs változás.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stílusok visszavonva", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Az importálás vissza lett vonva", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Stílus telepítése", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stílus telepítve", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Stílus újratelepítése", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Stílus frissítése", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Frissítés telepítése", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "A stílus jelenleg innen frissül: $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Frissítések keresése", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licenc", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Segítség kérése", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Szerezz be stílusokat", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Fordítás", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "A CSSLint nem támogatja a(z) $preprocessorname$ nevű előfeldolgozót", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Szabály megadása: 0 = letiltva; 1 = figyelmeztetés; 2 = hiba)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$ szabály beállítása", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Linter beállítása", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nincs mentve a következő érvénytelen beállítások miatt:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problémák", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$a következő hibákat találta:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Érvénytelen JSON-formátum", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Egy véletlen visszaállítás visszavonásához nyomj Ctrl-Z-t (vagy Cmd-Z) a szövegdobozon belül)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Összes szabály listája", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Hiba történt a fájl figyelése közben", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "Valós idejű újratöltés", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Faviconok az 'Érvényes erre' oszlopban", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Megjelenítés szürkítve", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "A Stylus külső szolgáltatást használ (https://www.google.com/s2/favicons)", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Szűrők", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Telepített stílusok", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "'Érvényes erre' elemek kijelzendő száma", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercss-ként", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Új kezelői felület", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Csak a letiltott stílusok", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Csak a telepített stílusok", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Csak külső stílusok", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Csak helyileg létrehozott stílusok", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(a stílusok nem a userstyles.org egyik oldaláról települtek)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Csak nem Usercss stílusok", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Csak a frissíthetők vagy problémásak", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Csak Usercss stílusok", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Aktív stílusok számlálójának mutatása", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Érvénytelen jelölő négyzet @var: az érték csak 0 vagy 1 lehet", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Érvénytelen szín @var: a(z) $color$ nem szín", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "Érvénytelen változó @var (típus: $type$): az érték csak szám vagy tömb lehet", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Érvénytelen változó @var (típus: $type$): többféle egység van megadva", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Érvénytelen változó @var (típus: $type$): a tömb túl sok elemet tartalmaz", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "Érvénytelen változó @var (típus: $type$): csak szám, karakterlánc vagy null típusú elem lehet a tömbben", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett értéke null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték kisebb, mint a minimum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nagyobb, mint a maximum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nem a lépésköz többszöröse", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "Érvénytelen változó @var (típus: $type$): a(z) '$units$' nem érvényes egység", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "Érvénytelen kiválasztó lista @var: az alapértelmezett érték tömb vagy objektum lehet csak", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Érvénytelen kiválasztó lista @var: a tömbön/objektumon belüli érték csak karakterlánc lehet", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Érvénytelen kiválasztó lista @var: a lista üres", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Érvénytelen kiválasztó lista @var: a listaelem címkéje üres", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Érvénytelen kiválasztó lista @var: egynél több alapértelmezett elem van megadva", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Érvénytelen kiválasztó lista @var: egy listaelem kétszer szerepel", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Érvénytelen kiválasztó lista @var: az érték nem található a listaelemek között", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Érvénytelen URL-protokoll. Csak 'http' vagy 'https' engedett: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Érvénytelen verziószám. Az érték nem illeszkedik a SemVer mintájához: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Várt elem: szám", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Várt elem: idézőjelek közti karakterlánc", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Várt elem: szó", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Várt karakterek: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Várt elem: EOT-adat", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Kötelező metaadat hiányzik: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "Érvénytelen JSON: a(z) $literal$ nem érvényes JSON-karakterlánc (literális)", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Ismeretlen metaadat: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Ismeretlen @$varkey$ változó, típus: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "Ismeretlen @preprocesszor (előfeldolgozó): $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Nincs telepítve stílus ehhez az oldalhoz.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Kezelés", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Stíluskezelő megnyitása", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Műveletek", - "description": "" - }, - "optionsAdvanced": { - "message": "Haladó", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "'Törlés' parancs a szerkesztő helyi menüjében", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "iframe-ek kitevése HTML[stylus-iframe]-en keresztül", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Az oldal felső tartományának jelölése minden iframe-ben.\nLehetővé teszi az iframe-specifikus CSS írását, mint pl.:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Új stílus írása usercss-ként", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Háttérszín, amikor le van tiltva", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Háttérszín", - "description": "" - }, - "optionsCheck": { - "message": "Stílusok frissítése", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Az összes frissítés ellenőrzése és telepítése", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Ikon képe az eszköztáron", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Eszköztárikon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Felugró ablak", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Frissítések", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Szinkronizálás felhővel", - "description": "" - }, - "optionsHeading": { - "message": "Beállítások", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Sötét böngészőtémák", - "description": "" - }, - "optionsIconLight": { - "message": "Világos böngészőtémák", - "description": "" - }, - "optionsOpen": { - "message": "Megnyitás", - "description": "" - }, - "optionsOpenManager": { - "message": "Stílusok kezelése", - "description": "" - }, - "optionsPopupWidth": { - "message": "Felugró ablak szélessége (pixelben)", - "description": "" - }, - "optionsReset": { - "message": "Beállítások visszaállítása alapértelmezett értékre", - "description": "" - }, - "optionsResetButton": { - "message": "Alapértelmezés visszaállítása", - "description": "" - }, - "optionsSubheading": { - "message": "További beállítások", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Amikor régebbi verzióból vagy a Stylishból importálsz stílusokat, egyszer manuálisan frissítsd a stílusokat a stíluskezelőben, hogy megbizonyosodj afelől, hogy mindegyik frissítve van!", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Felhasználói stílus automatikus frissítési időköze órában (0=kikapcsolva)", - "description": "" - }, - "optionsSyncNone": { - "message": "Nincs", - "description": "" - }, - "optionsSyncConnect": { - "message": "Kapcsolódás", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Kapcsolat bontása", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Szinkronizálás most", - "description": "" - }, - "optionsSyncLogin": { - "message": "Bejelentkezés", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Stílusok helyi frissítése (pull): $loaded$/$total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "Stílusok távoli frissítése (push): $loaded$/$total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "Szinkronizálás...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Kapcsolódás...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Kapcsolódva", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Kapcsolat bontása...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Nincs kapcsolat", - "description": "" - }, - "paginationCurrent": { - "message": "Jelenlegi oldal", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Becsült oldalak száma", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Következő oldal", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Előző oldal", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Összes oldal", - "description": "" - }, - "parseUsercssError": { - "message": "A Stylus nem tudta elemezni a usercss-t", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Stílusok újrarendezése a felugró ablakban átkapcsoláskor", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Fehér szegély az oldalakon", - "description": "" - }, - "popupBordersTooltip": { - "message": "Hasznos az új Chrome sötét témáinál, mert nem színezi át az oldalszegélyeket", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, a numpaden is - be-/kikapcsolja az n-nedik stílust (a 0 10-et jelent)\n- az adott betűvel kezdődő első stílust kapcsolja be/ki \n kapcsolgatás helyett megnyitja a szerkesztőt\n listázott stílusokat engedélyez\n listázott stílusokat tilt le\n és <`> (fordított félidézőjel) - kezdeti állapotban engedélyezett stílusokat kapcsol; nem vonatkozik azokra a stílusokra, amiket később engedélyeztél, mialatt a felugró ablakocska nyitva volt, hogy vissza tudd állítani a kezdeti kiválasztást tesztelés után: egyszerűen tilts le mindent, majd pl. vagy \nTovábbi információ a wikiben", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Elérhető gyorsbillentyűk megtekintése", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+kattintás vagy jobb kattintás: a stíluskezelő megnyitása a jelenlegi oldalra érvényes stílusokkal", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Műveletmenü", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "Szerkesztő megnyitása új ablakban", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "A fül a böngésző ablakától történő leválasztásával is engedélyezhető, és letiltható a fül egy másik ablakhoz való hozzácsatolásával.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stílusnevek a parancsok előtt", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "A jelenlegi oldalon aktív stílusok száma", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Valós idejű előnézet", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Átmenetileg alkalmazza a változtatásokat mentés nélkül.\nMentsd a stílust, hogy a változtatások véglegesek legyenek!", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Csere", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Az összes cseréje", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Csere a következővel", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Stílusok importálása", - "description": "" - }, - "search": { - "message": "Keresés", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Kis- és nagybetű megkülönböztetése", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Illeszkedések száma", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Illeszkedések száma a kódban és célértékek", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Használd a /re/ szintaxist a regexp kereséshez", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Összes telepítés", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nem találhatók stílusok ehhez az oldalhoz.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "Értékelés", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Frissítve", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Heti telepítések", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Új szakasz hozzáadása", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kód", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Szekció eltávolítása", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Eltávolított szekció visszaállítása", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Gyorsbillentyűk", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Gyorsbillentyűk megadása", - "description": "" - }, - "sortDateNewestFirst": { - "message": "újabb elöl", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "régebbi elöl", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Telepített stílusok sorbarendezésének módja", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Cím - növekvő sorrend", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Cím - csökkenő sorrend", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "A legördülő menüben válaszhatjuk ki, hogyan szeretnénk sorbarendezni a telepített stílusok bejegyzéseit. Az alapértelmezett beállítás a bejegyzések címei szerinti növekvő (A-tól Z-ig) sorrend. A „Cím - csökkenő sorrend” csoportban megadott rendezési módok csökkenő (Z-től A-ig) sorrendben rendezik a címeket.\nEgyéb beállításokkal több szempont alapján is rendezhetők a bejegyzések. Tekintsünk erre úgy, mint egy többoszlopos, rendezhető táblázatra, amelyben minden egyes (a plusz jelek között) kiválasztott kategória egy oszlopot vagy egy csoportot jelképez.\nPéldául, ha az van beállítva, hogy „Engedélyezve (első) + Cím”, az engedélyezett bejegyzések kerülnek a lista tetejére, majd az engedélyezett és a letiltott bejegyzések címei külön-külön, növekvő (A-tól Z-ig) sorrendben jelennek meg.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Tartalom rendezése", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Érvénytelen reguláris kifejezés.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Csinosít", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports behúzása", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Új sorok megtartása", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Vissza a kezeléshez", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Nem mentetted a stílusban lévő változásokat.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Engedélyezve", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Nem sikerült importálni Mozilla formátumból", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla formátumú kód beillesztése", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Telepíted a(z) „$stylename$” nevű stílust a Stylusba?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "A stílus telepítése nem sikerült!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "„$stylename$” már telepítve van. Felülírod?\nVerzió: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Írj be egy nevet!", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-formátum", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "A stílus nem lett alkalmazva a „regexp()” helytelen használata miatt", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Néhány „regexp()” szabály nem lefordítható.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "A stílus olyan részlegesen illeszkedő reguláris kifejezéseket használ, amelyek sértik aCSS4@dokumentumspecifikációt, amely megköveteli az URL teljes illeszkedését. Az érintett CSS-szekciók nem kerültek alkalmazásra az oldalon. A stílus valószínűleg a Stylish-for-Chrome kiegészítőben készült, amely helytelenül ellenőrzi a „regexp()” szabályokat a legelső verziótól fogva (ismert hiba).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "A nem alkalmazott szeckiók száma helytelen 'regexp()' használat miatt", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp tesztelése", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Illeszkedő fülek", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Kihagyott, érvénytelen reguláris kifejezések", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Nincs illeszkedő fül", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Megjegyzés: használj egy \\-jelet speciális karakterek elrejtéséhez a regexp beviteli mezőben, amely automatikusan két \\-jellé (\\\\) lesz alakítva a CSS stíluskódban idézett karakterláncokban.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Nincs teljes egyezés, így ki vagy hagyva", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Illeszkedő megnyitott fülek megjelenítése (kattints az URL-re az arra a fülre való ugráshoz)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Mentés", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "A Mozilla formátumú kódot beküldheted a userstyles.org-ra és használhatod a klasszikus Stylish Firefoxkiegészítővel.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla formátumú stílus", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Biztos, hogy frissíteni akarod a(z) „$stylename$” stílust?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "A stílus módosítva lett a szerkesztőn kívül. Szeretnéd újratölteni?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "A Stylus nem működik az ilyen oldalakon.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Biztonsági okokból a böngésző megtiltja, hogy a kiegészítők változtatásokat tegyenek a beépített oldalain (pl. chrome://verzió, a Chrome 61 alapértelmezett „új lap” oldala, about:addons és így tovább) valamint más kiterjesztések oldalain. Ezen kívül mindegyik böngésző korlátozza a saját kiegészítőgalériájának elérését (pl. Chrome webáruház vagy a Mozilla kiegészítők oldala)", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Az értéket nem lehet menteni. Próbáld meg csökkenteni a szövegmennyiséget!", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Stílus be-/kikapcsolása", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Visszavonás", - "description": "Button label" - }, - "undoGlobal": { - "message": "Visszavonás mindegyik szekcióban", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "A Firefox megtiltja ennek az oldalnak az elérését.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Az elérés engedélyezéséhez nyisd meg az -ot, kattints jobb egérgombbal, majd „Új”, „Logikai”, és illeszd be, hogy , és kattints az OK-ra, OK, és töltsd újra az oldalt!", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "A Firefox 60-ban vagy annál újabb verzióban az AMO doménjét is el kell távolítanod a -ban levő -ból.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Csak a Firefox 59 vagy annál újabb állítható be az ilyen CSP-védett oldalak stílusának átszabása WebExtensions kiegészítőkön keresztül.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Nem sikerült az oldallal történő kommunikáció. Próbáld meg újratölteni az oldalt!", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "A Stylus csak akkor képes hozzáférni a file:// URL-ekhez, ha engedélyezed az erre vonatkozó beállítást a Stylus kiegészítőre a chrome://extensions oldalon.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "A Stylus nem tud bizonyos fájltípusokhoz hozzáférni (pl. PDF- & JSON-fájlokhoz)", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nem találhatók frissítések.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Egyes frissíthető stílusok nem lettek ellenőrizve, nehogy elvesszenek a helyi változtatások. A frissítéseket lehet erőltetni egyéni ellenőrzéssel külön-külön vagy az összes stílus ismételt ellenőrzésével (ez felülírja a helyi módosításokat).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Sikertelen frissítés: a szerver $code$kóddal válaszolt.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Sikertelen frissítés: nem érhető el a szerver.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Frissítések ellenőrzésének előzményei", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Frissítés telepítése (a helyi módosítások felül lesznek írva)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Egy frissítés erőltetése minden helyi szerkesztést felül fog írni.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Ez a stílus helyileg lett szerkesztve.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Lehet, hogy ezt a stílust helyileg szerkesztették", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "A stílus legfrissebb verziója van telepítve.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "A frissítés befejeződött.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Frissítve:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Kérlek, módosítsd a @name vagy a @namespace értékét, nehogy felül legyen írva az egyik létező stílus!", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "A stílust frissítették vagy törölték, miután a beállítóablak megjelent. Ezek a változók nem kerültek mentésre, nehogy megsérüljön a stílus metaadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Adj meg egy @name-et a kódban", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Le legyen cserélve az alapértelmezett sablon az új Usercss stílusokhoz a jelenlegi kóddal?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Az üres @name lecseréli az alapértelmezett sablont", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Írj kódot ide…", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "A verzió régebb a telepített stílusnál", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Stílus írása a következőhöz:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "ehhez az URL-hez", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exportálás Dropboxba", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importálás Dropboxból", - "description": "" - }, - "overwriteFileExport": { - "message": "Felülírjuk a létező fájlt?", - "description": "" - }, - "exportSavedSuccess": { - "message": "A fájl sikeresen elmentve.", - "description": "" - }, - "noFileToImport": { - "message": "A stílusok importálásához előbb exportálni kell őket.", - "description": "" - }, - "connectingDropbox": { - "message": "Kapcsolódás Dropboxhoz...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropboxhoz csak közvetlenül a web-boltból telepített alkalmazásból lehet kapcsolódni.", - "description": "" - }, - "gettingStyles": { - "message": "Minden stílus fogadása...", - "description": "" - }, - "zipStyles": { - "message": "Stílusok tömörítése...", - "description": "" - }, - "unzipStyles": { - "message": "Stílusok kibontása...", - "description": "" - }, - "readingStyles": { - "message": "Stílusok olvasása...", - "description": "" - }, - "uploadingFile": { - "message": "Fájl feltöltése...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/it/messages.json b/_locales/it/messages.json index 7964ce48..d56eb30f 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -1,1053 +1,1586 @@ { - "addStyleLabel": { - "message": "Scrivi nuovo stile", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Aggiungi stili", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacità", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Aggiungi", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Applica a: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Aggiungi stili", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacità", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Aggiungi", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Applica a: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "e altro ancora", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL nel dominio", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Utilizza i controlli \"Applica a\" per limitare gli URL a cui viene applicato il codice in questa sezione.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Applica a", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Visualizza info 'Applica a'", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Non funziona con CSS minificato", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL corrispondenti all'espressione regolare", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Rimuovi", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specifica", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Tutto", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL che iniziano con", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Applica tutti gli aggiornamenti", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autore", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Seleziona un file o trascinalo in questa pagina.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Esporta stili", + "description": "" + }, + "checkAllUpdates": { + "message": "Verifica la disponibilità di aggiornamenti per tutti gli stili", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Controlla di nuovo, non ho modificato nessuno stile!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Verifica la presenza di aggiornamenti", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Verifica in corso...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Clicca per disinstallare", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Chiudi automaticamente parentesi e virgolette", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Aggiungi automaticamente il simbolo di chiusura quando apri ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Completamento automatico durante digitazione", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Selezionatore colore per colori CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Usa tabulazioni con indentazione intellingente", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Mappa caratteri", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Evidenzia", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Solo selezione", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token sotto il puntatore", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Doppio click per massimizzare/ripristinare l'altezza", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Doppio click seleziona i token", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Esempi di token: foo-bar-2 #aabbcc 0.32 !important\nQuando disabilitato: vengono selezionate le parole delimitate dalla punteggiatura.", + "description": "" + }, + "cm_smartIndent": { + "message": "Usa indentazione intelligente", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Dimensione tabulazione", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Tema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Apri selettore colore", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "su modifica", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Salva e applica modifiche automaticamente", + "description": "" + }, + "configureStyle": { + "message": "Configura", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configura su homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Annulla", + "description": "" + }, + "confirmClose": { + "message": "Chiudi", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Utilizza predefinito", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Elimina", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Scartare le modifiche?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Salva", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Si", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Data installazione", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Data aggiornata", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Si è verificato un errore durante l'utilizzo del database Stylus. Vuoi visitare una pagina web con le possibili soluzioni?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "predefinito", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Vuoi eliminare questo stile?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Elimina", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Modifica lo stile del Web con Stylus, un gestore di stili utente. Stylus consente di installare facilmente temi e skin per Google, Facebook, YouTube, Orkut e moltissimi altri siti.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Disattiva tutti gli stili", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disattiva", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Elimina", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Vai alla riga (oppure riga:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Modifica di stili", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Modifica", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Modifica dello stile $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Attiva", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Esporta", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Link esterno", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Supporto", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentazione per Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ mostrati di $numTotal$ totali", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Nessuno stile corrispondente ai filtri applicati", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Trova stili", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Trova più stili per questo sito", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Visualizza risultati in questa finestra.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Aggiungi", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clona", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disattivato", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Attivato", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Errore", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Cronologia", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Successivo", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Precedente", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reimposta", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Salvato", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Titolo", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Sconosciuto", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Guida", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Inserisci il nome di un comando", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Digita una scorciatoia", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Aggiungi ad uno stile", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Aggiungi lo stile importato a quello corrente", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importa", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Sovrascrivi stile", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Scarta i contenuti dello stile corrente e sovrascrivili con quelli dello stile importato", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "aggiunto", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identico saltato", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalido saltato", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "info meta e codice aggiornati", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "codice aggiornato", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "info meta aggiornate", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Importazione stili terminata", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Non è stato cambiato nulla.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "gli stili sono stati ripristinati", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Importazione annullata", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Installa stile", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Stile installato", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstalla stile", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Aggiorna stile", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Installa aggiornamento", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Attualmente lo stile è aggiornato da $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Controlla aggiornamenti", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licenza", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Otteini aiuto", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Ottieni stili", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Traduci", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Imposta regola: 0 = disabilitata; 1 = warning; 2 = errore)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Imposta configurazione delle regole di $linter$", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Non salvato a causa di queste impostazioni di configurazione non valide:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problemi", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Formato JSON non valido", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Vedi una lista completa di regole", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Ricaricamento live", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus utilizza un servizio esterno https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtri", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Stili installati", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "come Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Nuovo layout Gestione UI", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Solo stili disattivati", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Solo stili attivati", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Solo stili esterni", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Solo stili creati localmente", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Solo stili non-Usercss", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Solo con aggiornamenti o problemi", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Solo stili Usercss", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Mostra contatore stili attivi", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Atteso un numero", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Attesa una stringa tra apici", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Attesa una parola", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Attesi caratteri: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Atteso EOT", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Manca metadata obbligatorio: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "JSON non valido: $literal$ non è un letterale JSON valido", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "metadata sconosciuto: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Nessuno stile installato per questo sito.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Gestisci gli stili installati", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Apri gestore stili", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Azioni", + "description": "" + }, + "optionsAdvanced": { + "message": "Avanzato", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Aggiungi 'Elimina' al menu contestuale dell'editor", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Colore sfondo quanto disattivato", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Colore sfondo", + "description": "" + }, + "optionsCheck": { + "message": "Aggiorna stili", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Controlla e installa gli aggiornamenti disponibili", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Aggiornamenti", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Opzioni", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Temi browser scuri", + "description": "" + }, + "optionsIconLight": { + "message": "Temi browser chiari", + "description": "" + }, + "optionsOpen": { + "message": "Apri", + "description": "" + }, + "optionsOpenManager": { + "message": "Organizza stili", + "description": "" + }, + "optionsPopupWidth": { + "message": "Larghezza popup (in pixel)", + "description": "" + }, + "optionsReset": { + "message": "Reimposta le opzioni ai valori predefiniti", + "description": "" + }, + "optionsResetButton": { + "message": "Reimposta opzioni", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Più Opzioni", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Quando importi backup di stili da una vecchia versione di Stylish, esegui un controllo una tantum manualmente nel gestore stili per assicurarti che siano tutti aggiornati.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Pagina corrente", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Numero stimato di pagine", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Pagine successiva", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Pagine precedente", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Totale pagine", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Aggiungi bordi bianchi sui lati", + "description": "" + }, + "popupBordersTooltip": { + "message": "Utile per temi scuri nelle nuove versioni di Chrome dato che non colora più i bordi laterali", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click per visualizzare le scorciatoie disponibili", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click o click destro apre il gestore con gli stili applicabili per il sito corrente", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Apri editor in una nuova finestra", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Stili attivi per il sito attuale", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Anteprima live", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Applica temporaneamente le modifiche senza salvarle.\nSalva lo stile per rendere le modifiche permanenti.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Sostituisci", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Sostituisci tutto", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Sostituisci con", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importa stili", + "description": "" + }, + "search": { + "message": "Cerca", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Numero di occorrenze", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Installazioni totali", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Nessuno stile trovato per questo sito.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Valutazioni", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Aggiornato", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Installazioni settimanali", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Aggiungi un'altra sezione", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Codice", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Rimuovi sezione", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Scorciatoie", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Definisci scorciatoie da tastiera", + "description": "" + }, + "sortDateNewestFirst": { + "message": "prima i più recenti", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "prima i più vecchi", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Seleziona come ordinare gli stili installati", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Titolo Discendente", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Ordina contenuti", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp non valida.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Mantieni gli \"a capo\"", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Torna a gestione", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Hai apportato modifiche a questo stile senza salvare.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Attivato", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Importazione da formato Mozilla fallita", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Incolla il codice formato Mozilla", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Installare \"$stylename$\" in Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Installazione stile fallita!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' è già installato. Vuoi sovrascriverlo?\nVersione: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Inserisci un nome", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Lo stile non è stato applicato a causa dell'uso errato di 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Qualche regola 'regexp()' che non può essere compilata.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Numero di sezioni non applicato a causa dell'uso errato di 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Test RegExp", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Regexp invalida ignorata", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Salva", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Il formato Mozilla del codice può essere utilizzato con Stylish per Firefox e può essere inviato a userstyles.org.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Stile in formato Mozilla", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Sei sicuro di voler aggiornare '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus non funziona in pagine come questa.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Il valore non può essere salvato. Prova a ridurre la quantità di testo.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Annulla", + "description": "Button label" + }, + "undoGlobal": { + "message": "Annulla in tutte le sezioni", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox proibisce l'accesso al sito.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Solo Firefox 59 e successivi possono essere configurati per consentire alle WebExtensions di aggiungere elementi degli stili su siti CSP-protected come questo.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Impossibile comunicare con la pagina. Prova a ricaricare la scheda.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nessun aggiornamento trovato", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Alcuni aggiornamenti di stili non sono stati controllati per evitare la perdita di modifiche locali. Gli aggiornamenti possono essere forzati individualmente, o eseguendo un ulteriore controllo per tutti gli stili (le modifiche locali saranno sovrascritte).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Aggiornamento non riuscito: il server ha risposto con il codice $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Aggiornamento non riuscito: server non raggiungibile.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Cronologia controlli aggiornamento", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Installa aggiornamento (le modifiche locali verranno sovrascritte)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forzare un aggiornamento sovrascriverà tutte le modifiche locali", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Questo stile è stato editato localmente.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Lo stile è aggiornato.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Aggiornamento completato.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Aggiornamenti installati:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Inserisci codice qui...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "La versione dello stile è più vecchia di quella installata.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Scrivi stile per:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "questo URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Scrivi nuovo stile", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "e altro ancora", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL nel dominio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Utilizza i controlli \"Applica a\" per limitare gli URL a cui viene applicato il codice in questa sezione.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Applica a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Visualizza info 'Applica a'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Non funziona con CSS minificato", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL corrispondenti all'espressione regolare", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Rimuovi", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Specifica", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tutto", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL che iniziano con", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Applica tutti gli aggiornamenti", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autore", - "description": "Label for the style author" - }, - "backupMessage": { - "message": "Seleziona un file o trascinalo in questa pagina.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Esporta stili", - "description": "" - }, - "checkAllUpdates": { - "message": "Verifica la disponibilità di aggiornamenti per tutti gli stili", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Controlla di nuovo, non ho modificato nessuno stile!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Verifica la presenza di aggiornamenti", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Verifica in corso...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Clicca per disinstallare", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Chiudi automaticamente parentesi e virgolette", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Aggiungi automaticamente il simbolo di chiusura quando apri ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Completamento automatico durante digitazione", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Selezionatore colore per colori CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usa tabulazioni con indentazione intellingente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mappa caratteri", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_matchHighlight": { - "message": "Evidenzia", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Solo selezione", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token sotto il puntatore", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Doppio click per massimizzare/ripristinare l'altezza", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Doppio click seleziona i token", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Esempi di token: foo-bar-2 #aabbcc 0.32 !important\nQuando disabilitato: vengono selezionate le parole delimitate dalla punteggiatura.", - "description": "" - }, - "cm_smartIndent": { - "message": "Usa indentazione intelligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Dimensione tabulazione", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerTooltip": { - "message": "Apri selettore colore", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "su modifica", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Salva e applica modifiche automaticamente", - "description": "" - }, - "configureStyle": { - "message": "Configura", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configura su homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Annulla", - "description": "" - }, - "confirmClose": { - "message": "Chiudi", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Utilizza predefinito", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Elimina", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Scartare le modifiche?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmSave": { - "message": "Salva", - "description": "'Save' button in a confirm dialog" - }, - "confirmYes": { - "message": "Si", - "description": "'Yes' button in a confirm dialog" - }, - "dateInstalled": { - "message": "Data installazione", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data aggiornata", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Si è verificato un errore durante l'utilizzo del database Stylus. Vuoi visitare una pagina web con le possibili soluzioni?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "predefinito", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Vuoi eliminare questo stile?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Elimina", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Modifica lo stile del Web con Stylus, un gestore di stili utente. Stylus consente di installare facilmente temi e skin per Google, Facebook, YouTube, Orkut e moltissimi altri siti.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Disattiva tutti gli stili", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disattiva", - "description": "Label for the button to disable a style" - }, - "editDeleteText": { - "message": "Elimina", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Vai alla riga (oppure riga:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Modifica di stili", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Modifica", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Modifica dello stile $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Attiva", - "description": "Label for the button to enable a style" - }, - "exportLabel": { - "message": "Esporta", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalLink": { - "message": "Link esterno", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Supporto", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentazione per Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mostrati di $numTotal$ totali", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Nessuno stile corrispondente ai filtri applicati", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Trova stili", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Trova più stili per questo sito", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInlineTooltip": { - "message": "Visualizza risultati in questa finestra.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Aggiungi", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clona", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disattivato", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Attivato", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Errore", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Cronologia", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Successivo", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Precedente", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reimposta", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvato", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titolo", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Sconosciuto", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Guida", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Inserisci il nome di un comando", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Digita una scorciatoia", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Aggiungi ad uno stile", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Aggiungi lo stile importato a quello corrente", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importa", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Sovrascrivi stile", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Scarta i contenuti dello stile corrente e sovrascrivili con quelli dello stile importato", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "aggiunto", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identico saltato", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalido saltato", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "info meta e codice aggiornati", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "codice aggiornato", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "info meta aggiornate", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importazione stili terminata", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Non è stato cambiato nulla.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "gli stili sono stati ripristinati", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importazione annullata", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Installa stile", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stile installato", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalla stile", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Aggiorna stile", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Installa aggiornamento", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Attualmente lo stile è aggiornato da $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Controlla aggiornamenti", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licenza", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Otteini aiuto", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Ottieni stili", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Traduci", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintSettings": { - "message": "(Imposta regola: 0 = disabilitata; 1 = warning; 2 = errore)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Imposta configurazione delle regole di $linter$", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterInvalidConfigError": { - "message": "Non salvato a causa di queste impostazioni di configurazione non valide:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemi", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Formato JSON non valido", - "description": "Setting linter config with invalid JSON" - }, - "linterRulesLink": { - "message": "Vedi una lista completa di regole", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadLabel": { - "message": "Ricaricamento live", - "description": "The label of live-reload feature" - }, - "manageFaviconsHelp": { - "message": "Stylus utilizza un servizio esterno https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtri", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Stili installati", - "description": "Heading for the manage page" - }, - "manageNewStyleAsUsercss": { - "message": "come Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nuovo layout Gestione UI", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Solo stili disattivati", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Solo stili attivati", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Solo stili esterni", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Solo stili creati localmente", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Solo stili non-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Solo con aggiornamenti o problemi", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Solo stili Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Mostra contatore stili attivi", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidNumber": { - "message": "Atteso un numero", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Attesa una stringa tra apici", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Attesa una parola", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Attesi caratteri: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Atteso EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Manca metadata obbligatorio: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "JSON non valido: $literal$ non è un letterale JSON valido", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "metadata sconosciuto: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Nessuno stile installato per questo sito.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Gestisci gli stili installati", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Apri gestore stili", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Azioni", - "description": "" - }, - "optionsAdvanced": { - "message": "Avanzato", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Aggiungi 'Elimina' al menu contestuale dell'editor", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Colore sfondo quanto disattivato", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Colore sfondo", - "description": "" - }, - "optionsCheck": { - "message": "Aggiorna stili", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Controlla e installa gli aggiornamenti disponibili", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Aggiornamenti", - "description": "" - }, - "optionsHeading": { - "message": "Opzioni", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Temi browser scuri", - "description": "" - }, - "optionsIconLight": { - "message": "Temi browser chiari", - "description": "" - }, - "optionsOpen": { - "message": "Apri", - "description": "" - }, - "optionsOpenManager": { - "message": "Organizza stili", - "description": "" - }, - "optionsPopupWidth": { - "message": "Larghezza popup (in pixel)", - "description": "" - }, - "optionsReset": { - "message": "Reimposta le opzioni ai valori predefiniti", - "description": "" - }, - "optionsResetButton": { - "message": "Reimposta opzioni", - "description": "" - }, - "optionsSubheading": { - "message": "Più Opzioni", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Quando importi backup di stili da una vecchia versione di Stylish, esegui un controllo una tantum manualmente nel gestore stili per assicurarti che siano tutti aggiornati.", - "description": "" - }, - "paginationCurrent": { - "message": "Pagina corrente", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Numero stimato di pagine", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Pagine successiva", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Pagine precedente", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Totale pagine", - "description": "" - }, - "popupBorders": { - "message": "Aggiungi bordi bianchi sui lati", - "description": "" - }, - "popupBordersTooltip": { - "message": "Utile per temi scuri nelle nuove versioni di Chrome dato che non colora più i bordi laterali", - "description": "" - }, - "popupHotkeysTooltip": { - "message": "Click per visualizzare le scorciatoie disponibili", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click o click destro apre il gestore con gli stili applicabili per il sito corrente", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupOpenEditInWindow": { - "message": "Apri editor in una nuova finestra", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "prefShowBadge": { - "message": "Stili attivi per il sito attuale", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Anteprima live", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Applica temporaneamente le modifiche senza salvarle.\nSalva lo stile per rendere le modifiche permanenti.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Sostituisci", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Sostituisci tutto", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Sostituisci con", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importa stili", - "description": "" - }, - "search": { - "message": "Cerca", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Numero di occorrenze", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Installazioni totali", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nessuno stile trovato per questo sito.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "Valutazioni", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Aggiornato", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Installazioni settimanali", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Aggiungi un'altra sezione", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Codice", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Rimuovi sezione", - "description": "Label for the button to remove a section" - }, - "shortcuts": { - "message": "Scorciatoie", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Definisci scorciatoie da tastiera", - "description": "" - }, - "sortDateNewestFirst": { - "message": "prima i più recenti", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "prima i più vecchi", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Seleziona come ordinare gli stili installati", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleDesc": { - "message": "Titolo Discendente", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelpTitle": { - "message": "Ordina contenuti", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp non valida.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautifyPreserveNewlines": { - "message": "Mantieni gli \"a capo\"", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Torna a gestione", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Hai apportato modifiche a questo stile senza salvare.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Attivato", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Importazione da formato Mozilla fallita", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Incolla il codice formato Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Installare \"$stylename$\" in Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Installazione stile fallita!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' è già installato. Vuoi sovrascriverlo?\nVersione: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Inserisci un nome", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Lo stile non è stato applicato a causa dell'uso errato di 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Qualche regola 'regexp()' che non può essere compilata.", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Numero di sezioni non applicato a causa dell'uso errato di 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Test RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestInvalid": { - "message": "Regexp invalida ignorata", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleSaveLabel": { - "message": "Salva", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Il formato Mozilla del codice può essere utilizzato con Stylish per Firefox e può essere inviato a userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stile in formato Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Sei sicuro di voler aggiornare '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "stylusUnavailableForURL": { - "message": "Stylus non funziona in pagine come questa.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Il valore non può essere salvato. Prova a ridurre la quantità di testo.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "undo": { - "message": "Annulla", - "description": "Button label" - }, - "undoGlobal": { - "message": "Annulla in tutte le sezioni", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox proibisce l'accesso al sito.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHintOldFF": { - "message": "Solo Firefox 59 e successivi possono essere configurati per consentire alle WebExtensions di aggiungere elementi degli stili su siti CSP-protected come questo.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Impossibile comunicare con la pagina. Prova a ricaricare la scheda.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nessun aggiornamento trovato", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Alcuni aggiornamenti di stili non sono stati controllati per evitare la perdita di modifiche locali. Gli aggiornamenti possono essere forzati individualmente, o eseguendo un ulteriore controllo per tutti gli stili (le modifiche locali saranno sovrascritte).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Aggiornamento non riuscito: il server ha risposto con il codice $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Aggiornamento non riuscito: server non raggiungibile.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Cronologia controlli aggiornamento", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Installa aggiornamento (le modifiche locali verranno sovrascritte)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forzare un aggiornamento sovrascriverà tutte le modifiche locali", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Questo stile è stato editato localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Lo stile è aggiornato.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aggiornamento completato.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Aggiornamenti installati:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssReplaceTemplateSectionBody": { - "message": "Inserisci codice qui...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "La versione dello stile è più vecchia di quella installata.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Scrivi stile per:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "questo URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - } } \ No newline at end of file diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index f819ff12..b987054e 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -1,1719 +1,1586 @@ { - "addStyleLabel": { - "message": "新スタイルを作成", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "スタイルを追加", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "追加", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "適用先: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "スタイルを追加", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "透明度", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "追加", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "適用先: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "さらに表示", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "ドメイン上の URL", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "「適用先」を使用すると、このセクションのコードが適用される URL を制限することができます。", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "適用先", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "「適用先」の情報を表示", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "圧縮されたCSSでは機能しません", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "正規表現に一致する URL", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "削除", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "「適用先」の最後の項目を削除することはできません", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "個別指定", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "すべて", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "次で始まる URL", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "すべての更新を適用", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "作者", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "バックアップ", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "ファイルを選択するか、このページにドラッグ&ドロップしてください。", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "スタイルをエクスポート", + "description": "" + }, + "checkAllUpdates": { + "message": "全スタイルの更新をチェック", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "全スタイルを再チェックします。私はスタイルを編集していません!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "更新をチェック", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "チェック中...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "クリックでアンインストール", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "括弧と引用符を自動的に閉じる", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "()[]{}''\"\" の開き括弧/引用符の入力時に、対応する閉じ括弧/引用符を自動的に追加します", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "入力の自動補完を有効にする", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "CSSの色選択ツールを使用する", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "スマートインデントにタブ文字を使用", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "キーマップ", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "ワードラップを有効にする", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "ハイライト", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "選択した単語のみ", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "カーソル下の単語", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "ダブルクリックで高さを最大化/元に戻す", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "ダブルクリックでトークンを選択する", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "トークンの例: .foo-bar-2 #aabbcc 0.32 !important\n無効にすると、記号で区切られた範囲で単語が選択されます。", + "description": "" + }, + "cm_smartIndent": { + "message": "スマートインデントを使用する", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "タブサイズ", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "テーマ", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "見本を右クリックして対応するソース行を選択します", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "フォーマット切り替え: HEX -> RGB -> HSL\nシフトを押しながらクリックすると逆向きに切り替えます。\nまた、PgUp (PageUp), PgDn (PageDown) キーも使用できます。", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "色選択ツールを開きます", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "変更時", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "自動保存して変更を自動的に適用します", + "description": "" + }, + "configureStyle": { + "message": "設定", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "ホームページ上で設定", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "キャンセル", + "description": "" + }, + "confirmClose": { + "message": "閉じる", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "デフォルトを使用", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "削除", + "description": "" + }, + "confirmDiscardChanges": { + "message": "変更を破棄しますか?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "いいえ", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "保存", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "中止", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "はい", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "クリップボードへコピーしました", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "クリップボードへコピー", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "(更新を妨げない)UI 上でのみ有効なスタイルのカスタム名を入力してください", + "description": "" + }, + "customNameResetHint": { + "message": "カスタム名の使用をやめ、スタイル自身の名称に切り替えます", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "インストール日", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "更新日", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Stylusのデータベース使用中にエラーが発生しました。考えられる解決策を記載したWebページを開きますか?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "デフォルト", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "このスタイルを削除してもよろしいですか?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "削除", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Stylus でウェブのデザインを変更しましょう。これは、ユーザースタイルを管理するツールです。Stylus を利用すると、多くの人気サイト向けのテーマやスキンを簡単にインストールできます。", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "すべてのスタイルをオフにする", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "無効化", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "このページの任意の場所にバックアップファイルをドロップしてインポートします。", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "ファイルをインストールするときは、タブ(タイトルが表示されている領域)にドロップしてください。", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "削除", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "行(または行:列)に移動", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "スタイルを編集", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "編集", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "スタイル「$stylename$」を編集", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "有効化", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "現在のドメインを除外", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "現在のURLを除外", + "description": "" + }, + "exportLabel": { + "message": "エクスポート", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "フィードバック", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "ホームページ", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "外部リンク", + "description": "Label for external links" + }, + "externalSupport": { + "message": "サポート", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Usercssの文書", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numTotal$ 件中の $numShown$ 件を表示", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "現在のフィルターにマッチするスタイルはありません", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "スタイルを検索", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "このサイト用のスタイルを検索", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "結果を下に表示", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "検索結果をこのウィンドウに表示", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "追加", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "複製", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "無効化", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "有効", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "エラー", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "履歴", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "次", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "前", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "リセット", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "保存しました", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "タイトル", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "不明", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "ヘルプ", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "コマンド名を入力", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "ホットキーを押す", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "使用中のブラウザの現在のバージョンの不具合のため、このホストは無効にされています", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "スタイルに追加", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "インポートされたスタイルを現在のスタイルに追加する", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "インポート", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "@preprocessorを含むスタイルは、クラシックモードでは機能しません。エディタをUsercssモードにしてください : 1) スタイルマネージャーを開きます, 2)「Usercssとして」チェックボックスをONにします, 3)「新スタイルを作成」をクリックします", + "description": "" + }, + "importPreprocessorTitle": { + "message": "@preprocessorの潜在的な問題", + "description": "" + }, + "importReplaceLabel": { + "message": "スタイルを上書き", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "現在のスタイルの内容を破棄し、インポートされたスタイルで上書きする", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "件のスタイルを追加しました", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "件の同一のスタイルをスキップしました", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "件の無効なスタイルをスキップしました", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "件のメタ情報とコードを更新しました", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "件のコードを更新しました", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "件のメタ情報を更新しました", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "スタイルのインポートが終了しました", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "変更がありませんでした。", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "件のスタイルを元に戻しました", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "インポートが取り消されました", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "インストール", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "インストール済み", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "再インストール", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "更新", + "description": "Label for update button" + }, + "installUpdate": { + "message": "更新をインストール", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "現在、このスタイルは「$url$」から更新されます", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "更新をチェック", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "ライセンス", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "ヘルプ", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "スタイルを取得", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "ウィキ", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "翻訳", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLintは「$preprocessorname$」プリプロセッサをサポートしていません", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(次のようにルールを設定してください: 0=無効, 1=警告, 2=エラー)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "$linter$ のルールを設定する", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Linterの設定を行うときはクリックしてください", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "これらの不正な設定のために保存されませんでした:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "問題点", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "$link$ によってこれらの問題点が見つかりました:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "不正なJSONフォーマットです", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "予期しないリセットを復旧するには、テキストボックス内で Ctrl-Z(または Cmd-Z)を押してください", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "ルールの完全なリストを見る", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "ファイルの監視中にエラーが発生しました", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "外部の変更時にスタイルを自動更新する場合は、このタブを開いたままにしておいてください。", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "外部の変更時にスタイルを自動更新する場合は、このタブと元のタブを開いたままにしておいてください。", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "自動リロード", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "適用先欄のファビコン", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "ファビコンをグレー表示", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylusは外部サービスを使用します https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "フィルター", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "インストール済みスタイル", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "適用先欄の表示件数", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "Usercssとして", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "新しい管理UIレイアウト", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "無効なスタイルのみ", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "有効なスタイルのみ", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "外部取得スタイルのみ", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "ローカル作成スタイルのみ", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(userstyles.orgのページからインストールされていないスタイル)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "非Usercssスタイルのみ", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "更新もしくは問題があるスタイルのみ", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Usercssスタイルのみ", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "アクティブなスタイルの数を表示する", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "不正な @var チェックボックス: 値は0か1である必要があります", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "不正な @var 色: $color$は有効な色ではありません", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "不正な @var $type$: 値は数値か配列である必要があります", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "不正な @var $type$: 複数の単位が定義されています", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "不正な @var $type$: 配列の要素が多すぎます", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "不正な @var $type$: 配列の要素は、数値,文字列またはnullである必要があります", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "不正な @var $type$: デフォルト値がnullです", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "不正な @var $type$: デフォルト値が最小値を下回っています", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "不正な @var $type$: デフォルト値が最大値を上回っています", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "不正な @var $type$: デフォルト値がステップ値の倍数になっていません", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "不正な @var $type$: '$units$' は有効な単位ではありません", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "不正な @var 選択: デフォルト値は、配列またはオブジェクトである必要があります", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "不正な @var 選択: 配列/オブジェクト内の値は文字列である必要があります", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "不正な @var 選択: オプションのリストが空です", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "不正な @var 選択: オプションのラベルが空です", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "不正な @var 選択: 複数のデフォルトオプションが定義されています", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "不正な @var 選択: オプション名が重複しています", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "不正な @var 選択: 値がオプションのリストに存在しません", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "不正なURLプロトコル。httpかhttpsのみ許可されています: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "不正なバージョン番号。値がバージョン番号のパターンに合っていません: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "数値を入力してください", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "クォートで囲まれた文字列を入力してください", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "単語を入力してください", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "文字を入力してください: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "EOTデータを入力してください", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "必須のメタデータがありません: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "不正なJSON: $literal$ は有効なJSONデータではありません", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "不明なメタデータ: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "不明な @$varkey$ タイプ: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "不明な @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "該当するスタイルはありません。", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "行:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "管理", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "オプション", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "スタイルマネージャーを開く", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "アクション", + "description": "" + }, + "optionsAdvanced": { + "message": "上級者向け", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "エディタのコンテキストメニューに「削除」を追加する", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "HTML[stylus-iframe] によってiframeへのアクセスを可能にする", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "各iframeにトップサイトドメインを公開します。\n次のようにiframe用のCSSを書くことができるようになります:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "新しいスタイルを usercss として作成します", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "スタイルのアセットを許可するためにCSPにパッチを当てる", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "厳格なCSP(Content-Security-Policy)を持つサイトで、ロードできない画像やフォントを含んだスタイルの場合に、これを有効にします。\n\nこの設定を有効にすると、CSPの制限をゆるめて、必要なコンテンツのロードを許可します。このオプションは、潜在的なセキュリティへの影響を理解し、許可しているコンテンツを監視する責任を持つことができる上級ユーザーのみを対象としています。 詳細については、CSSベースの攻撃に関する資料をお読みください。\n\nまた、インストールされている別の拡張機能が最初にネットワークの応答を変更した場合、この特別な設定が有効になるとは限らないことに注意してください。", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "即時更新モード", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "閲覧時に、スタイルの指定されていないコンテンツが点滅するような場合に有効にしてください。これは、ダークテーマで特に目立つことがあります。\n\n技術的な原因は、Chrome/Chromium が拡張機能との非同期通信を遅延することです。これは(無意味なことが多いですが)ページのロード時間の短縮のために行われ、スタイルの適用を遅延する場合があります。これを回避するため(web拡張自体は同期通信APIを提供していないので)、Stylusは「非推奨」の XMLHttpRequest web API をスタイルの読み込みに使用するオプションを提供しています。サーバからページがダウンロードされている間に、リクエストは数ミリ秒で終了するため、悪影響はありません。\n\nそれでも、Chromium は、開発者ツールのコンソールに警告を出力します。 警告を右クリックして非表示にすると、以後は警告を表示しないようにすることができます。", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "無効にしたときの背景色", + "description": "" + }, + "optionsBadgeNormal": { + "message": "背景色", + "description": "" + }, + "optionsCheck": { + "message": "スタイルを更新", + "description": "" + }, + "optionsCheckUpdate": { + "message": "使用可能なすべての更新を確認してインストールする", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "アイコンの修飾", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "ツールバーアイコン", + "description": "" + }, + "optionsCustomizePopup": { + "message": "ポップアップ", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "更新設定", + "description": "" + }, + "optionsCustomizeSync": { + "message": "クラウドとの同期", + "description": "" + }, + "optionsHeading": { + "message": "オプション", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "暗いブラウザのテーマ", + "description": "" + }, + "optionsIconLight": { + "message": "明るいブラウザのテーマ", + "description": "" + }, + "optionsOpen": { + "message": "開く", + "description": "" + }, + "optionsOpenManager": { + "message": "スタイルを管理", + "description": "" + }, + "optionsPopupWidth": { + "message": "ポップアップの幅(ピクセル単位)", + "description": "" + }, + "optionsReset": { + "message": "オプションをデフォルト値にリセットする", + "description": "" + }, + "optionsResetButton": { + "message": "オプションをリセット", + "description": "" + }, + "optionsStylusThemes": { + "message": "StylusのUIテーマを見つける", + "description": "" + }, + "optionsSubheading": { + "message": "その他のオプション", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "旧バージョンまたはStylishからスタイルのバックアップをインポートする場合は、スタイルマネージャで一度手動で更新チェックを行い、すべてのスタイルが確実に更新されるようにしてください。", + "description": "" + }, + "optionsUpdateInterval": { + "message": "ユーザースタイルの自動更新間隔(時間単位)(0を指定すると更新しません)", + "description": "" + }, + "optionsSyncNone": { + "message": "未選択", + "description": "" + }, + "optionsSyncConnect": { + "message": "接続", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "切断", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "すぐに同期", + "description": "" + }, + "optionsSyncLogin": { + "message": "ログイン", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "スタイルをダウンロード中 ( $loaded$/ $total$)", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "スタイルをアップロード中( $loaded$/ $total$)", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "同期中...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "接続中...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "接続状態", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "切断中...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "切断状態", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "セッションの期限が切れました。ログインし直してください。", + "description": "" + }, + "paginationCurrent": { + "message": "現在のページ", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "推定ページ数", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "次ページ", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "前ページ", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "総ページ数", + "description": "" + }, + "parseUsercssError": { + "message": "Stylusはusercssの解析に失敗しました: ", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "ポップアップ内のスタイルをソートして表示", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "横に白い境界線を追加する", + "description": "" + }, + "popupBordersTooltip": { + "message": "新しいChromeが横の境界線を描かなくなったため、暗いテーマで有効です", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, または数字パッドキーにより、N番目のスタイルの有効/無効を切り替えます(0は10番目を意味します)\n- は、その文字で始まる先頭のスタイルの有効/無効を切り替えます\n を併用すると、切り替えではなくエディタを開きます\n は、リストのスタイルをすべて有効にします\n は、リストのスタイルをすべて無効にします\n と <`>(バッククォート)は、初期状態が有効なスタイルのみを切り替えます。すなわち ポップアップ上で後から有効にしたスタイルは切り替えません。例えば、テスト後に初期の選択に戻すには、全解除してから切り替えてください(すなわち の順に押してください)\n詳細については wiki を参照ください", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "クリックすると使用可能なホットキーを表示します", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "シフトを押しながらクリック または 右クリック で、現在のサイトに適用可能なスタイルの管理画面を開きます", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "アクションメニュー", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "(アドレスバーのない)シンプルなウィンドウを使用", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "新しいウィンドウでエディタを開く", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "エディタのタブをブラウザのウィンドウから切り離すことでも有効になります。\nそして、分離したエディタのタブを他のブラウザのウィンドウに結合すれば無効になります。", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "スタイル一覧をコマンドボタンより上に表示", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "現在のサイトで有効なスタイルの数を表示", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "自動プレビュー", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "変更を保存しないで一時的に適用します。\n変更を確定する場合には、スタイルを保存してください。", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Stylus拡張をリロードする", + "description": "Context menu reload" + }, + "replace": { + "message": "置換", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "すべて置換", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "次に置換", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "スタイルをインポート", + "description": "" + }, + "search": { + "message": "検索", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "大文字小文字を区別する", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "グローバルスタイルも検索", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "マッチ数", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "コードおよび適用先欄のマッチ数", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "スタイル名を大文字小文字の区別なく検索します:\n複数の単語 - 全単語を順番の区別なく検索します\n\"複数の単語からなるフレーズ\" - 正確なフレーズを (引用符は除いて) 検索します\n2020 - このように数値 (年) を指定すると、2020年に更新されたスタイルも結果に表示します", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "正規表現検索には /re/ を使用してください", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "総インストール数", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "該当するスタイルはありません。", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "スタイルはインストールされますが、現在のサイトのURLには適用されません。", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "このユーザースタイルの作者に、URLの追加について確認してみてください。\nあなた自身が、管理画面でこのスタイルを開いて編集することは可能です。\nしかし、このスタイルの自動更新は無効になることに注意してください。", + "description": "" + }, + "searchResultRating": { + "message": "評価", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "更新日", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "週間インストール数", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "すべて", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSSコード", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " または キーで検索欄に移動します。\nデフォルトモードは、空白で区切られたすべての単語を任意の順番で探す文字列検索です。\n正確な文字列検索 : 検索文字列をダブルクォートで囲んでください。例. <\".header ~ div\">\n正規表現検索 : 検索文字列にスラッシュとフラグを含めてください。例. \nスコープセレクタで「URLによる」を選択 : 指定されたURLに適用されるスタイルを見つけます。例. https://www.example.org/\nスコープセレクタで「メタデータ」を選択 : 名前、「適用先」指定子、インストールURL、アップデートURL、そして usercss スタイルのメタデータブロック全体を検索します。", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "URLによる", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "メタデータ", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "名前", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "他のセクションを追加", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "コード", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "セクションを削除", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "削除したセクションを復旧", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "セクション", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "ショートカット", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "キーボードショートカットを定義する", + "description": "" + }, + "sortDateNewestFirst": { + "message": "新しい順", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "古い順", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "インストール済みスタイルの並べ替え", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "タイトル昇順", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "タイトル降順", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "インストール済みの項目の並べ替え方法を、ドロップダウンリストで選択してください。デフォルト設定は、タイトルの昇順(AからZへ)になっています。「タイトル降順」を選択すると、タイトルの降順(ZからAへ)に並べ替えます。\n他に、複数の基準で項目の並べ替えを行う設定もあります。これは、複数の列を持つ表の並べ替えと考えられ、(プラス記号を挟んで)選択された各カテゴリーは、対応する列またはグループを表します。\n例えば、「有効(1番目)+タイトル」という設定の場合、すべての有効な項目がリストの先頭に並べられ、次にタイトルの昇順(AからZへ)で有効/無効な項目がそれぞれ並べられます。", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "コンテンツの並べ替え", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "正規表現は無効です。", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "書式整形", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "ヒント: 書式整形ボタンを右クリックするか、下で設定したキーボードショートカットを使用すると、このパネルを表示せずに書式設定が行えます", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports をインデント", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "改行を保存", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "管理画面に戻る", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "このスタイルは変更されていますが、保存されていません。", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "有効", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Mozilla形式のインポートに失敗しました", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla形式のコードを貼り付ける", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "「$stylename$」を Stylus にインストールしますか?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "ユーザースタイルのインストールに失敗しました!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "「$stylename$」はすでにインストール済みです。上書きしますか?\nバージョン: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "名前を入力してください", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "'regexp()' の誤った使用のためスタイルを適用できませんでした", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "いくつかの 'regexp()' のルールはコンパイルできませんでした", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "このスタイルは、完全なURLの一致を要求する CSS4 @document 仕様 に違反した部分一致の正規表現を使用しています。影響を受けるCSSセクションはページに適用されませんでした。このスタイルは、'regexp()' のルールを誤ってチェックしていた かなり初期のバージョンの Stylish-for-Chrome で作成された可能性があります(既知のバグです)。", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "'regexp()' の誤った使用のためいくつかのセクションを適用できませんでした", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "正規表現をテスト", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "一致するタブ", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "無効な正規表現がスキップされました", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "一致するタブはありません", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "注: 正規表現の入力欄でエスケープする場合には、「\\」1個を使用してください。それは、CSSでの引用符で囲まれた文字列の仕様に従い、スタイルコード内で自動的に「\\\\」に変換されます。", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "完全に一致しないため、スキップされました", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "一致する開いているタブのリスト(URLをクリックするとそのタブに移動します)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "保存", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla形式のコードは、userstyles.org に投稿することができ、また従来の Stylish for Firefox でも使用できます", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla形式のスタイル", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "「$stylename$」を更新してもよろしいですか?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "このスタイルはエディタの外部で変更されました。このスタイルをリロードしますか?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "このページではStylusは動作しません。", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "セキュリティ上の予防措置として、ブラウザは拡張機能がビルトイン ページ(chrome://version, Chrome 61 の標準の新しいタブページ, about:addons 等)に影響を与えることを禁止しています。これは他の拡張機能のページについても同様です。各ブラウザはまた、自身の拡張機能ギャラリーへのアクセスについても制限しています(Chrome Web ストア や AMO 等)。", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "値を保存できません。テキストの量を減らしてください。", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "同期に失敗", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "同期に失敗しました。\nStylusのオプション画面で、再ログインしてください :\n(「切断」をクリック後、「接続」をクリック)", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "スタイルの有効/無効の切り替え", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "元に戻す", + "description": "Button label" + }, + "undoGlobal": { + "message": "すべてのセクションで元に戻す", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefoxはこのサイトへのアクセスを禁止しています。", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "アクセスを許可するには、 を開き、リストを右クリックして「新規作成」-「真偽値」をクリックし、 を貼り付けてOKをクリックし、 を選択してOKをクリックし、その後、 ページをリロードしてください。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "Firefox 60 以降では、からAMOのドメインを削除する必要があるかもしれません。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Firefox 59 以降のみが、「WebExtensionがこのようなCSPプロテクトされたサイトにスタイル要素を追加すること」を許可する設定を行えます。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "ページと通信できませんでした。タブを再読み込みしてみてください。", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "chrome://extensions ページでStylus拡張機能の当該チェックボックスを有効にした場合にのみ、Stylusは file:// URLにアクセスできます。", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylusにはアクセスできないファイル形式があります(例えばpdfやjsonファイル等)。", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "更新は見つかりませんでした。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "いくつかの更新可能なスタイルは、ローカルでの編集内容が失われることを避けるために、チェックされませんでした。更新を強制的に行うには、個別のチェック、もしくは、全スタイルに対する再チェックを実行してください(この場合、ローカルでの編集内容は上書きされます)。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "更新に失敗しました: サーバーが応答コード「$code$」を返しています。", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "更新に失敗しました: サーバーに到達できません。", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "更新チェックの履歴", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "更新をインストール(ローカルでの編集内容は上書きされます)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "更新を強制すると、すべてのローカルでの編集内容が上書きされます。", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "このスタイルはローカルで編集されました。", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "このスタイルはローカルで編集されている可能性があります。", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "スタイルは最新の状態です。", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "更新が完了しました。", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "更新がインストールされました:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "既存のスタイルの上書きを避けるために、@name または @namespace の値を変更してください。", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "設定ダイアログの表示後に、スタイルが更新または削除されました。スタイルのメタデータの破損を避けるため、これらの変数は保存されませんでした:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "コードで@nameを指定してください", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "現在のコードで、新しいUsercssスタイルのデフォルト・テンプレートを置き換えますか?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "@name が指定されていません", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "ここにコードを挿入...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "インストール済みのスタイルより古いバージョンです。", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "次のスタイルを書く:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "このURL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropboxにエクスポート", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropboxへのインポート/エクスポート機能は、オプションページにある より進歩したスタイル同期機能 へ移行しました。", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropboxからインポート", + "description": "" + }, + "overwriteFileExport": { + "message": "存在するファイルを上書きしてよろしいですか?", + "description": "" + }, + "exportSavedSuccess": { + "message": "ファイルをセーブしました", + "description": "" + }, + "noFileToImport": { + "message": "スタイルをインポートするには、まずエクスポートする必要があります。", + "description": "" + }, + "connectingDropbox": { + "message": "Dropboxに接続中...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Dropboxへの接続は、webstoreから直接インストールしたアプリ内でのみ可能です", + "description": "" + }, + "gettingStyles": { + "message": "全スタイルを取得中...", + "description": "" + }, + "zipStyles": { + "message": "スタイルをZip圧縮中...", + "description": "" + }, + "unzipStyles": { + "message": "スタイルをZip解凍中...", + "description": "" + }, + "readingStyles": { + "message": "スタイルを読み込み中...", + "description": "" + }, + "uploadingFile": { + "message": "スタイルをアップロード中...", + "description": "" + }, + "addStyleLabel": { + "message": "新スタイルを作成", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "さらに表示", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "ドメイン上の URL", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "「適用先」を使用すると、このセクションのコードが適用される URL を制限することができます。", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "適用先", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "「適用先」の情報を表示", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "圧縮されたCSSでは機能しません", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "正規表現に一致する URL", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "削除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "「適用先」の最後の項目を削除することはできません", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "個別指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "すべて", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "次で始まる URL", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "すべての更新を適用", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "バックアップ", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "ファイルを選択するか、このページにドラッグ&ドロップしてください。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "スタイルをエクスポート", - "description": "" - }, - "checkAllUpdates": { - "message": "全スタイルの更新をチェック", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "全スタイルを再チェックします。私はスタイルを編集していません!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "更新をチェック", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "チェック中...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "クリックでアンインストール", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "括弧と引用符を自動的に閉じる", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "()[]{}''\"\" の開き括弧/引用符の入力時に、対応する閉じ括弧/引用符を自動的に追加します", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "入力の自動補完を有効にする", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSSの色選択ツールを使用する", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "スマートインデントにタブ文字を使用", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "キーマップ", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "ワードラップを有効にする", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "ハイライト", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "選択した単語のみ", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "カーソル下の単語", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "ダブルクリックで高さを最大化/元に戻す", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "ダブルクリックでトークンを選択する", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "トークンの例: .foo-bar-2 #aabbcc 0.32 !important\n無効にすると、記号で区切られた範囲で単語が選択されます。", - "description": "" - }, - "cm_smartIndent": { - "message": "スマートインデントを使用する", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "タブサイズ", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "テーマ", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "見本を右クリックして対応するソース行を選択します", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "フォーマット切り替え: HEX -> RGB -> HSL\nシフトを押しながらクリックすると逆向きに切り替えます。\nまた、PgUp (PageUp), PgDn (PageDown) キーも使用できます。", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "色選択ツールを開きます", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "変更時", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "自動保存して変更を自動的に適用します", - "description": "" - }, - "configureStyle": { - "message": "設定", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "ホームページ上で設定", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "キャンセル", - "description": "" - }, - "confirmClose": { - "message": "閉じる", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "デフォルトを使用", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "削除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "変更を破棄しますか?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "いいえ", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "保存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "中止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "はい", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "クリップボードへコピーしました", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "クリップボードへコピー", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "(更新を妨げない)UI 上でのみ有効なスタイルのカスタム名を入力してください", - "description": "" - }, - "customNameResetHint": { - "message": "カスタム名の使用をやめ、スタイル自身の名称に切り替えます", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateInstalled": { - "message": "インストール日", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylusのデータベース使用中にエラーが発生しました。考えられる解決策を記載したWebページを開きますか?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "デフォルト", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "このスタイルを削除してもよろしいですか?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "削除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus でウェブのデザインを変更しましょう。これは、ユーザースタイルを管理するツールです。Stylus を利用すると、多くの人気サイト向けのテーマやスキンを簡単にインストールできます。", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "すべてのスタイルをオフにする", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "無効化", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "このページの任意の場所にバックアップファイルをドロップしてインポートします。", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "ファイルをインストールするときは、タブ(タイトルが表示されている領域)にドロップしてください。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "削除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "行(または行:列)に移動", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "スタイルを編集", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "編集", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "スタイル「$stylename$」を編集", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "有効化", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "現在のドメインを除外", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "現在のURLを除外", - "description": "" - }, - "exportLabel": { - "message": "エクスポート", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "フィードバック", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "ホームページ", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部リンク", - "description": "Label for external links" - }, - "externalSupport": { - "message": "サポート", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercssの文書", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numTotal$ 件中の $numShown$ 件を表示", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "現在のフィルターにマッチするスタイルはありません", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "スタイルを検索", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "このサイト用のスタイルを検索", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "結果を下に表示", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "検索結果をこのウィンドウに表示", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "追加", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "複製", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "無効化", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "有効", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "エラー", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "履歴", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "次", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "前", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "リセット", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "保存しました", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "タイトル", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "不明", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "ヘルプ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "コマンド名を入力", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "ホットキーを押す", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "使用中のブラウザの現在のバージョンの不具合のため、このホストは無効にされています", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "スタイルに追加", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "インポートされたスタイルを現在のスタイルに追加する", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "インポート", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "@preprocessorを含むスタイルは、クラシックモードでは機能しません。エディタをUsercssモードにしてください : 1) スタイルマネージャーを開きます, 2)「Usercssとして」チェックボックスをONにします, 3)「新スタイルを作成」をクリックします", - "description": "" - }, - "importPreprocessorTitle": { - "message": "@preprocessorの潜在的な問題", - "description": "" - }, - "importReplaceLabel": { - "message": "スタイルを上書き", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "現在のスタイルの内容を破棄し、インポートされたスタイルで上書きする", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "件のスタイルを追加しました", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "件の同一のスタイルをスキップしました", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "件の無効なスタイルをスキップしました", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "件のメタ情報とコードを更新しました", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "件のコードを更新しました", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "件のメタ情報を更新しました", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "スタイルのインポートが終了しました", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "変更がありませんでした。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "件のスタイルを元に戻しました", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "インポートが取り消されました", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "インストール", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "インストール済み", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "再インストール", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新", - "description": "Label for update button" - }, - "installUpdate": { - "message": "更新をインストール", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "現在、このスタイルは「$url$」から更新されます", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "更新をチェック", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "ライセンス", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "ヘルプ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "スタイルを取得", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "ウィキ", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "翻訳", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLintは「$preprocessorname$」プリプロセッサをサポートしていません", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(次のようにルールを設定してください: 0=無効, 1=警告, 2=エラー)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$ のルールを設定する", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Linterの設定を行うときはクリックしてください", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "これらの不正な設定のために保存されませんでした:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "問題点", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ によってこれらの問題点が見つかりました:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "不正なJSONフォーマットです", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "予期しないリセットを復旧するには、テキストボックス内で Ctrl-Z(または Cmd-Z)を押してください", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "ルールの完全なリストを見る", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "ファイルの監視中にエラーが発生しました", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "外部の変更時にスタイルを自動更新する場合は、このタブを開いたままにしておいてください。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "外部の変更時にスタイルを自動更新する場合は、このタブと元のタブを開いたままにしておいてください。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "自動リロード", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "適用先欄のファビコン", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "ファビコンをグレー表示", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylusは外部サービスを使用します https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "フィルター", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "インストール済みスタイル", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "適用先欄の表示件数", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercssとして", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新しい管理UIレイアウト", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "無効なスタイルのみ", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "有効なスタイルのみ", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "外部取得スタイルのみ", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "ローカル作成スタイルのみ", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(userstyles.orgのページからインストールされていないスタイル)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "非Usercssスタイルのみ", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "更新もしくは問題があるスタイルのみ", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Usercssスタイルのみ", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "アクティブなスタイルの数を表示する", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "不正な @var チェックボックス: 値は0か1である必要があります", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "不正な @var 色: $color$は有効な色ではありません", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "不正な @var $type$: 値は数値か配列である必要があります", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "不正な @var $type$: 複数の単位が定義されています", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "不正な @var $type$: 配列の要素が多すぎます", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "不正な @var $type$: 配列の要素は、数値,文字列またはnullである必要があります", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "不正な @var $type$: デフォルト値がnullです", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "不正な @var $type$: デフォルト値が最小値を下回っています", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "不正な @var $type$: デフォルト値が最大値を上回っています", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "不正な @var $type$: デフォルト値がステップ値の倍数になっていません", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "不正な @var $type$: '$units$' は有効な単位ではありません", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "不正な @var 選択: デフォルト値は、配列またはオブジェクトである必要があります", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "不正な @var 選択: 配列/オブジェクト内の値は文字列である必要があります", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "不正な @var 選択: オプションのリストが空です", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "不正な @var 選択: オプションのラベルが空です", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "不正な @var 選択: 複数のデフォルトオプションが定義されています", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "不正な @var 選択: オプション名が重複しています", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "不正な @var 選択: 値がオプションのリストに存在しません", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "不正なURLプロトコル。httpかhttpsのみ許可されています: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "不正なバージョン番号。値がバージョン番号のパターンに合っていません: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "数値を入力してください", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "クォートで囲まれた文字列を入力してください", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "単語を入力してください", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "文字を入力してください: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "EOTデータを入力してください", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "必須のメタデータがありません: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "不正なJSON: $literal$ は有効なJSONデータではありません", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "不明なメタデータ: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "不明な @$varkey$ タイプ: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "不明な @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "該当するスタイルはありません。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "オプション", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "スタイルマネージャーを開く", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "アクション", - "description": "" - }, - "optionsAdvanced": { - "message": "上級者向け", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "エディタのコンテキストメニューに「削除」を追加する", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "HTML[stylus-iframe] によってiframeへのアクセスを可能にする", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "各iframeにトップサイトドメインを公開します。\n次のようにiframe用のCSSを書くことができるようになります:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "新しいスタイルを usercss として作成します", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "スタイルのアセットを許可するためにCSPにパッチを当てる", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "厳格なCSP(Content-Security-Policy)を持つサイトで、ロードできない画像やフォントを含んだスタイルの場合に、これを有効にします。\n\nこの設定を有効にすると、CSPの制限をゆるめて、必要なコンテンツのロードを許可します。このオプションは、潜在的なセキュリティへの影響を理解し、許可しているコンテンツを監視する責任を持つことができる上級ユーザーのみを対象としています。 詳細については、CSSベースの攻撃に関する資料をお読みください。\n\nまた、インストールされている別の拡張機能が最初にネットワークの応答を変更した場合、この特別な設定が有効になるとは限らないことに注意してください。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "即時更新モード", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "閲覧時に、スタイルの指定されていないコンテンツが点滅するような場合に有効にしてください。これは、ダークテーマで特に目立つことがあります。\n\n技術的な原因は、Chrome/Chromium が拡張機能との非同期通信を遅延することです。これは(無意味なことが多いですが)ページのロード時間の短縮のために行われ、スタイルの適用を遅延する場合があります。これを回避するため(web拡張自体は同期通信APIを提供していないので)、Stylusは「非推奨」の XMLHttpRequest web API をスタイルの読み込みに使用するオプションを提供しています。サーバからページがダウンロードされている間に、リクエストは数ミリ秒で終了するため、悪影響はありません。\n\nそれでも、Chromium は、開発者ツールのコンソールに警告を出力します。 警告を右クリックして非表示にすると、以後は警告を表示しないようにすることができます。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "無効にしたときの背景色", - "description": "" - }, - "optionsBadgeNormal": { - "message": "背景色", - "description": "" - }, - "optionsCheck": { - "message": "スタイルを更新", - "description": "" - }, - "optionsCheckUpdate": { - "message": "使用可能なすべての更新を確認してインストールする", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "アイコンの修飾", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "ツールバーアイコン", - "description": "" - }, - "optionsCustomizePopup": { - "message": "ポップアップ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "更新設定", - "description": "" - }, - "optionsCustomizeSync": { - "message": "クラウドとの同期", - "description": "" - }, - "optionsHeading": { - "message": "オプション", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "暗いブラウザのテーマ", - "description": "" - }, - "optionsIconLight": { - "message": "明るいブラウザのテーマ", - "description": "" - }, - "optionsOpen": { - "message": "開く", - "description": "" - }, - "optionsOpenManager": { - "message": "スタイルを管理", - "description": "" - }, - "optionsPopupWidth": { - "message": "ポップアップの幅(ピクセル単位)", - "description": "" - }, - "optionsReset": { - "message": "オプションをデフォルト値にリセットする", - "description": "" - }, - "optionsResetButton": { - "message": "オプションをリセット", - "description": "" - }, - "optionsStylusThemes": { - "message": "StylusのUIテーマを見つける", - "description": "" - }, - "optionsSubheading": { - "message": "その他のオプション", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "旧バージョンまたはStylishからスタイルのバックアップをインポートする場合は、スタイルマネージャで一度手動で更新チェックを行い、すべてのスタイルが確実に更新されるようにしてください。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "ユーザースタイルの自動更新間隔(時間単位)(0を指定すると更新しません)", - "description": "" - }, - "optionsSyncNone": { - "message": "未選択", - "description": "" - }, - "optionsSyncConnect": { - "message": "接続", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "切断", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "すぐに同期", - "description": "" - }, - "optionsSyncLogin": { - "message": "ログイン", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "スタイルをダウンロード中 ( $loaded$/ $total$)", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "スタイルをアップロード中( $loaded$/ $total$)", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "同期中...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "接続中...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "接続状態", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "切断中...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "切断状態", - "description": "" - }, - "paginationCurrent": { - "message": "現在のページ", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "推定ページ数", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "次ページ", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "前ページ", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "総ページ数", - "description": "" - }, - "parseUsercssError": { - "message": "Stylusはusercssの解析に失敗しました: ", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "ポップアップ内のスタイルをソートして表示", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "横に白い境界線を追加する", - "description": "" - }, - "popupBordersTooltip": { - "message": "新しいChromeが横の境界線を描かなくなったため、暗いテーマで有効です", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, または数字パッドキーにより、N番目のスタイルの有効/無効を切り替えます(0は10番目を意味します)\n- は、その文字で始まる先頭のスタイルの有効/無効を切り替えます\n を併用すると、切り替えではなくエディタを開きます\n は、リストのスタイルをすべて有効にします\n は、リストのスタイルをすべて無効にします\n と <`>(バッククォート)は、初期状態が有効なスタイルのみを切り替えます。すなわち ポップアップ上で後から有効にしたスタイルは切り替えません。例えば、テスト後に初期の選択に戻すには、全解除してから切り替えてください(すなわち の順に押してください)\n詳細については wiki を参照ください", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "クリックすると使用可能なホットキーを表示します", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "シフトを押しながらクリック または 右クリック で、現在のサイトに適用可能なスタイルの管理画面を開きます", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "アクションメニュー", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "(アドレスバーのない)シンプルなウィンドウを使用", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "新しいウィンドウでエディタを開く", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "エディタのタブをブラウザのウィンドウから切り離すことでも有効になります。\nそして、分離したエディタのタブを他のブラウザのウィンドウに結合すれば無効になります。", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "スタイル一覧をコマンドボタンより上に表示", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "現在のサイトで有効なスタイルの数を表示", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "自動プレビュー", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "変更を保存しないで一時的に適用します。\n変更を確定する場合には、スタイルを保存してください。", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus拡張をリロードする", - "description": "Context menu reload" - }, - "replace": { - "message": "置換", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "すべて置換", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "次に置換", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "スタイルをインポート", - "description": "" - }, - "search": { - "message": "検索", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "大文字小文字を区別する", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "グローバルスタイルも検索", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "マッチ数", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "コードおよび適用先欄のマッチ数", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "スタイル名を大文字小文字の区別なく検索します:\n複数の単語 - 全単語を順番の区別なく検索します\n\"複数の単語からなるフレーズ\" - 正確なフレーズを (引用符は除いて) 検索します\n2020 - このように数値 (年) を指定すると、2020年に更新されたスタイルも結果に表示します", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "正規表現検索には /re/ を使用してください", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "総インストール数", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "該当するスタイルはありません。", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "スタイルはインストールされますが、現在のサイトのURLには適用されません。", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "このユーザースタイルの作者に、URLの追加について確認してみてください。\nあなた自身が、管理画面でこのスタイルを開いて編集することは可能です。\nしかし、このスタイルの自動更新は無効になることに注意してください。", - "description": "" - }, - "searchResultRating": { - "message": "評価", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "更新日", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "週間インストール数", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "すべて", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSSコード", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " または キーで検索欄に移動します。\nデフォルトモードは、空白で区切られたすべての単語を任意の順番で探す文字列検索です。\n正確な文字列検索 : 検索文字列をダブルクォートで囲んでください。例. <\".header ~ div\">\n正規表現検索 : 検索文字列にスラッシュとフラグを含めてください。例. \nスコープセレクタで「URLによる」を選択 : 指定されたURLに適用されるスタイルを見つけます。例. https://www.example.org/\nスコープセレクタで「メタデータ」を選択 : 名前、「適用先」指定子、インストールURL、アップデートURL、そして usercss スタイルのメタデータブロック全体を検索します。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "URLによる", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "メタデータ", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名前", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "他のセクションを追加", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "コード", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "セクションを削除", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "削除したセクションを復旧", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "セクション", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "ショートカット", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "キーボードショートカットを定義する", - "description": "" - }, - "sortDateNewestFirst": { - "message": "新しい順", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "古い順", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "インストール済みスタイルの並べ替え", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "タイトル昇順", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "タイトル降順", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "インストール済みの項目の並べ替え方法を、ドロップダウンリストで選択してください。デフォルト設定は、タイトルの昇順(AからZへ)になっています。「タイトル降順」を選択すると、タイトルの降順(ZからAへ)に並べ替えます。\n他に、複数の基準で項目の並べ替えを行う設定もあります。これは、複数の列を持つ表の並べ替えと考えられ、(プラス記号を挟んで)選択された各カテゴリーは、対応する列またはグループを表します。\n例えば、「有効(1番目)+タイトル」という設定の場合、すべての有効な項目がリストの先頭に並べられ、次にタイトルの昇順(AからZへ)で有効/無効な項目がそれぞれ並べられます。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "コンテンツの並べ替え", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正規表現は無効です。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "書式整形", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "ヒント: 書式整形ボタンを右クリックするか、下で設定したキーボードショートカットを使用すると、このパネルを表示せずに書式設定が行えます", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports をインデント", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "改行を保存", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "管理画面に戻る", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "このスタイルは変更されていますが、保存されていません。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "有効", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Mozilla形式のインポートに失敗しました", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla形式のコードを貼り付ける", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "「$stylename$」を Stylus にインストールしますか?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "ユーザースタイルのインストールに失敗しました!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "「$stylename$」はすでにインストール済みです。上書きしますか?\nバージョン: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "名前を入力してください", - "description": "Error displayed when user saves without providing a name" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "'regexp()' の誤った使用のためスタイルを適用できませんでした", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "いくつかの 'regexp()' のルールはコンパイルできませんでした", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "このスタイルは、完全なURLの一致を要求する CSS4 @document 仕様 に違反した部分一致の正規表現を使用しています。影響を受けるCSSセクションはページに適用されませんでした。このスタイルは、'regexp()' のルールを誤ってチェックしていた かなり初期のバージョンの Stylish-for-Chrome で作成された可能性があります(既知のバグです)。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "'regexp()' の誤った使用のためいくつかのセクションを適用できませんでした", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正規表現をテスト", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "一致するタブ", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "無効な正規表現がスキップされました", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "一致するタブはありません", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注: 正規表現の入力欄でエスケープする場合には、「\\」1個を使用してください。それは、CSSでの引用符で囲まれた文字列の仕様に従い、スタイルコード内で自動的に「\\\\」に変換されます。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "完全に一致しないため、スキップされました", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "一致する開いているタブのリスト(URLをクリックするとそのタブに移動します)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "保存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla形式のコードは、userstyles.org に投稿することができ、また従来の Stylish for Firefox でも使用できます", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla形式のスタイル", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "「$stylename$」を更新してもよろしいですか?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "このスタイルはエディタの外部で変更されました。このスタイルをリロードしますか?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "このページではStylusは動作しません。", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "セキュリティ上の予防措置として、ブラウザは拡張機能がビルトイン ページ(chrome://version, Chrome 61 の標準の新しいタブページ, about:addons 等)に影響を与えることを禁止しています。これは他の拡張機能のページについても同様です。各ブラウザはまた、自身の拡張機能ギャラリーへのアクセスについても制限しています(Chrome Web ストア や AMO 等)。", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "値を保存できません。テキストの量を減らしてください。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "スタイルの有効/無効の切り替え", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "元に戻す", - "description": "Button label" - }, - "undoGlobal": { - "message": "すべてのセクションで元に戻す", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefoxはこのサイトへのアクセスを禁止しています。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "アクセスを許可するには、 を開き、リストを右クリックして「新規作成」-「真偽値」をクリックし、 を貼り付けてOKをクリックし、 を選択してOKをクリックし、その後、 ページをリロードしてください。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Firefox 60 以降では、からAMOのドメインを削除する必要があるかもしれません。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Firefox 59 以降のみが、「WebExtensionがこのようなCSPプロテクトされたサイトにスタイル要素を追加すること」を許可する設定を行えます。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "ページと通信できませんでした。タブを再読み込みしてみてください。", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "chrome://extensions ページでStylus拡張機能の当該チェックボックスを有効にした場合にのみ、Stylusは file:// URLにアクセスできます。", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylusにはアクセスできないファイル形式があります(例えばpdfやjsonファイル等)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "更新は見つかりませんでした。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "いくつかの更新可能なスタイルは、ローカルでの編集内容が失われることを避けるために、チェックされませんでした。更新を強制的に行うには、個別のチェック、もしくは、全スタイルに対する再チェックを実行してください(この場合、ローカルでの編集内容は上書きされます)。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新に失敗しました: サーバーが応答コード「$code$」を返しています。", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "更新に失敗しました: サーバーに到達できません。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "更新チェックの履歴", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "更新をインストール(ローカルでの編集内容は上書きされます)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "更新を強制すると、すべてのローカルでの編集内容が上書きされます。", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "このスタイルはローカルで編集されました。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "このスタイルはローカルで編集されている可能性があります。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "スタイルは最新の状態です。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新が完了しました。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新がインストールされました:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "既存のスタイルの上書きを避けるために、@name または @namespace の値を変更してください。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "設定ダイアログの表示後に、スタイルが更新または削除されました。スタイルのメタデータの破損を避けるため、これらの変数は保存されませんでした:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "コードで@nameを指定してください", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "現在のコードで、新しいUsercssスタイルのデフォルト・テンプレートを置き換えますか?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name が指定されていません", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "ここにコードを挿入...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "インストール済みのスタイルより古いバージョンです。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "次のスタイルを書く:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "このURL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropboxにエクスポート", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropboxへのインポート/エクスポート機能は、オプションページにある より進歩したスタイル同期機能 へ移行しました。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropboxからインポート", - "description": "" - }, - "overwriteFileExport": { - "message": "存在するファイルを上書きしてよろしいですか?", - "description": "" - }, - "exportSavedSuccess": { - "message": "ファイルをセーブしました", - "description": "" - }, - "noFileToImport": { - "message": "スタイルをインポートするには、まずエクスポートする必要があります。", - "description": "" - }, - "connectingDropbox": { - "message": "Dropboxに接続中...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropboxへの接続は、webstoreから直接インストールしたアプリ内でのみ可能です", - "description": "" - }, - "gettingStyles": { - "message": "全スタイルを取得中...", - "description": "" - }, - "zipStyles": { - "message": "スタイルをZip圧縮中...", - "description": "" - }, - "unzipStyles": { - "message": "スタイルをZip解凍中...", - "description": "" - }, - "readingStyles": { - "message": "スタイルを読み込み中...", - "description": "" - }, - "uploadingFile": { - "message": "スタイルをアップロード中...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index 18fa253f..f3e394f2 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -1,1643 +1,1586 @@ { - "addStyleLabel": { - "message": "새 스타일 작성", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "스타일 추가", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "투명도", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "추가", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "적용 대상: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "스타일 추가", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "투명도", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "추가", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "적용 대상: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "그 이상", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL의 도메인이 다음과 같음", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "'적용 대상'은 이 섹션에 작성한 스타일을 어느 URL에 적용할지 정합니다", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "적용 대상", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "'적용 대상' 정보 표시", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "경량화(Minify) 된 CSS에선 작동하지 않습니다.", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL이 다음 정규 표현식과 일치함", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "제거", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "마지막 '적용 대상' 항목은 제거할 수 없습니다", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "개별 지정", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "전부", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL의 앞부분이 다음과 같음", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "모든 업데이트 적용", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "작성자", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "백업", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "파일을 선택하거나, 이 페이지로 파일을 드래그앤드롭하세요.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "스타일 내보내기", + "description": "" + }, + "checkAllUpdates": { + "message": "모든 스타일 업데이트 확인", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "한 번 더 확인해보세요. 아직 아무것도 수정하지 않았답니다!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "업데이트 확인", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "확인 중...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "클릭하여 제거", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "괄호 및 따옴표 자동으로 닫기", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "()[]''\"\"의 여는 기호를 입력할 시, 닫는 기호를 자동으로 추가합니다", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "타이핑 자동완성", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "CSS 색상에 Colorpicker(색상 선택기) 표시", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "자동 들여쓰기 시 탭 사용", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "키 매핑", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "자동 줄바끔", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "하이라이트", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "선택된 것만", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "커서 위치의 토큰", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "더블 클릭으로 높이 최대화/이전 높이로 복구할 수 있습니다", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "더블 클릭으로 토큰 선택", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "토큰 예시: .foo-bar-2 #aabbcc 0.32 !important\n비활성화 시: 문장 부호로 구분된 단어 선택", + "description": "" + }, + "cm_smartIndent": { + "message": "자동 들여쓰기", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "탭 크기", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "테마", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "16 진수-> RGB -> HSL 순서로 형식을 변환합니다.\nShift+클릭을 이용해 역순으로 변환할 수 있습니다.\nPgUp(PageUp), PgDn(PageDown) 키도 사용 가능합니다.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "색상 선택기 열기", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "변경 시", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "자동으로 변경 사항 저장 및 적용", + "description": "" + }, + "configureStyle": { + "message": "설정", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "홈페이지에서 설정", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "취소", + "description": "" + }, + "confirmClose": { + "message": "닫기", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "기본값 사용", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "삭제", + "description": "" + }, + "confirmDiscardChanges": { + "message": "변경 사항을 무시하시겠습니까?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "아니오", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "확인", + "description": "" + }, + "confirmSave": { + "message": "저장", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "중지", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "예", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "클립보드에 복사됨", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "클립보드에 복사", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "설치된 날짜", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "변경된 날짜", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Stylus 데이터베이스를 사용하던 중 오류가 발생했습니다. 해결 방법 안내 웹페이지를 여시겠습니까?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "기본", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "이 스타일을 정말 삭제하시겠습니까?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "삭제", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Stylus로 웹페이지를 새롭게 디자인해보세요. 유명한 사이트의 테마, 스킨도 간단하게 설치할 수 있는 사용자 스타일 관리자입니다.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "모든 스타일 비활성화", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "비활성화", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "이 페이지 아무 곳에나 백업 파일을 놓으세요.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "파일을 설치하려면, 파일을 탭 표시줄(탭 제목이 표시되는 영역)에 놓으세요.", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "삭제", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "줄 이동", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "스타일 수정", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "수정", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": " $stylename$ 스타일 수정", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "활성화", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "현재 도메인 제외", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "현재 URL 제외", + "description": "" + }, + "exportLabel": { + "message": "내보내기", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "피드백", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "홈페이지", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "외부 링크", + "description": "Label for external links" + }, + "externalSupport": { + "message": "지원", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Usercss 안내 문서", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numTotal$개 중 $numShown$개 표시", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "현재 적용된 필터와 일치하는 스타일이 없습니다", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "스타일 찾기", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "현재 사이트에 맞는 스타일 찾기", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "팝업창 내에서", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "이 창에서 검색 결과 표시", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "추가", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "복제", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "비활성화됨", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "활성화됨", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "에러", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "기록", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "다음", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "이전", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "초기화", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "저장됨", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "제목", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "알 수 없음", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "도움말", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "명령어를 입력하세요", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "단축키를 입력하세요", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "이 호스트는 현재 사용 중인 브라우저 버전의 버그로 인해 비활성화되었습니다", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "스타일에 추가", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "가져온 스타일을 현재 스타일에 추가", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "가져오기", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "스타일 덮어쓰기", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "현재 스타일을 버리고, 가져온 스타일로 덮어씁니다.", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "추가됨", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "중복 생략됨", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "유효하지 않아 생략됨", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "메타데이터, 코드 모두 업데이트됨", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "코드가 업데이트됨", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "메타데이터 업데이트됨", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "스타일 가져오기 완료", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "변경사항 없음", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "스타일 되돌려짐", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "가져오기가 취소되었습니다.", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "스타일 설치", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "스타일 설치됨", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "스타일 재설치", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "스타일 업데이트", + "description": "Label for update button" + }, + "installUpdate": { + "message": "업데이트 설치", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "현재 스타일은 $url$에서 업데이트되었습니다", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "업데이트 확인", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "라이센스", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "도움말", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "스타일 찾기", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "위키", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "번역", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint는 $preprocessorname$ 전처리기를 지원하지 않습니다.", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(규칙 설정: 0 = 비활성화, 1 = 경고(warning), 2 = 에러)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "$linter$ 규칙 설정", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "현재 Linter를 설정하려면 클릭하세요", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "유효하지 않은 설정으로 인해 저장할 수 없음:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "문제점", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "이 문제점은 $link$에 의해 발견됨:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "유효하지 않은 JSON 형식입니다", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "실수로 초기화한 경우, 텍스트 박스 내에서 Ctrl+Z (혹은 Cmd+Z)를 눌러 취소할 수 있습니다", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "전체 규칙 목록 보기", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "파일을 주시하는 동안 오류가 발생함", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭을 열어두세요.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭과 원래 탭을 모두 열어두세요.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "실시간 리로드", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "적용 대상 열에 Favicon(사이트 아이콘) 표시", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "회색으로 표시", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus는 https://www.google.com/s2/favicons 외부 서비스를 이용합니다", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "필터", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "설치한 스타일 목록", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "적용 대상 항목 수", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "Usercss로 작성", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "새로운 관리 페이지 UI 레이아웃", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "비활성화된 스타일만", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "활성화된 스타일만", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "외부에서 설치한 스타일만", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "로컬에서 생성한 스타일만", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(userstyles.org 페이지에서 설치하지 않은 스타일)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Usercss가 아닌 스타일만", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "업데이트 혹은 문제점이 있는 것만", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Usercss 스타일만", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "활성화된 스타일 개수 표시", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "@var 체크박스가 유효하지 않습니다. 값은 0, 1중 하나여야 합니다.", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "@var 색상이 유효하지 않습니다. $color$은(는) 색상이 아닙니다.", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "@var $type$이(가) 유효하지 않습니다. 값은 숫자나 배열이어야 합니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "@var $type$이(가) 유효하지 않습니다. 구성단위가 여러 개 정의되었습니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "@var $type$이(가) 유효하지 않습니다. 배열의 요소가 너무 많습니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "@var $type$이(가) 유효하지 않습니다. 배열 요소는 숫자, 문자열, null 중 하나여야 합니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본 값이 null입니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최솟값보다 작습니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최댓값보다 큽니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 단계의 변수가 아닙니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "@var $type$이(가) 유효하지 않습니다. '$units$'은(는) 유효한 구성단위가 아닙니다.", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "유효하지 않은 @var 선택입니다. 기본 값은 배열이나 오브젝트여야 합니다.", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "유효하지 않은 @var 선택입니다. 배열, 오브젝트 내 값은 문자열이어야 합니다.", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "유효하지 않은 @var 선택입니다. 옵션 목록이 비었습니다.", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "유효하지 않은 @var 선택입니다. 옵션 라벨이 비었습니다.", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "유효하지 않은 @var 선택입니다. 기본 옵션이 여러 번 정의되었습니다.", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "유효하지 않은 @var 선택입니다. 옵션명이 중복되었습니다.", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "유효하지 않은 @var 선택입니다. 옵션 목록에 값이 존재하지 않습니다.", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "$protocol$은(는) 유효하지 않은 URL 프로토콜입니다. http, https만 허용됩니다.", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "유효하지 않은 버전 숫자입니다. $version$은(는) 유의적 버전 패턴과 일치하지 않습니다.", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "숫자를 입력하세요", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "따옴표로 묶인 문자열을 입력하세요", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "단어를 입력하세요", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "$chars$ 문자를 입력하세요", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "EOT 데이터를 입력하세요", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "필수 메타 데이터인 $keys$이(가) 누락되었습니다", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "유효하지 않은 JSON입니다. $literal$은(는) 유효한 JSON 리터럴이 아닙니다.", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "알 수 없는 메타데이터 $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "알 수 없는 @$varkey$ 타입: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "알 수 없는 @preprocessor $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "현재 사이트에 설치한 스타일이 없습니다.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "관리", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "옵션", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "스타일 관리자 열기", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "동작", + "description": "" + }, + "optionsAdvanced": { + "message": "고급", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "편집기 컨텍스트 메뉴에 '삭제' 추가", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "iframe을 HTML[stylus-iframe]으로 노출", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "최상위 사이트 도메인을 각 iframe에 노출합니다.\n다음과 같이 iframe용 CSS를 작성할 수 있습니다:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "새로운 스타일을 Usercss로 작성", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "비활성화 시의 배경 색", + "description": "" + }, + "optionsBadgeNormal": { + "message": "배경 색", + "description": "" + }, + "optionsCheck": { + "message": "스타일 업데이트", + "description": "" + }, + "optionsCheckUpdate": { + "message": "사용 가능한 모든 업데이트 확인 및 설치", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "툴바 아이콘 뱃지", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "툴바 아이콘", + "description": "" + }, + "optionsCustomizePopup": { + "message": "팝업", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "업데이트", + "description": "" + }, + "optionsCustomizeSync": { + "message": "클라우드에 동기화", + "description": "" + }, + "optionsHeading": { + "message": "옵션", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "어두운 브라우저 테마", + "description": "" + }, + "optionsIconLight": { + "message": "밝은 브라우저 테마", + "description": "" + }, + "optionsOpen": { + "message": "열기", + "description": "" + }, + "optionsOpenManager": { + "message": "스타일 관리", + "description": "" + }, + "optionsPopupWidth": { + "message": "팝업 너비 (픽셀 단위)", + "description": "" + }, + "optionsReset": { + "message": "기본 값으로 설정 초기화", + "description": "" + }, + "optionsResetButton": { + "message": "설정 초기화", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "추가 옵션", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Stylish나 구버전 스타일 백업을 가져왔을 경우, 스타일들을 최신 버전으로 유지하려면 스타일 매니저에서 한 번씩 수동으로 업데이트 검사를 진행해 주세요.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle 자동 업데이트 간격 (시간 단위, 0일시 업데이트하지 않음)", + "description": "" + }, + "optionsSyncNone": { + "message": "없음", + "description": "" + }, + "optionsSyncConnect": { + "message": "연결", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "연결 끊기", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "지금 동기화", + "description": "" + }, + "optionsSyncLogin": { + "message": "로그인", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "스타일 다운로드 중 ($loaded$/$total$)", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "스타일 업로드 중 ($loaded$/$total$)", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "동기화 중...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "연결 중...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "연결됨", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "연결 끊는 중...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "연결 끊김", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "현재 페이지", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "예상 페이지 수", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "다음 페이지", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "이전 페이지", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "총 페이지 수", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus가 Usercss 데이터를 해석하는데 실패했습니다:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "팝업 내에서 스타일 토글 시 재정렬", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "양옆에 흰색 테두리 추가", + "description": "" + }, + "popupBordersTooltip": { + "message": "측면 테두리를 칠하지 않으므로 새로운 Chrome의 다크 테마에서 유용합니다", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>,<0> (숫자패드 포함) - N번째 스타일 토글 (0은 10)\n- 해당 글자로 시작하는 첫 번째 스타일 토글\n 토글 대신 편집기 열기\n 나열된 스타일 활성화\n 나열된 스타일 비활성화\n, <`> (백틱) - 처음에 활성화한 스타일을 토글합니다. 팝업이 열려 있는 동안에는 나중에 활성화한 스타일에 적용되지 않습니다. 따라서 검사 후 초기 선택 항목을 복원할 수 있습니다. 간단하게, 모두 비활성화한 다음 로 다시 전환하세요.\n자세한 내용은 위키를 참고 바랍니다", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "사용 가능한 단축키를 확인하려면 클릭하세요", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift+클릭이나 우클릭으로 스타일 관리자를 열면 현재 사이트에 적용 가능한 스타일들이 표시됩니다.", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "상호작용 메뉴", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "새 창에서 편집기 열기", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "이 옵션은 편집기가 열린 탭을 브라우저 창에서 분리함으로써 활성화할 수도 있습니다.\n편집기 탭만 다른 브라우저 창으로 합치면 비활성화됩니다.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "스타일 목록을 커맨드 버튼 상단에 표시", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "현재 사이트에서 활성화된 스타일 개수", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "실시간 미리보기", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "변경 사항은 저장되지 않고 일시적으로 적용됩니다.\n영구적으로 변경하려면 스타일을 저장하세요.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Stylus 확장 프로그램 리로드", + "description": "Context menu reload" + }, + "replace": { + "message": "바꾸기", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "모두 바꾸기", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "바꿀 내용", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "스타일 가져오기", + "description": "" + }, + "search": { + "message": "검색", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "대소문자 구분", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "일치하는 개수", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "코드 및 적용 대상 값 내에서 일치하는 개수", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "정규 표현식 검색은 /re/ 문법을 사용합니다", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "총 설치 수", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "이 사이트에 맞는 스타일을 찾지 못했습니다.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "평가", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "업데이트됨", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "주간 설치 수", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS 코드", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "메타데이터", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "섹션 추가", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "코드", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "섹션 제거", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "제거된 섹션 복구", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "섹션", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "단축키", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "키보드 단축키 정의", + "description": "" + }, + "sortDateNewestFirst": { + "message": "최신 순으로", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "오래된 순으로", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "설치한 스타일들을 어떻게 정렬할지 선택합니다", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "제목 오름차순", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "제목 내림차순", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "설치한 스타일들을 정렬할 방식을 드롭 다운 목록에서 선택합니다. 기본 설정은 각 제목을 오름차순(A to Z)으로 정렬하고, \"제목 내림차순\" 을 선택 시 내림차순(Z to A)으로 정렬합니다.\n여러 기준에 따라 항목을 정렬할 수 있는 다른 사전 설정도 있습니다. 여러 개의 열이 있는 테이블을 정렬하고, 각 선택 옵션 내의 카테고리들이(+ 기호 사이) 열 또는 그룹을 나타낸다고 생각해보세요.\n예를 들어, 설정이 \"활성화됨 (first) + 제목\"인 경우, 모든 활성화된 항목이 목록의 맨 위에 정렬되도록 정렬된 후, Entry 제목 오름차순 정렬(A to Z)이 활성화된 항목과 비활성화된 항목 모두에 별도로 적용됩니다.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "내용 정렬", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "유효하지 않은 정규 표현식입니다.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "힌트: “Beautify” 버튼을 우클릭 하거나 아래 지정한 키보드 단축키를 사용하면 이 패널을 숨기면서 “Beautify”를 활성화 합니다", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports 들여쓰기", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "개행 문자 유지", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "관리 페이지로 돌아가기", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "스타일의 변경 사항을 저장하지 않았습니다.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "활성화됨", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Mozilla 형식 데이터를 가져오는데 실패했습니다", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla 형식의 코드를 붙여넣으세요", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Stylus에 '$stylename$'을(를) 설치하시겠습니까?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "userstyle 설치에 실패했습니다.\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$'은(는) 이미 설치되어 있습니다. 덮어쓰시겠습니까?\n버전: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "이름을 입력하세요", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla 형식", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "잘못된 'regexp()'의 사용으로 인해 스타일을 적용할 수 없습니다", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "일부 `regexp()` 규칙은 컴파일할 수 없습니다.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "이 스타일은 부분 일치 정규 표현식을 사용합니다. CSS4 @document 사양은 전체 URL 일치를 사용할 것을 강제하고 있으므로, 해당 CSS 섹션은 페이지에 적용되지 않았습니다. 이 스타일은 초기부터 `regexp()` 규칙을 바르게 확인하지 않는 것으로 알려진 Stylish-for-Chrome에서 생성되었을 것으로 추정됩니다.", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "잘못된 'regexp()' 사용으로 인해 몇몇 섹션을 적용할 수 없습니다.", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "정규 표현식 테스트", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "일치하는 탭 목록", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "유효하지 않은 정규 표현식 생략됨", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "일치하는 탭 없음", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "참고: 정규 표현식 입력 필드에서 이스케이프 처리는 단일 \\ 를 사용하세요. CSS에서 따옴표로 묶인 문자열의 사양에 따라 스타일 코드에서 자동으로 \\\\ 로 변환됩니다. ", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "완전히 일치하지는 않으므로 생략됨", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "열린 탭 중 일치하는 목록 (URL 클릭 시 해당 탭으로 이동)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "저장", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla 형식 코드는 userstyles.org에 올리거나 기존 Firefox용 Stylish에 사용할 수 있습니다", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla 형식으로 변환한 스타일", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "'$stylename$'을(를) 정말 수정하시겠습니까?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "이 스타일은 편집기 외부에서 변경되었습니다. 스타일을 다시 로딩하시겠습니까?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus는 이러한 페이지에서는 작동할 수 없습니다.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "브라우저 보안 상의 이유로, 확장 프로그램은 브라우저 내장 페이지(chrome://version, Chrome 61의 표준 새 탭 페이지, about:addons 등)나 타 확장 프로그램의 페이지에 영향을 미칠 수 없습니다. 각 브라우저의 확장 프로그램 스토어(Chrome 웹 스토어, AMO 등) 접근 또한 마찬가지입니다.", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "값을 저장할 수 없습니다. 텍스트의 양을 줄이세요.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "스타일 토글", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "취소", + "description": "Button label" + }, + "undoGlobal": { + "message": "모든 섹션에서 실행 취소", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox가 해당 사이트의 접근을 금지했습니다.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "접근을 허용하려면 를 열고, 목록을 우클릭 한 후, '새로 만들기'를 클릭하고, '불린값'을 선택하고, 을 붙여 넣고 확인을 누르고, , 확인 후 페이지를 새로 고침하세요.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "Firefox 60 이상 버전에서는 내의 에서 AMO 도메인을 제거해야 합니다.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Firefox 59 버전 이상에서만 이처럼 CSP 보호 정책이 적용된 사이트에 웹 확장 기능으로 스타일 요소를 추가할 수 있도록 설정 가능합니다.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "페이지와 통신할 수 없습니다. 탭을 다시 로딩(새로 고침) 해보세요.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus가 file:// URL에 접근할 수 있도록 하려면 chrome://extensions 페이지에서 파일 URL에 대한 액세스를 허용해야 합니다.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus는 일부 파일 형식(예: pdf, json 파일 등)에 접근할 수 없습니다.", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "이용 가능한 업데이트가 없습니다.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "로컬 수정 사항이 사라지는 것을 방지하기 위해, 일부 업데이트 가능한 스타일이 선택에서 누락되었을 수 있습니다. 이를 강제로 업데이트하려면 각각을 직접 선택하거나, 다른 전체 스타일 검사(따로 수정한 사항은 덮어씌워집니다)를 시행하세요.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "업데이트 실패. 서버의 응답 에러코드는 $code$입니다.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "업데이트 실패. 서버와 연결할 수 없습니다.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "업데이트 검사 기록", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "업데이트 설치 (로컬 수정 사항은 덮어씌워집니다)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "로컬 수정 사항을 무시하고 업데이트를 덮어씌웁니다.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "이 스타일은 로컬에서 수정되었습니다.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "이 스타일은 로컬에서 수정되었을 수 있습니다.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "스타일이 최신 상태입니다.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "업데이트가 완료됐습니다.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "설치된 업데이트:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "기존에 존재하는 스타일이 덮어씌워지는 것을 방지하려면 @name이나 @namespace 값을 변경하세요.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "설정 대화상자가 열리고 나서 스타일이 수정되거나 삭제되었습니다. 스타일의 메타 데이터와 충돌이 일어나는 것을 방지하기 위해, 현재 변수들은 저장되지 않습니다:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "코드에 @name을 지정하세요", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "현재 코드로 새 Usercss 스타일의 기본 템플릿을 대체하시겠습니까?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "@name을 비우면 기본 템플릿이 대체됩니다.", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "코드를 여기 입력하세요", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "설치되어 있는 스타일이 더 높은 버전입니다.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "스타일 작성 대상:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "현재 URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox 내보내기", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox 가져오기/내보내기는 옵션 페이지의 더 발전된 스타일 동기화 기능으로 대체되었습니다.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox 가져오기", + "description": "" + }, + "overwriteFileExport": { + "message": "기존 파일을 덮어쓰시겠습니까?", + "description": "" + }, + "exportSavedSuccess": { + "message": "파일 저장에 성공했습니다.", + "description": "" + }, + "noFileToImport": { + "message": "스타일을 가져오려면, 먼저 내보내야 합니다.", + "description": "" + }, + "connectingDropbox": { + "message": "Dropbox 연결 중...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Dropbox 연결은 웹 스토어에서 직접 설치한 앱에서만 가능합니다.", + "description": "" + }, + "gettingStyles": { + "message": "모든 스타일 가져오는 중...", + "description": "" + }, + "zipStyles": { + "message": "스타일 압축 중...", + "description": "" + }, + "unzipStyles": { + "message": "스타일 압축 푸는 중...", + "description": "" + }, + "readingStyles": { + "message": "스타일 읽어들이는 중...", + "description": "" + }, + "uploadingFile": { + "message": "파일 업로드 중...", + "description": "" + }, + "addStyleLabel": { + "message": "새 스타일 작성", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "그 이상", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL의 도메인이 다음과 같음", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "'적용 대상'은 이 섹션에 작성한 스타일을 어느 URL에 적용할지 정합니다", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "적용 대상", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "'적용 대상' 정보 표시", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "경량화(Minify) 된 CSS에선 작동하지 않습니다.", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL이 다음 정규 표현식과 일치함", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "제거", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "마지막 '적용 대상' 항목은 제거할 수 없습니다", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "개별 지정", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "전부", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL의 앞부분이 다음과 같음", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "모든 업데이트 적용", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "작성자", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "백업", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "파일을 선택하거나, 이 페이지로 파일을 드래그앤드롭하세요.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "스타일 내보내기", - "description": "" - }, - "checkAllUpdates": { - "message": "모든 스타일 업데이트 확인", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "한 번 더 확인해보세요. 아직 아무것도 수정하지 않았답니다!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "업데이트 확인", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "확인 중...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "클릭하여 제거", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "괄호 및 따옴표 자동으로 닫기", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "()[]''\"\"의 여는 기호를 입력할 시, 닫는 기호를 자동으로 추가합니다", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "타이핑 자동완성", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSS 색상에 Colorpicker(색상 선택기) 표시", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "자동 들여쓰기 시 탭 사용", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "키 매핑", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "자동 줄바끔", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "하이라이트", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "선택된 것만", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "커서 위치의 토큰", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "더블 클릭으로 높이 최대화/이전 높이로 복구할 수 있습니다", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "더블 클릭으로 토큰 선택", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "토큰 예시: .foo-bar-2 #aabbcc 0.32 !important\n비활성화 시: 문장 부호로 구분된 단어 선택", - "description": "" - }, - "cm_smartIndent": { - "message": "자동 들여쓰기", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "탭 크기", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "테마", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "16 진수-> RGB -> HSL 순서로 형식을 변환합니다.\nShift+클릭을 이용해 역순으로 변환할 수 있습니다.\nPgUp(PageUp), PgDn(PageDown) 키도 사용 가능합니다.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "색상 선택기 열기", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "변경 시", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "자동으로 변경 사항 저장 및 적용", - "description": "" - }, - "configureStyle": { - "message": "설정", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "홈페이지에서 설정", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "취소", - "description": "" - }, - "confirmClose": { - "message": "닫기", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "기본값 사용", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "삭제", - "description": "" - }, - "confirmDiscardChanges": { - "message": "변경 사항을 무시하시겠습니까?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "아니오", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "확인", - "description": "" - }, - "confirmSave": { - "message": "저장", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "중지", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "예", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "클립보드에 복사됨", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "클립보드에 복사", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "설치된 날짜", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "변경된 날짜", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylus 데이터베이스를 사용하던 중 오류가 발생했습니다. 해결 방법 안내 웹페이지를 여시겠습니까?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "기본", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "이 스타일을 정말 삭제하시겠습니까?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "삭제", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus로 웹페이지를 새롭게 디자인해보세요. 유명한 사이트의 테마, 스킨도 간단하게 설치할 수 있는 사용자 스타일 관리자입니다.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "모든 스타일 비활성화", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "비활성화", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "이 페이지 아무 곳에나 백업 파일을 놓으세요.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "파일을 설치하려면, 파일을 탭 표시줄(탭 제목이 표시되는 영역)에 놓으세요.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "삭제", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "줄 이동", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "스타일 수정", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "수정", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": " $stylename$ 스타일 수정", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "활성화", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "현재 도메인 제외", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "현재 URL 제외", - "description": "" - }, - "exportLabel": { - "message": "내보내기", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "피드백", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "홈페이지", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "외부 링크", - "description": "Label for external links" - }, - "externalSupport": { - "message": "지원", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss 안내 문서", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numTotal$개 중 $numShown$개 표시", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "현재 적용된 필터와 일치하는 스타일이 없습니다", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "스타일 찾기", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "현재 사이트에 맞는 스타일 찾기", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "팝업창 내에서", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "이 창에서 검색 결과 표시", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "추가", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "복제", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "비활성화됨", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "활성화됨", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "에러", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "기록", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "다음", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "이전", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "초기화", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "저장됨", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "제목", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "알 수 없음", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "도움말", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "명령어를 입력하세요", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "단축키를 입력하세요", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "이 호스트는 현재 사용 중인 브라우저 버전의 버그로 인해 비활성화되었습니다", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "스타일에 추가", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "가져온 스타일을 현재 스타일에 추가", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "가져오기", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "스타일 덮어쓰기", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "현재 스타일을 버리고, 가져온 스타일로 덮어씁니다.", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "추가됨", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "중복 생략됨", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "유효하지 않아 생략됨", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "메타데이터, 코드 모두 업데이트됨", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "코드가 업데이트됨", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "메타데이터 업데이트됨", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "스타일 가져오기 완료", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "변경사항 없음", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "스타일 되돌려짐", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "가져오기가 취소되었습니다.", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "스타일 설치", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "스타일 설치됨", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "스타일 재설치", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "스타일 업데이트", - "description": "Label for update button" - }, - "installUpdate": { - "message": "업데이트 설치", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "현재 스타일은 $url$에서 업데이트되었습니다", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "업데이트 확인", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "라이센스", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "도움말", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "스타일 찾기", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "위키", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "번역", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint는 $preprocessorname$ 전처리기를 지원하지 않습니다.", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(규칙 설정: 0 = 비활성화, 1 = 경고(warning), 2 = 에러)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$ 규칙 설정", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "현재 Linter를 설정하려면 클릭하세요", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "유효하지 않은 설정으로 인해 저장할 수 없음:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "문제점", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "이 문제점은 $link$에 의해 발견됨:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "유효하지 않은 JSON 형식입니다", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "실수로 초기화한 경우, 텍스트 박스 내에서 Ctrl+Z (혹은 Cmd+Z)를 눌러 취소할 수 있습니다", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "전체 규칙 목록 보기", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "파일을 주시하는 동안 오류가 발생함", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭을 열어두세요.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭과 원래 탭을 모두 열어두세요.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "실시간 리로드", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "적용 대상 열에 Favicon(사이트 아이콘) 표시", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "회색으로 표시", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus는 https://www.google.com/s2/favicons 외부 서비스를 이용합니다", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "필터", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "설치한 스타일 목록", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "적용 대상 항목 수", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercss로 작성", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "새로운 관리 페이지 UI 레이아웃", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "비활성화된 스타일만", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "활성화된 스타일만", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "외부에서 설치한 스타일만", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "로컬에서 생성한 스타일만", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(userstyles.org 페이지에서 설치하지 않은 스타일)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Usercss가 아닌 스타일만", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "업데이트 혹은 문제점이 있는 것만", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Usercss 스타일만", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "활성화된 스타일 개수 표시", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "@var 체크박스가 유효하지 않습니다. 값은 0, 1중 하나여야 합니다.", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "@var 색상이 유효하지 않습니다. $color$은(는) 색상이 아닙니다.", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "@var $type$이(가) 유효하지 않습니다. 값은 숫자나 배열이어야 합니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "@var $type$이(가) 유효하지 않습니다. 구성단위가 여러 개 정의되었습니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "@var $type$이(가) 유효하지 않습니다. 배열의 요소가 너무 많습니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "@var $type$이(가) 유효하지 않습니다. 배열 요소는 숫자, 문자열, null 중 하나여야 합니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본 값이 null입니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최솟값보다 작습니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최댓값보다 큽니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 단계의 변수가 아닙니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "@var $type$이(가) 유효하지 않습니다. '$units$'은(는) 유효한 구성단위가 아닙니다.", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "유효하지 않은 @var 선택입니다. 기본 값은 배열이나 오브젝트여야 합니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "유효하지 않은 @var 선택입니다. 배열, 오브젝트 내 값은 문자열이어야 합니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "유효하지 않은 @var 선택입니다. 옵션 목록이 비었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "유효하지 않은 @var 선택입니다. 옵션 라벨이 비었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "유효하지 않은 @var 선택입니다. 기본 옵션이 여러 번 정의되었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "유효하지 않은 @var 선택입니다. 옵션명이 중복되었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "유효하지 않은 @var 선택입니다. 옵션 목록에 값이 존재하지 않습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "$protocol$은(는) 유효하지 않은 URL 프로토콜입니다. http, https만 허용됩니다.", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "유효하지 않은 버전 숫자입니다. $version$은(는) 유의적 버전 패턴과 일치하지 않습니다.", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "숫자를 입력하세요", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "따옴표로 묶인 문자열을 입력하세요", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "단어를 입력하세요", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "$chars$ 문자를 입력하세요", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "EOT 데이터를 입력하세요", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "필수 메타 데이터인 $keys$이(가) 누락되었습니다", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "유효하지 않은 JSON입니다. $literal$은(는) 유효한 JSON 리터럴이 아닙니다.", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "알 수 없는 메타데이터 $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "알 수 없는 @$varkey$ 타입: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "알 수 없는 @preprocessor $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "현재 사이트에 설치한 스타일이 없습니다.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "관리", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "옵션", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "스타일 관리자 열기", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "동작", - "description": "" - }, - "optionsAdvanced": { - "message": "고급", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "편집기 컨텍스트 메뉴에 '삭제' 추가", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "iframe을 HTML[stylus-iframe]으로 노출", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "최상위 사이트 도메인을 각 iframe에 노출합니다.\n다음과 같이 iframe용 CSS를 작성할 수 있습니다:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "새로운 스타일을 Usercss로 작성", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "비활성화 시의 배경 색", - "description": "" - }, - "optionsBadgeNormal": { - "message": "배경 색", - "description": "" - }, - "optionsCheck": { - "message": "스타일 업데이트", - "description": "" - }, - "optionsCheckUpdate": { - "message": "사용 가능한 모든 업데이트 확인 및 설치", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "툴바 아이콘 뱃지", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "툴바 아이콘", - "description": "" - }, - "optionsCustomizePopup": { - "message": "팝업", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "업데이트", - "description": "" - }, - "optionsCustomizeSync": { - "message": "클라우드에 동기화", - "description": "" - }, - "optionsHeading": { - "message": "옵션", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "어두운 브라우저 테마", - "description": "" - }, - "optionsIconLight": { - "message": "밝은 브라우저 테마", - "description": "" - }, - "optionsOpen": { - "message": "열기", - "description": "" - }, - "optionsOpenManager": { - "message": "스타일 관리", - "description": "" - }, - "optionsPopupWidth": { - "message": "팝업 너비 (픽셀 단위)", - "description": "" - }, - "optionsReset": { - "message": "기본 값으로 설정 초기화", - "description": "" - }, - "optionsResetButton": { - "message": "설정 초기화", - "description": "" - }, - "optionsSubheading": { - "message": "추가 옵션", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Stylish나 구버전 스타일 백업을 가져왔을 경우, 스타일들을 최신 버전으로 유지하려면 스타일 매니저에서 한 번씩 수동으로 업데이트 검사를 진행해 주세요.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle 자동 업데이트 간격 (시간 단위, 0일시 업데이트하지 않음)", - "description": "" - }, - "optionsSyncNone": { - "message": "없음", - "description": "" - }, - "optionsSyncConnect": { - "message": "연결", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "연결 끊기", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "지금 동기화", - "description": "" - }, - "optionsSyncLogin": { - "message": "로그인", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "스타일 다운로드 중 ($loaded$/$total$)", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "스타일 업로드 중 ($loaded$/$total$)", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "동기화 중...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "연결 중...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "연결됨", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "연결 끊는 중...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "연결 끊김", - "description": "" - }, - "paginationCurrent": { - "message": "현재 페이지", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "예상 페이지 수", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "다음 페이지", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "이전 페이지", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "총 페이지 수", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus가 Usercss 데이터를 해석하는데 실패했습니다:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "팝업 내에서 스타일 토글 시 재정렬", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "양옆에 흰색 테두리 추가", - "description": "" - }, - "popupBordersTooltip": { - "message": "측면 테두리를 칠하지 않으므로 새로운 Chrome의 다크 테마에서 유용합니다", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>,<0> (숫자패드 포함) - N번째 스타일 토글 (0은 10)\n- 해당 글자로 시작하는 첫 번째 스타일 토글\n 토글 대신 편집기 열기\n 나열된 스타일 활성화\n 나열된 스타일 비활성화\n, <`> (백틱) - 처음에 활성화한 스타일을 토글합니다. 팝업이 열려 있는 동안에는 나중에 활성화한 스타일에 적용되지 않습니다. 따라서 검사 후 초기 선택 항목을 복원할 수 있습니다. 간단하게, 모두 비활성화한 다음 로 다시 전환하세요.\n자세한 내용은 위키를 참고 바랍니다", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "사용 가능한 단축키를 확인하려면 클릭하세요", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+클릭이나 우클릭으로 스타일 관리자를 열면 현재 사이트에 적용 가능한 스타일들이 표시됩니다.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "상호작용 메뉴", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "새 창에서 편집기 열기", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "이 옵션은 편집기가 열린 탭을 브라우저 창에서 분리함으로써 활성화할 수도 있습니다.\n편집기 탭만 다른 브라우저 창으로 합치면 비활성화됩니다.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "스타일 목록을 커맨드 버튼 상단에 표시", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "현재 사이트에서 활성화된 스타일 개수", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "실시간 미리보기", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "변경 사항은 저장되지 않고 일시적으로 적용됩니다.\n영구적으로 변경하려면 스타일을 저장하세요.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus 확장 프로그램 리로드", - "description": "Context menu reload" - }, - "replace": { - "message": "바꾸기", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "모두 바꾸기", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "바꿀 내용", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "스타일 가져오기", - "description": "" - }, - "search": { - "message": "검색", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "대소문자 구분", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "일치하는 개수", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "코드 및 적용 대상 값 내에서 일치하는 개수", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "정규 표현식 검색은 /re/ 문법을 사용합니다", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "총 설치 수", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "이 사이트에 맞는 스타일을 찾지 못했습니다.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "평가", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "업데이트됨", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "주간 설치 수", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesCode": { - "message": "CSS 코드", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesMeta": { - "message": "메타데이터", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "섹션 추가", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "코드", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "섹션 제거", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "제거된 섹션 복구", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "섹션", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "단축키", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "키보드 단축키 정의", - "description": "" - }, - "sortDateNewestFirst": { - "message": "최신 순으로", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "오래된 순으로", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "설치한 스타일들을 어떻게 정렬할지 선택합니다", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "제목 오름차순", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "제목 내림차순", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "설치한 스타일들을 정렬할 방식을 드롭 다운 목록에서 선택합니다. 기본 설정은 각 제목을 오름차순(A to Z)으로 정렬하고, \"제목 내림차순\" 을 선택 시 내림차순(Z to A)으로 정렬합니다.\n여러 기준에 따라 항목을 정렬할 수 있는 다른 사전 설정도 있습니다. 여러 개의 열이 있는 테이블을 정렬하고, 각 선택 옵션 내의 카테고리들이(+ 기호 사이) 열 또는 그룹을 나타낸다고 생각해보세요.\n예를 들어, 설정이 \"활성화됨 (first) + 제목\"인 경우, 모든 활성화된 항목이 목록의 맨 위에 정렬되도록 정렬된 후, Entry 제목 오름차순 정렬(A to Z)이 활성화된 항목과 비활성화된 항목 모두에 별도로 적용됩니다.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "내용 정렬", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "유효하지 않은 정규 표현식입니다.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautifyHint": { - "message": "힌트: “Beautify” 버튼을 우클릭 하거나 아래 지정한 키보드 단축키를 사용하면 이 패널을 숨기면서 “Beautify”를 활성화 합니다", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports 들여쓰기", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "개행 문자 유지", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "관리 페이지로 돌아가기", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "스타일의 변경 사항을 저장하지 않았습니다.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "활성화됨", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Mozilla 형식 데이터를 가져오는데 실패했습니다", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla 형식의 코드를 붙여넣으세요", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Stylus에 '$stylename$'을(를) 설치하시겠습니까?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "userstyle 설치에 실패했습니다.\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$'은(는) 이미 설치되어 있습니다. 덮어쓰시겠습니까?\n버전: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "이름을 입력하세요", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla 형식", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "잘못된 'regexp()'의 사용으로 인해 스타일을 적용할 수 없습니다", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "일부 `regexp()` 규칙은 컴파일할 수 없습니다.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "이 스타일은 부분 일치 정규 표현식을 사용합니다. CSS4 @document 사양은 전체 URL 일치를 사용할 것을 강제하고 있으므로, 해당 CSS 섹션은 페이지에 적용되지 않았습니다. 이 스타일은 초기부터 `regexp()` 규칙을 바르게 확인하지 않는 것으로 알려진 Stylish-for-Chrome에서 생성되었을 것으로 추정됩니다.", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "잘못된 'regexp()' 사용으로 인해 몇몇 섹션을 적용할 수 없습니다.", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "정규 표현식 테스트", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "일치하는 탭 목록", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "유효하지 않은 정규 표현식 생략됨", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "일치하는 탭 없음", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "참고: 정규 표현식 입력 필드에서 이스케이프 처리는 단일 \\ 를 사용하세요. CSS에서 따옴표로 묶인 문자열의 사양에 따라 스타일 코드에서 자동으로 \\\\ 로 변환됩니다. ", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "완전히 일치하지는 않으므로 생략됨", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "열린 탭 중 일치하는 목록 (URL 클릭 시 해당 탭으로 이동)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "저장", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla 형식 코드는 userstyles.org에 올리거나 기존 Firefox용 Stylish에 사용할 수 있습니다", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla 형식으로 변환한 스타일", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "'$stylename$'을(를) 정말 수정하시겠습니까?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "이 스타일은 편집기 외부에서 변경되었습니다. 스타일을 다시 로딩하시겠습니까?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus는 이러한 페이지에서는 작동할 수 없습니다.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "브라우저 보안 상의 이유로, 확장 프로그램은 브라우저 내장 페이지(chrome://version, Chrome 61의 표준 새 탭 페이지, about:addons 등)나 타 확장 프로그램의 페이지에 영향을 미칠 수 없습니다. 각 브라우저의 확장 프로그램 스토어(Chrome 웹 스토어, AMO 등) 접근 또한 마찬가지입니다.", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "값을 저장할 수 없습니다. 텍스트의 양을 줄이세요.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "스타일 토글", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "취소", - "description": "Button label" - }, - "undoGlobal": { - "message": "모든 섹션에서 실행 취소", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox가 해당 사이트의 접근을 금지했습니다.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "접근을 허용하려면 를 열고, 목록을 우클릭 한 후, '새로 만들기'를 클릭하고, '불린값'을 선택하고, 을 붙여 넣고 확인을 누르고, , 확인 후 페이지를 새로 고침하세요.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Firefox 60 이상 버전에서는 내의 에서 AMO 도메인을 제거해야 합니다.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Firefox 59 버전 이상에서만 이처럼 CSP 보호 정책이 적용된 사이트에 웹 확장 기능으로 스타일 요소를 추가할 수 있도록 설정 가능합니다.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "페이지와 통신할 수 없습니다. 탭을 다시 로딩(새로 고침) 해보세요.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus가 file:// URL에 접근할 수 있도록 하려면 chrome://extensions 페이지에서 파일 URL에 대한 액세스를 허용해야 합니다.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus는 일부 파일 형식(예: pdf, json 파일 등)에 접근할 수 없습니다.", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "이용 가능한 업데이트가 없습니다.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "로컬 수정 사항이 사라지는 것을 방지하기 위해, 일부 업데이트 가능한 스타일이 선택에서 누락되었을 수 있습니다. 이를 강제로 업데이트하려면 각각을 직접 선택하거나, 다른 전체 스타일 검사(따로 수정한 사항은 덮어씌워집니다)를 시행하세요.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "업데이트 실패. 서버의 응답 에러코드는 $code$입니다.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "업데이트 실패. 서버와 연결할 수 없습니다.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "업데이트 검사 기록", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "업데이트 설치 (로컬 수정 사항은 덮어씌워집니다)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "로컬 수정 사항을 무시하고 업데이트를 덮어씌웁니다.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "이 스타일은 로컬에서 수정되었습니다.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "이 스타일은 로컬에서 수정되었을 수 있습니다.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "스타일이 최신 상태입니다.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "업데이트가 완료됐습니다.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "설치된 업데이트:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "기존에 존재하는 스타일이 덮어씌워지는 것을 방지하려면 @name이나 @namespace 값을 변경하세요.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "설정 대화상자가 열리고 나서 스타일이 수정되거나 삭제되었습니다. 스타일의 메타 데이터와 충돌이 일어나는 것을 방지하기 위해, 현재 변수들은 저장되지 않습니다:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "코드에 @name을 지정하세요", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "현재 코드로 새 Usercss 스타일의 기본 템플릿을 대체하시겠습니까?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name을 비우면 기본 템플릿이 대체됩니다.", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "코드를 여기 입력하세요", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "설치되어 있는 스타일이 더 높은 버전입니다.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "스타일 작성 대상:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "현재 URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox 내보내기", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox 가져오기/내보내기는 옵션 페이지의 더 발전된 스타일 동기화 기능으로 대체되었습니다.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox 가져오기", - "description": "" - }, - "overwriteFileExport": { - "message": "기존 파일을 덮어쓰시겠습니까?", - "description": "" - }, - "exportSavedSuccess": { - "message": "파일 저장에 성공했습니다.", - "description": "" - }, - "noFileToImport": { - "message": "스타일을 가져오려면, 먼저 내보내야 합니다.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropbox 연결 중...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropbox 연결은 웹 스토어에서 직접 설치한 앱에서만 가능합니다.", - "description": "" - }, - "gettingStyles": { - "message": "모든 스타일 가져오는 중...", - "description": "" - }, - "zipStyles": { - "message": "스타일 압축 중...", - "description": "" - }, - "unzipStyles": { - "message": "스타일 압축 푸는 중...", - "description": "" - }, - "readingStyles": { - "message": "스타일 읽어들이는 중...", - "description": "" - }, - "uploadingFile": { - "message": "파일 업로드 중...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index 6ceeab88..b1174dc8 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -1,1721 +1,1586 @@ { - "addStyleLabel": { - "message": "Nieuwe stijl schrijven", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Stijl toevoegen", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Doorzichtigheid", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Toevoegen", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Van toepassing op: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Stijl toevoegen", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Doorzichtigheid", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Toevoegen", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Van toepassing op: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "en meer", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL’s op het domein", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Gebruik de ‘Van toepassing op’-functies om de URL’s voor de code in deze sectie te beperken.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Van toepassing op", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "‘Van toepassing op’-info weergeven", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Werkt niet met verkleinde CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL’s overeenkomend met de regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Verwijderen", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Kan laatste ‘Van toepassing op’-item niet verwijderen", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specificeren", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Alles", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL’s beginnend met", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Alle updates toepassen", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Auteur", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Back-up", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Selecteer een bestand of sleep het naar deze pagina.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Stijlen exporteren", + "description": "" + }, + "checkAllUpdates": { + "message": "Alle stijlen controleren op updates", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Ik heb geen stijlen bewerkt; opnieuw controleren!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Controleren op update", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Controleren...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Klik om te de-installeren", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Haakjes en aanhalingstekens automatisch sluiten", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatisch sluitingsteken toevoegen bij typen van een openingsteken uit ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Automatisch aanvullen tijdens typen", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Kleurkiezer voor CSS-kleuren", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Tabs met slimme inspringing gebruiken", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Toetsenbordindeling", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Tekstterugloop", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS-linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Markeren", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Alleen selectie", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token onder cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Dubbelklik om de hoogte te maximaliseren/herstellen", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Dubbelklikken selecteert tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Voorbeelden van tokens: .foo-bar-2 #aabbcc 0.32 !important\nWanneer uitgeschakeld: door interpunctie gescheiden woorden worden geselecteerd.", + "description": "" + }, + "cm_smartIndent": { + "message": "Slimme inspringing gebruiken", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tabgrootte", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Thema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Klik met de rechtermuisknop op een kleurstaal om de bronregels ervan te doorlopen", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Indelingen omschakelen: HEX -> RGB -> HSL.\nShift-klik om de volgorde om te keren.\nWerkt ook met de toetsen PgUp (PageUp) en PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Kleurkiezer openen", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "bij wijzigingen", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Wijzigingen automatisch opslaan en toepassen", + "description": "" + }, + "configureStyle": { + "message": "Configureren", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configureren op startpagina", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Annuleren", + "description": "" + }, + "confirmClose": { + "message": "Sluiten", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Standaard gebruiken", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Verwijderen", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Wijzigingen verwerpen?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Nee", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Opslaan", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stoppen", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Ja", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Gekopieerd naar klembord", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Kopiëren naar klembord", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Voer hier een aangepaste naam in om de stijl in de UI te hernoemen zonder updates ervan te beschadigen", + "description": "" + }, + "customNameResetHint": { + "message": "Geen aangepaste naam meer gebruiken, wisselen naar eigen naam van de stijl", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$u", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$j", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Installatiedatum", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Bijwerkdatum", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Er is een fout opgetreden bij het gebruiken van de Stylus-database. Wilt u een webpagina met mogelijke oplossingen bezoeken?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "standaard", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Weet u zeker dat u deze stijl wilt verwijderen?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Verwijderen", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Voorzie het web van een ander uiterlijk met Stylus, een gebruikersstijlbeheerder. Met Stylus kunt u eenvoudig thema’s en stijlen voor veel populaire websites installeren.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Alle stijlen uitschakelen", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Uitschakelen", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Sleep uw back-upbestand naar deze pagina om het te importeren.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Sleep het bestand naar de tabbladenstrook (het gebied waar de tabbladtitels worden getoond) om het te installeren.", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Verwijderen", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Ga naar regel (of regel:kolom)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Stijl bewerken", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Bewerken", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Stijl $stylename$ bewerken", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Inschakelen", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Het huidige domein uitsluiten", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "De huidige URL uitsluiten", + "description": "" + }, + "exportLabel": { + "message": "Exporteren", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Startpagina", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Externe koppeling", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Ondersteuning", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentatie voor Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ van de $numTotal$ getoond", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Geen overeenkomende stijlen met de momenteel toegepaste filters", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Stijlen zoeken", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Meer stijlen voor deze website zoeken", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Zoekresultaten binnen dit venster weergeven", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Toevoegen", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Dupliceren", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Uitgeschakeld", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Ingeschakeld", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Fout", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Geschiedenis", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Volgende", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Vorige", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Standaardwaarden", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Opgeslagen", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Titel", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Onbekend", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Hulp", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Typ een opdrachtnaam", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Druk op een sneltoets", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "Deze host is uitgeschakeld vanwege een bug in de huidige versie van de gebruikte browser", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Toevoegen aan stijl", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Geïmporteerde stijl toevoegen aan huidige stijl", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importeren", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Stijlen met een @preprocessor werken niet in de klassieke modus. U kunt de editor omschakelen naar Usercss-modus: 1) open de stijlbeheerder, 2) vink het selectievakje ‘als Usercss’ aan, 3) klik op ‘Nieuwe stijl schrijven’\n\nToch nu importeren?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Mogelijk probleem vanwege @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Stijl overschrijven", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Inhoud van huidige stijl verwerpen en met de geïmporteerde stijl overschrijven", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "toegevoegd", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "gelijke overgeslagen", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "ongeldige overgeslagen", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "meta-informatie en code bijgewerkt", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "code bijgewerkt", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "meta-informatie bijgewerkt", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Stijlen importeren voltooid", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Er is niets gewijzigd.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "stijlen zijn teruggezet", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Importeren is ongedaan gemaakt", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Stijl installeren", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Stijl geïnstalleerd", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Stijl herinstalleren", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Stijl bijwerken", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Update installeren", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "De stijl wordt momenteel bijgewerkt vanaf $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Controleren op updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licentie", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Hulp verkrijgen", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Stijlen verkrijgen", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Vertalen", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint heeft geen ondersteuning voor $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(stel regel als volgt in: 0 = uitgeschakeld; 1 = waarschuwing; 2 = fout)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "$linter$-regelconfiguratie instellen", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Klik om deze linter te configureren", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Niet opgeslagen vanwege deze ongeldige configuratie-instellingen:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problemen", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "De door stylelint gevonden problemen, $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Ongeldige JSON-opmaak", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Druk op Ctrl-Z (of Cmd-Z) in het tekstvak om ongedaan te maken", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Volledige regellijst bekijken", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Er is een fout opgetreden tijdens het bekijken van het bestand", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Houd dit tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Houd zowel dit tabblad als het oorspronkelijke tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live herladen", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in kolom ‘Van toepassing op’", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Niet beschikbaar", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus gebruikt een externe dienst: https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Geïnstalleerde stijlen", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Aantal ‘Van toepassing op’-items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "als Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Nieuwe indeling van beheerscherm", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Alleen uitgeschakelde stijlen", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Alleen ingeschakelde stijlen", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Alleen externe stijlen", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Alleen lokaal aangemaakte stijlen", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(de stijlen die niet via userstyles.org zijn geïnstalleerd)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Alleen niet-Usercss-stijlen", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Alleen bij updates of problemen", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Alleen Usercss-stijlen", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Aantal actieve stijlen tonen", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Ongeldig @var-selectievakje: waarde moet 0 of 1 zijn", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Ongeldige @var-kleur: $color$ is geen geldige kleur", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Ongeldige @var $type$: waarde moet een getal of reeks zijn", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Ongeldige @var $type$: meerdere eenheden opgegeven", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Ongeldige @var $type$: de reeks bevat te veel items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Ongeldige @var $type$: items in de reeks moeten een getal, string of null zijn", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Ongeldige @var $type$: standaardwaarde is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Ongeldige @var $type$: standaardwaarde is lager dan het minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Ongeldige @var $type$: standaardwaarde is hoger dan het maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Ongeldge @var $type$: standaardwaarde is geen vermeerdering van de stap", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Ongeldige @var $type$: ‘$units$’ is geen geldige eenheid", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Ongeldige @var-select: de standaardwaarde moet een reeks of object zijn", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Ongeldige @var-select: waarden binnen de reeks/het object moeten een string zijn", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Ongeldige @var-select: optielijst is leeg", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Ongeldige @var-select: optielabel is leeg", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Ongeldige @var-select: meerdere standaardopties opgegeven", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Ongeldige @var-select: optienaam is een duplicaat", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Ongeldige @var-select: waarde staat niet op de optielijst", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Ongeldig URL-protocol. Alleen http en https zijn toegestaan: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Ongeldig versienummer. De waarde komt niet overeen met het SemVer-patroon:$version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Getal verwacht", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Citaatstring verwacht", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Woord verwacht", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Tekens verwacht: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "EOT-gegevens verwacht", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Ontbrekende vereiste metagegevens: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Ongeldige JSON: $literal$ is geen geldige JSON-literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Onbekende metagegevens: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Onbekend @$varkey$-type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Onbekende @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Geen geïnstalleerde stijlen voor deze website.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Regel:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Beheren", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Opties", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Stijlbeheerder openen", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Acties", + "description": "" + }, + "optionsAdvanced": { + "message": "Geavanceerd", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "‘Verwijderen’ toevoegen in contextmenu van editor", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "iframes blootleggen via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Legt het bovenliggende domein van de website bloot in elk iframe.\nSchakelt schrijven in voor iframe-specifieke CSS, zoals:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Nieuwe stijl schrijven als usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "CSP corrigeren om stijlmiddelen toe te staan", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Schakel dit in als stijlen afbeeldingen of lettertypen bevatten die niet worden geladen op websites met een streng CSP (inhoudsbeveiligingsbeleid).\n\nHet inschakelen van deze instelling versoepelt CSP-restricties, waardoor essentiële stijlinhoud kan worden geladen. Deze optie is alleen bedoeld voor gevorderde gebruikers die de mogelijke gevolgen op beveiligingsgebied begrijpen, en die de verantwoordelijkheid voor het monitoren van de toegestane inhoud accepteren. Lees meer over CSS-gebaseerde aanvallen voor meer informatie.\n\nHoud er ook rekening mee dat deze specifieke instelling geen garantie geeft op een goede werking als een andere geïnstalleerde extensie eerst het netwerkantwoord aanpast.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Directe-injectiemodus", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Schakel dit in als u knipperende inhoud zonder stijlen (‘FOUC’) ondervindt tijdens het browsen, wat met name bij donkere thema’s opvalt.\n\nDe technische reden is dat Chrome/Chromium asynchrone communicatie van extensies uitstelt, doorgaans om te proberen paginalaadsnelheden te verbeteren, waardoor stijlen mogelijk te laat worden toegepast. Om dit te omzeilen, en aangezien er voor webextensies geen synchrone API wordt aangeboden, biedt Stylus deze optie om de ‘verouderde’ synchrone XMLHttpRequest-web-API voor het ophalen van toepasbare stijlen te gebruiken. Er zouden geen nadelige effecten mogen zijn, omdat de aanvraag binnen enkele milliseconden wordt behandeld terwijl de pagina nog van de server wordt gedownload.\n\nNiettemin toont Chromium een waarschuwing in de console van devtools. Door met de rechtermuisknop op een waarschuwing te klikken en deze te verbergen, worden toekomstige waarschuwingen niet meer getoond.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Achtergrondkleur wanneer uitgeschakeld", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Achtergrondkleur", + "description": "" + }, + "optionsCheck": { + "message": "Stijlen bijwerken", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Controleren op updates en deze installeren", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge op het werkbalkpictogram", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Werkbalkpictogram", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Pop-up", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Synchroniseren met cloud", + "description": "" + }, + "optionsHeading": { + "message": "Opties", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Donkere browserthema’s", + "description": "" + }, + "optionsIconLight": { + "message": "Lichte browserthema’s", + "description": "" + }, + "optionsOpen": { + "message": "Openen", + "description": "" + }, + "optionsOpenManager": { + "message": "Stijlen beheren", + "description": "" + }, + "optionsPopupWidth": { + "message": "Pop-upbreedte (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Opties terugzetten naar standaardwaarden", + "description": "" + }, + "optionsResetButton": { + "message": "Standaardwaarden", + "description": "" + }, + "optionsStylusThemes": { + "message": "Een UI-thema voor Stylus zoeken", + "description": "" + }, + "optionsSubheading": { + "message": "Meer opties", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Als u stijlen vanuit een oudere versie of vanuit Stylish importeert, controleer dan eenmalig op updates in de stijlbeheerder om er zeker van te zijn dat alle stijlen zijn bijgewerkt.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Interval voor automatisch bijwerken van gebruikersstijlen in uren (geef 0 op om dit uit te schakelen)", + "description": "" + }, + "optionsSyncNone": { + "message": "Geen", + "description": "" + }, + "optionsSyncConnect": { + "message": "Koppelen", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Ontkoppelen", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Nu synchroniseren", + "description": "" + }, + "optionsSyncLogin": { + "message": "Aanmelden", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Stijl $loaded$ van $total$ ophalen", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Stijl $loaded$ van $total$ uploaden", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Synchroniseren...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Koppelen...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Gekoppeld", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Ontkoppelen...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Ontkoppeld", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Sessie verlopen, meld u opnieuw aan.", + "description": "" + }, + "paginationCurrent": { + "message": "Huidige pagina", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Geschatte aantal pagina’s", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Volgende pagina", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Vorige pagina", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Totale aantal pagina’s", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus kan de usercss niet verwerken:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Stijlen opnieuw sorteren in pop-up na omschakelen", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Witte randen toevoegen aan zijkanten", + "description": "" + }, + "popupBordersTooltip": { + "message": "Handig voor donkere thema’s in Chrome, omdat zijranden niet meer worden gerenderd", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, ook op het numerieke toetsenbord - schakelt naar de Ne stijl (0 is 10)\n- schakelt naar de eerste stijl die met de letter begint\n opent de editor i.p.v. deze in/uit te schakelen\n schakelt opgesomde stijlen in\n schakelt opgesomde stijlen uit\n en <`> (accent grave) - schakelt tussen initieel ingeschakelde stijlen; niet van toepassing op stijlen die zijn ingeschakeld met het pop-upvenster geopend, zodat u na het uitproberen de initiële selectie kunt herstellen: schakel alles uit en schakel dan om, m.a.w. \nMeer info is te vinden in de wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Klik om beschikbare sneltoetsen te tonen", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-klik of rechtsklik opent de beheerder met stijlen die op de huidige website van toepassing zijn", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Actiemenu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Een eenvoudig venster gebruiken (geen omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Editor openen in nieuw venster", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Wordt tevens ingeschakeld door het losmaken van het editor-tabblad,\nen uitgeschakeld door het vastmaken van een los editor-tabblad aan een ander venster.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Stijlen vóór opdrachten", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Aantal actieve stijlen voor de huidige website", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live-voorbeeld", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Past de wijzigingen tijdelijk toe zonder deze op te slaan.\nSla de stijl op om de wijzigingen permanent te maken.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Stylus-extensie herladen", + "description": "Context menu reload" + }, + "replace": { + "message": "Vervangen", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Alle vervangen", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Vervangen door", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Stijlen importeren", + "description": "" + }, + "search": { + "message": "Zoeken", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Hoofdlettergevoelig", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Ook globale stijlen doorzoeken", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Aantal overeenkomsten", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Aantal overeenkomsten in code en ‘Van toepassing op’-waarden", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Stijlnamen niet hoofdlettergevoelig doorzoeken:\nbepaalde woorden - alle woorden in willekeurige volgorde\n\"bepaalde woordgroep\" - deze exacte woordgroep zonder aanhalingstekens\n2020 - een jaar als dit toont ook stijlen die in 2020 zijn bijgewerkt", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Gebruik /re/-syntaxis voor regexp-zoeken", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Totale aantal installaties", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Geen stijlen voor deze website gevonden.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "De stijl is geïnstalleerd, maar wordt niet op de huidige website-URL toegepast.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Probeer de maker van deze gebruikersstijl te vragen de URL toe te voegen.\n\nU kunt de stijl ook in de beheerder openen en deze zelf bewerken,\nmaar pas op dat dit automatische updates voor deze stijl uitschakelt.", + "description": "" + }, + "searchResultRating": { + "message": "Waardering", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Bijgewerkt", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Wekelijks aantal installaties", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "Alles", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS-code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " of de toets legt de focus op het zoekveld.\nDe standaardmodus is zoeken naar platte tekst op alle door spaties gescheiden termen in willekeurige volgorde.\nExacte woorden: zet de zoekopdracht tussen dubbele (rechte) aanhalingstekens, bv. <\".header ~ div\">.\nReguliere expressies: inclusief schuine strepen en vlaggen, bv. .\n'Op URL' in de scopekiezer: vindt stijlen die op een volledig opgegeven URL van toepassing zijn, zoals https://www.example.org/.\n'Metagegevens' in de scopekiezer: zoekt in namen, 'van toepassing op'-aanduidingen, installatie-URL, update-URL, en het volledige metagegevensblok voor usercss-stijlen.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "Op URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metagegevens", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Naam", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Nog een sectie toevoegen", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Sectie verwijderen", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Verwijderde sectie herstellen", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Secties", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Sneltoetsen", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Sneltoetsen definiëren", + "description": "" + }, + "sortDateNewestFirst": { + "message": "nieuwste eerst", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oudste eerst", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Selecteer een sorteermethode om op geïnstalleerde stijlen toe te passen", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Titel - Oplopend", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Titel - Aflopend", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Kies de toe te passen sorteermethode voor de geïnstalleerde items vanuit het vervolgkeuzemenu. De standaardinstelling past een oplopende sortering (A-Z) op de itemtitels toe. Sorteren op ‘Titel - Aflopend’ past het omgekeerde (Z-A) toe.\nAndere keuzes laten u items sorteren op basis van meerdere criteria. Denk hierbij aan het sorteren van een tabel met meerdere kolommen, en elke categorie in een selectie (tussen de plustekens) stelt een kolom of groep voor.\nVoorbeeld: als de instelling ‘Ingeschakeld (eerst) + Titel’ is, worden de ingeschakelde items bovenaan geplaatst en worden zowel de in- als uitgeschakelde items apart oplopend gesorteerd (A-Z).", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Inhoud sorteren", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is ongeldig.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Mooier maken", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: klik met de rechtermuisknop op de knop ‘Mooier maken’ of gebruik de hieronder gedefinieerde sneltoets om iets mooier te maken zonder dit paneel te tonen", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports inspringen", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Nieuwe regels behouden", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Terug naar beheren", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "U hebt wijzigingen in deze stijl aangebracht zonder op te slaan.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Ingeschakeld", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Importeren vanuit Mozilla-opmaak mislukt", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Plak de code in Mozilla-opmaak", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "‘$stylename$’ installeren in Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Installeren van gebruikersstijl mislukt!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "‘$stylename$’ is al geïnstalleerd. Overschrijven?\nVersie: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Voer een naam in", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-opmaak", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Stijl is niet toegepast vanwege onjuist gebruik van ‘regexp()’", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Sommige ‘regexp()’-regels konden niet worden gecompileerd.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Deze stijl gebruikt gedeeltelijk overeenkomende regexps. Dit is in strijd met de CSS4 @document-specificatie, die een volledige URL-overeenkomst vereist. De getroffen CSS-secties zijn niet op de pagina toegepast. Deze stijl is waarschijnlijk met Stylish-for-Chrome gemaakt, dat sinds de allereerste versie op een onjuiste manier ‘regexp()’-regels controleert (bekende fout).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Aantal secties dat niet wordt toegepast vanwege onjuist gebruik van ‘regexp()’", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp-test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Overeenkomende tabbladen", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Ongeldige regexps overgeslagen", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Geen overeenkomende tabbladen", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Let op: gebruik een enkele \\ voor het gebruik van escapetekens in het regexp-invoerveld. Deze worden automatisch omgezet naar \\\\ in de stijlcode volgens de specificatie voor tekenreeksen tussen aanhalingstekens in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Niet volledig overeenkomend, dus overgeslagen", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Lijst van overeenkomende geopende tabbladen (klik op de URL om de focus op het tabblad te leggen)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Opslaan", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "De Mozilla-opmaak van de code kan bij userstyles.org worden ingediend en met het klassieke Stylish voor Firefox worden gebruikt.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Stijl in Mozilla-opmaak", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Weet u zeker dat u ‘$stylename$’ wilt bijwerken?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Deze stijl is buiten de editor om gewijzigd. Wilt u de stijl opnieuw laden?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus werkt niet op pagina’s als deze.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Als beveiligingsmaatregel verbiedt de browser dat extensies effect hebben op ingebouwde pagina’s (zoals chrome://version, de standaard nieuw-tabbladpagina sinds Chrome 61, about:addons, enz.), evenals op pagina’s van andere extensies. Ook beperkt elke browser toegang tot de eigen extensiegalerij (zoals de Chrome Web Store of AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "De waarde kan niet worden opgeslagen. Probeer de hoeveelheid tekst te verminderen.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Synchronisatie mislukt", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Synchronisatie mislukt.\nProbeer u opnieuw aan te melden in de Stylus-opties:\nklik eerst op ‘ontkoppelen’, daarna op ‘koppelen’.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Stijl in-/uitschakelen", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Ongedaan maken", + "description": "Button label" + }, + "undoGlobal": { + "message": "Ongedaan maken (alle secties)", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox blokkeert de toegang tot deze website.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Toestemming verlenen: open , klik met de rechtermuisknop op de lijst, klik op ‘Nieuw’ -> ‘Boolean’ en plak . Klik daarna op OK -> -> OK en vernieuw de pagina .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 en hoger moet u ook het AMO-domein uit verwijderen in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Alleen Firefox 59 en hoger kunnen worden geconfigureerd om WebExtensions stijlelementen te laten toevoegen op door CSP beveiligde websites zoals deze.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Kon niet met de pagina communiceren. Probeer het tabblad te vernieuwen.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus kan URL’s die met file:// beginnen alleen benaderen als u het selectievakje hiervoor op de pagina chrome://extensions aanvinkt.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus heeft geen toegang tot sommige bestandstypen (bv. pdf- en json-bestanden).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Geen updates gevonden.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Sommige stijlen die kunnen worden bijgewerkt zijn niet gecontroleerd, om mogelijke lokale bewerkingen te behouden. Updates kunnen worden geforceerd door de stijlen individueel te controleren, of door alle stijlen opnieuw te controleren (lokale bewerkingen worden overschreven).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update mislukt: server gaf code $code$ als antwoord.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update mislukt: server onbereikbaar.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Geschiedenis van updatecontroles", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Update installeren (lokale bewerkingen worden overschreven)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Een update forceren zal lokale bewerkingen overschrijven.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Deze stijl is lokaal bewerkt.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Deze stijl is mogelijk lokaal bewerkt.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Stijl is up-to-date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update voltooid.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Geïnstalleerde updates:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Wijzig de waarde van @name of @namespace om te voorkomen dat een bestaande stijl wordt overschreven.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "De stijl is bijgewerkt of verwijderd nadat het configuratievenster werd getoond. Om beschadiging van metagegevens van de stijl te voorkomen, zijn deze variabelen niet opgeslagen:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specificeer @name in de code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Wilt u de standaardsjabloon voor nieuwe Usercss-stijlen vervangen door de huidige code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Lege @name vervangt de standaardsjabloon", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Voer hier code in...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "De versie is ouder dan de geïnstalleerde stijl.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Stijl schrijven voor:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "deze URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox - Exporteren", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Importeren/exporteren via Dropbox is vervangen door een meer geavanceerde stijlsynchronisatie in de optiespagina.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox - Importeren", + "description": "" + }, + "overwriteFileExport": { + "message": "Wilt u een bestaand bestand overschrijven?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Bestand opgeslagen", + "description": "" + }, + "noFileToImport": { + "message": "Als u uw stijlen wilt importeren, dient u deze eerst te exporteren.", + "description": "" + }, + "connectingDropbox": { + "message": "Dropbox koppelen...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Koppelen met Dropbox is alleen beschikbaar in apps die direct vanuit de webstore zijn geïnstalleerd", + "description": "" + }, + "gettingStyles": { + "message": "Alle stijlen ophalen...", + "description": "" + }, + "zipStyles": { + "message": "Stijlen inpakken...", + "description": "" + }, + "unzipStyles": { + "message": "Stijlen uitpakken...", + "description": "" + }, + "readingStyles": { + "message": "Stijlen lezen...", + "description": "" + }, + "uploadingFile": { + "message": "Bestand uploaden...", + "description": "" + }, + "addStyleLabel": { + "message": "Nieuwe stijl schrijven", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "en meer", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL’s op het domein", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Gebruik de ‘Van toepassing op’-functies om de URL’s voor de code in deze sectie te beperken.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Van toepassing op", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "‘Van toepassing op’-info weergeven", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Werkt niet met verkleinde CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL’s overeenkomend met de regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Verwijderen", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kan laatste ‘Van toepassing op’-item niet verwijderen", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificeren", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alles", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL’s beginnend met", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Alle updates toepassen", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Auteur", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Back-up", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Selecteer een bestand of sleep het naar deze pagina.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Stijlen exporteren", - "description": "" - }, - "checkAllUpdates": { - "message": "Alle stijlen controleren op updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Ik heb geen stijlen bewerkt; opnieuw controleren!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Controleren op update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Controleren...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klik om te de-installeren", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Haakjes en aanhalingstekens automatisch sluiten", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatisch sluitingsteken toevoegen bij typen van een openingsteken uit ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automatisch aanvullen tijdens typen", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Kleurkiezer voor CSS-kleuren", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Tabs met slimme inspringing gebruiken", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Toetsenbordindeling", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Tekstterugloop", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS-linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Markeren", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Alleen selectie", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token onder cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dubbelklik om de hoogte te maximaliseren/herstellen", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dubbelklikken selecteert tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Voorbeelden van tokens: .foo-bar-2 #aabbcc 0.32 !important\nWanneer uitgeschakeld: door interpunctie gescheiden woorden worden geselecteerd.", - "description": "" - }, - "cm_smartIndent": { - "message": "Slimme inspringing gebruiken", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabgrootte", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Thema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Klik met de rechtermuisknop op een kleurstaal om de bronregels ervan te doorlopen", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Indelingen omschakelen: HEX -> RGB -> HSL.\nShift-klik om de volgorde om te keren.\nWerkt ook met de toetsen PgUp (PageUp) en PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Kleurkiezer openen", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "bij wijzigingen", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Wijzigingen automatisch opslaan en toepassen", - "description": "" - }, - "configureStyle": { - "message": "Configureren", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configureren op startpagina", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Annuleren", - "description": "" - }, - "confirmClose": { - "message": "Sluiten", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Standaard gebruiken", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Verwijderen", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Wijzigingen verwerpen?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nee", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Opslaan", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stoppen", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Gekopieerd naar klembord", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopiëren naar klembord", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Voer hier een aangepaste naam in om de stijl in de UI te hernoemen zonder updates ervan te beschadigen", - "description": "" - }, - "customNameResetHint": { - "message": "Geen aangepaste naam meer gebruiken, wisselen naar eigen naam van de stijl", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrHour": { - "message": "$value$u", - "description": "Hour suffix in a short relative date, for example: 8h", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrYear": { - "message": "$value$j", - "description": "Year suffix in a short relative date, for example: 8y", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateInstalled": { - "message": "Installatiedatum", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Bijwerkdatum", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Er is een fout opgetreden bij het gebruiken van de Stylus-database. Wilt u een webpagina met mogelijke oplossingen bezoeken?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "standaard", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Weet u zeker dat u deze stijl wilt verwijderen?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Verwijderen", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Voorzie het web van een ander uiterlijk met Stylus, een gebruikersstijlbeheerder. Met Stylus kunt u eenvoudig thema’s en stijlen voor veel populaire websites installeren.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Alle stijlen uitschakelen", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Uitschakelen", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Sleep uw back-upbestand naar deze pagina om het te importeren.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Sleep het bestand naar de tabbladenstrook (het gebied waar de tabbladtitels worden getoond) om het te installeren.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Verwijderen", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ga naar regel (of regel:kolom)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Stijl bewerken", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Bewerken", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Stijl $stylename$ bewerken", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Inschakelen", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Het huidige domein uitsluiten", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "De huidige URL uitsluiten", - "description": "" - }, - "exportLabel": { - "message": "Exporteren", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalHomepage": { - "message": "Startpagina", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Externe koppeling", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Ondersteuning", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentatie voor Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ van de $numTotal$ getoond", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Geen overeenkomende stijlen met de momenteel toegepaste filters", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Stijlen zoeken", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Meer stijlen voor deze website zoeken", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInlineTooltip": { - "message": "Zoekresultaten binnen dit venster weergeven", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Toevoegen", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Dupliceren", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Uitgeschakeld", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Ingeschakeld", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Fout", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Geschiedenis", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Volgende", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Vorige", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Standaardwaarden", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Opgeslagen", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titel", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Onbekend", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Hulp", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Typ een opdrachtnaam", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Druk op een sneltoets", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Deze host is uitgeschakeld vanwege een bug in de huidige versie van de gebruikte browser", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Toevoegen aan stijl", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Geïmporteerde stijl toevoegen aan huidige stijl", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importeren", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Stijlen met een @preprocessor werken niet in de klassieke modus. U kunt de editor omschakelen naar Usercss-modus: 1) open de stijlbeheerder, 2) vink het selectievakje ‘als Usercss’ aan, 3) klik op ‘Nieuwe stijl schrijven’\n\nToch nu importeren?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Mogelijk probleem vanwege @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Stijl overschrijven", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Inhoud van huidige stijl verwerpen en met de geïmporteerde stijl overschrijven", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "toegevoegd", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "gelijke overgeslagen", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "ongeldige overgeslagen", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta-informatie en code bijgewerkt", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "code bijgewerkt", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta-informatie bijgewerkt", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Stijlen importeren voltooid", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Er is niets gewijzigd.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stijlen zijn teruggezet", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importeren is ongedaan gemaakt", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Stijl installeren", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stijl geïnstalleerd", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Stijl herinstalleren", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Stijl bijwerken", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Update installeren", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "De stijl wordt momenteel bijgewerkt vanaf $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Controleren op updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licentie", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hulp verkrijgen", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Stijlen verkrijgen", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Vertalen", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint heeft geen ondersteuning voor $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(stel regel als volgt in: 0 = uitgeschakeld; 1 = waarschuwing; 2 = fout)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$-regelconfiguratie instellen", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Klik om deze linter te configureren", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Niet opgeslagen vanwege deze ongeldige configuratie-instellingen:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemen", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "De door stylelint gevonden problemen, $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Ongeldige JSON-opmaak", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Druk op Ctrl-Z (of Cmd-Z) in het tekstvak om ongedaan te maken", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Volledige regellijst bekijken", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Er is een fout opgetreden tijdens het bekijken van het bestand", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Houd dit tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Houd zowel dit tabblad als het oorspronkelijke tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live herladen", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in kolom ‘Van toepassing op’", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Niet beschikbaar", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus gebruikt een externe dienst: https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageHeading": { - "message": "Geïnstalleerde stijlen", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Aantal ‘Van toepassing op’-items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "als Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nieuwe indeling van beheerscherm", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Alleen uitgeschakelde stijlen", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Alleen ingeschakelde stijlen", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Alleen externe stijlen", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Alleen lokaal aangemaakte stijlen", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(de stijlen die niet via userstyles.org zijn geïnstalleerd)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Alleen niet-Usercss-stijlen", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Alleen bij updates of problemen", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Alleen Usercss-stijlen", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Aantal actieve stijlen tonen", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Ongeldig @var-selectievakje: waarde moet 0 of 1 zijn", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Ongeldige @var-kleur: $color$ is geen geldige kleur", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "Ongeldige @var $type$: waarde moet een getal of reeks zijn", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Ongeldige @var $type$: meerdere eenheden opgegeven", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Ongeldige @var $type$: de reeks bevat te veel items", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "Ongeldige @var $type$: items in de reeks moeten een getal, string of null zijn", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "Ongeldige @var $type$: standaardwaarde is null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "Ongeldige @var $type$: standaardwaarde is lager dan het minimum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "Ongeldige @var $type$: standaardwaarde is hoger dan het maximum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "Ongeldge @var $type$: standaardwaarde is geen vermeerdering van de stap", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "Ongeldige @var $type$: ‘$units$’ is geen geldige eenheid", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "Ongeldige @var-select: de standaardwaarde moet een reeks of object zijn", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Ongeldige @var-select: waarden binnen de reeks/het object moeten een string zijn", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Ongeldige @var-select: optielijst is leeg", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Ongeldige @var-select: optielabel is leeg", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Ongeldige @var-select: meerdere standaardopties opgegeven", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Ongeldige @var-select: optienaam is een duplicaat", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Ongeldige @var-select: waarde staat niet op de optielijst", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Ongeldig URL-protocol. Alleen http en https zijn toegestaan: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Ongeldig versienummer. De waarde komt niet overeen met het SemVer-patroon:$version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Getal verwacht", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Citaatstring verwacht", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Woord verwacht", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Tekens verwacht: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "EOT-gegevens verwacht", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Ontbrekende vereiste metagegevens: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "Ongeldige JSON: $literal$ is geen geldige JSON-literal", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Onbekende metagegevens: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Onbekend @$varkey$-type: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "Onbekende @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Geen geïnstalleerde stijlen voor deze website.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Regel:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Beheren", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opties", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Stijlbeheerder openen", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Acties", - "description": "" - }, - "optionsAdvanced": { - "message": "Geavanceerd", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "‘Verwijderen’ toevoegen in contextmenu van editor", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "iframes blootleggen via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Legt het bovenliggende domein van de website bloot in elk iframe.\nSchakelt schrijven in voor iframe-specifieke CSS, zoals:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Nieuwe stijl schrijven als usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "CSP corrigeren om stijlmiddelen toe te staan", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Schakel dit in als stijlen afbeeldingen of lettertypen bevatten die niet worden geladen op websites met een streng CSP (inhoudsbeveiligingsbeleid).\n\nHet inschakelen van deze instelling versoepelt CSP-restricties, waardoor essentiële stijlinhoud kan worden geladen. Deze optie is alleen bedoeld voor gevorderde gebruikers die de mogelijke gevolgen op beveiligingsgebied begrijpen, en die de verantwoordelijkheid voor het monitoren van de toegestane inhoud accepteren. Lees meer over CSS-gebaseerde aanvallen voor meer informatie.\n\nHoud er ook rekening mee dat deze specifieke instelling geen garantie geeft op een goede werking als een andere geïnstalleerde extensie eerst het netwerkantwoord aanpast.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Directe-injectiemodus", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Schakel dit in als u knipperende inhoud zonder stijlen (‘FOUC’) ondervindt tijdens het browsen, wat met name bij donkere thema’s opvalt.\n\nDe technische reden is dat Chrome/Chromium asynchrone communicatie van extensies uitstelt, doorgaans om te proberen paginalaadsnelheden te verbeteren, waardoor stijlen mogelijk te laat worden toegepast. Om dit te omzeilen, en aangezien er voor webextensies geen synchrone API wordt aangeboden, biedt Stylus deze optie om de ‘verouderde’ synchrone XMLHttpRequest-web-API voor het ophalen van toepasbare stijlen te gebruiken. Er zouden geen nadelige effecten mogen zijn, omdat de aanvraag binnen enkele milliseconden wordt behandeld terwijl de pagina nog van de server wordt gedownload.\n\nNiettemin toont Chromium een waarschuwing in de console van devtools. Door met de rechtermuisknop op een waarschuwing te klikken en deze te verbergen, worden toekomstige waarschuwingen niet meer getoond.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Achtergrondkleur wanneer uitgeschakeld", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Achtergrondkleur", - "description": "" - }, - "optionsCheck": { - "message": "Stijlen bijwerken", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Controleren op updates en deze installeren", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge op het werkbalkpictogram", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Werkbalkpictogram", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Pop-up", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synchroniseren met cloud", - "description": "" - }, - "optionsHeading": { - "message": "Opties", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Donkere browserthema’s", - "description": "" - }, - "optionsIconLight": { - "message": "Lichte browserthema’s", - "description": "" - }, - "optionsOpen": { - "message": "Openen", - "description": "" - }, - "optionsOpenManager": { - "message": "Stijlen beheren", - "description": "" - }, - "optionsPopupWidth": { - "message": "Pop-upbreedte (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Opties terugzetten naar standaardwaarden", - "description": "" - }, - "optionsResetButton": { - "message": "Standaardwaarden", - "description": "" - }, - "optionsStylusThemes": { - "message": "Een UI-thema voor Stylus zoeken", - "description": "" - }, - "optionsSubheading": { - "message": "Meer opties", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Als u stijlen vanuit een oudere versie of vanuit Stylish importeert, controleer dan eenmalig op updates in de stijlbeheerder om er zeker van te zijn dat alle stijlen zijn bijgewerkt.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Interval voor automatisch bijwerken van gebruikersstijlen in uren (geef 0 op om dit uit te schakelen)", - "description": "" - }, - "optionsSyncNone": { - "message": "Geen", - "description": "" - }, - "optionsSyncConnect": { - "message": "Koppelen", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Ontkoppelen", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Nu synchroniseren", - "description": "" - }, - "optionsSyncLogin": { - "message": "Aanmelden", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Stijl $loaded$ van $total$ ophalen", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "Stijl $loaded$ van $total$ uploaden", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "Synchroniseren...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Koppelen...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Gekoppeld", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Ontkoppelen...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Ontkoppeld", - "description": "" - }, - "paginationCurrent": { - "message": "Huidige pagina", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Geschatte aantal pagina’s", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Volgende pagina", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Vorige pagina", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Totale aantal pagina’s", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus kan de usercss niet verwerken:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Stijlen opnieuw sorteren in pop-up na omschakelen", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Witte randen toevoegen aan zijkanten", - "description": "" - }, - "popupBordersTooltip": { - "message": "Handig voor donkere thema’s in Chrome, omdat zijranden niet meer worden gerenderd", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, ook op het numerieke toetsenbord - schakelt naar de Ne stijl (0 is 10)\n- schakelt naar de eerste stijl die met de letter begint\n opent de editor i.p.v. deze in/uit te schakelen\n schakelt opgesomde stijlen in\n schakelt opgesomde stijlen uit\n en <`> (accent grave) - schakelt tussen initieel ingeschakelde stijlen; niet van toepassing op stijlen die zijn ingeschakeld met het pop-upvenster geopend, zodat u na het uitproberen de initiële selectie kunt herstellen: schakel alles uit en schakel dan om, m.a.w. \nMeer info is te vinden in de wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Klik om beschikbare sneltoetsen te tonen", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-klik of rechtsklik opent de beheerder met stijlen die op de huidige website van toepassing zijn", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Actiemenu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Een eenvoudig venster gebruiken (geen omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Editor openen in nieuw venster", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Wordt tevens ingeschakeld door het losmaken van het editor-tabblad,\nen uitgeschakeld door het vastmaken van een los editor-tabblad aan een ander venster.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stijlen vóór opdrachten", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Aantal actieve stijlen voor de huidige website", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live-voorbeeld", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Past de wijzigingen tijdelijk toe zonder deze op te slaan.\nSla de stijl op om de wijzigingen permanent te maken.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus-extensie herladen", - "description": "Context menu reload" - }, - "replace": { - "message": "Vervangen", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Alle vervangen", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Vervangen door", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Stijlen importeren", - "description": "" - }, - "search": { - "message": "Zoeken", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Hoofdlettergevoelig", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Ook globale stijlen doorzoeken", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Aantal overeenkomsten", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Aantal overeenkomsten in code en ‘Van toepassing op’-waarden", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Stijlnamen niet hoofdlettergevoelig doorzoeken:\nbepaalde woorden - alle woorden in willekeurige volgorde\n\"bepaalde woordgroep\" - deze exacte woordgroep zonder aanhalingstekens\n2020 - een jaar als dit toont ook stijlen die in 2020 zijn bijgewerkt", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Gebruik /re/-syntaxis voor regexp-zoeken", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Totale aantal installaties", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Geen stijlen voor deze website gevonden.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "De stijl is geïnstalleerd, maar wordt niet op de huidige website-URL toegepast.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Probeer de maker van deze gebruikersstijl te vragen de URL toe te voegen.\n\nU kunt de stijl ook in de beheerder openen en deze zelf bewerken,\nmaar pas op dat dit automatische updates voor deze stijl uitschakelt.", - "description": "" - }, - "searchResultRating": { - "message": "Waardering", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Bijgewerkt", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Wekelijks aantal installaties", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Alles", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS-code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " of de toets legt de focus op het zoekveld.\nDe standaardmodus is zoeken naar platte tekst op alle door spaties gescheiden termen in willekeurige volgorde.\nExacte woorden: zet de zoekopdracht tussen dubbele (rechte) aanhalingstekens, bv. <\".header ~ div\">.\nReguliere expressies: inclusief schuine strepen en vlaggen, bv. .\n'Op URL' in de scopekiezer: vindt stijlen die op een volledig opgegeven URL van toepassing zijn, zoals https://www.example.org/.\n'Metagegevens' in de scopekiezer: zoekt in namen, 'van toepassing op'-aanduidingen, installatie-URL, update-URL, en het volledige metagegevensblok voor usercss-stijlen.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "Op URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metagegevens", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Naam", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Nog een sectie toevoegen", - "description": "Label for the button to add a section" - }, - "sectionRemove": { - "message": "Sectie verwijderen", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Verwijderde sectie herstellen", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Secties", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Sneltoetsen", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Sneltoetsen definiëren", - "description": "" - }, - "sortDateNewestFirst": { - "message": "nieuwste eerst", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oudste eerst", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Selecteer een sorteermethode om op geïnstalleerde stijlen toe te passen", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titel - Oplopend", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titel - Aflopend", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Kies de toe te passen sorteermethode voor de geïnstalleerde items vanuit het vervolgkeuzemenu. De standaardinstelling past een oplopende sortering (A-Z) op de itemtitels toe. Sorteren op ‘Titel - Aflopend’ past het omgekeerde (Z-A) toe.\nAndere keuzes laten u items sorteren op basis van meerdere criteria. Denk hierbij aan het sorteren van een tabel met meerdere kolommen, en elke categorie in een selectie (tussen de plustekens) stelt een kolom of groep voor.\nVoorbeeld: als de instelling ‘Ingeschakeld (eerst) + Titel’ is, worden de ingeschakelde items bovenaan geplaatst en worden zowel de in- als uitgeschakelde items apart oplopend gesorteerd (A-Z).", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Inhoud sorteren", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is ongeldig.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Mooier maken", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: klik met de rechtermuisknop op de knop ‘Mooier maken’ of gebruik de hieronder gedefinieerde sneltoets om iets mooier te maken zonder dit paneel te tonen", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports inspringen", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Nieuwe regels behouden", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Terug naar beheren", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "U hebt wijzigingen in deze stijl aangebracht zonder op te slaan.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ingeschakeld", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Importeren vanuit Mozilla-opmaak mislukt", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Plak de code in Mozilla-opmaak", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "‘$stylename$’ installeren in Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Installeren van gebruikersstijl mislukt!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "‘$stylename$’ is al geïnstalleerd. Overschrijven?\nVersie: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Voer een naam in", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-opmaak", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Stijl is niet toegepast vanwege onjuist gebruik van ‘regexp()’", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Sommige ‘regexp()’-regels konden niet worden gecompileerd.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Deze stijl gebruikt gedeeltelijk overeenkomende regexps. Dit is in strijd met de CSS4 @document-specificatie, die een volledige URL-overeenkomst vereist. De getroffen CSS-secties zijn niet op de pagina toegepast. Deze stijl is waarschijnlijk met Stylish-for-Chrome gemaakt, dat sinds de allereerste versie op een onjuiste manier ‘regexp()’-regels controleert (bekende fout).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Aantal secties dat niet wordt toegepast vanwege onjuist gebruik van ‘regexp()’", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp-test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Overeenkomende tabbladen", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Ongeldige regexps overgeslagen", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Geen overeenkomende tabbladen", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Let op: gebruik een enkele \\ voor het gebruik van escapetekens in het regexp-invoerveld. Deze worden automatisch omgezet naar \\\\ in de stijlcode volgens de specificatie voor tekenreeksen tussen aanhalingstekens in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Niet volledig overeenkomend, dus overgeslagen", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lijst van overeenkomende geopende tabbladen (klik op de URL om de focus op het tabblad te leggen)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Opslaan", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "De Mozilla-opmaak van de code kan bij userstyles.org worden ingediend en met het klassieke Stylish voor Firefox worden gebruikt.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stijl in Mozilla-opmaak", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Weet u zeker dat u ‘$stylename$’ wilt bijwerken?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Deze stijl is buiten de editor om gewijzigd. Wilt u de stijl opnieuw laden?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus werkt niet op pagina’s als deze.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Als beveiligingsmaatregel verbiedt de browser dat extensies effect hebben op ingebouwde pagina’s (zoals chrome://version, de standaard nieuw-tabbladpagina sinds Chrome 61, about:addons, enz.), evenals op pagina’s van andere extensies. Ook beperkt elke browser toegang tot de eigen extensiegalerij (zoals de Chrome Web Store of AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "De waarde kan niet worden opgeslagen. Probeer de hoeveelheid tekst te verminderen.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Stijl in-/uitschakelen", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Ongedaan maken", - "description": "Button label" - }, - "undoGlobal": { - "message": "Ongedaan maken (alle secties)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox blokkeert de toegang tot deze website.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Toestemming verlenen: open , klik met de rechtermuisknop op de lijst, klik op ‘Nieuw’ -> ‘Boolean’ en plak . Klik daarna op OK -> -> OK en vernieuw de pagina .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 en hoger moet u ook het AMO-domein uit verwijderen in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Alleen Firefox 59 en hoger kunnen worden geconfigureerd om WebExtensions stijlelementen te laten toevoegen op door CSP beveiligde websites zoals deze.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Kon niet met de pagina communiceren. Probeer het tabblad te vernieuwen.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus kan URL’s die met file:// beginnen alleen benaderen als u het selectievakje hiervoor op de pagina chrome://extensions aanvinkt.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus heeft geen toegang tot sommige bestandstypen (bv. pdf- en json-bestanden).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Geen updates gevonden.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Sommige stijlen die kunnen worden bijgewerkt zijn niet gecontroleerd, om mogelijke lokale bewerkingen te behouden. Updates kunnen worden geforceerd door de stijlen individueel te controleren, of door alle stijlen opnieuw te controleren (lokale bewerkingen worden overschreven).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update mislukt: server gaf code $code$ als antwoord.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Update mislukt: server onbereikbaar.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Geschiedenis van updatecontroles", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Update installeren (lokale bewerkingen worden overschreven)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Een update forceren zal lokale bewerkingen overschrijven.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Deze stijl is lokaal bewerkt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Deze stijl is mogelijk lokaal bewerkt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stijl is up-to-date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update voltooid.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Geïnstalleerde updates:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Wijzig de waarde van @name of @namespace om te voorkomen dat een bestaande stijl wordt overschreven.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "De stijl is bijgewerkt of verwijderd nadat het configuratievenster werd getoond. Om beschadiging van metagegevens van de extensie te voorkomen, zijn deze variabelen niet opgeslagen:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specificeer @name in de code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Wilt u de standaardsjabloon voor nieuwe Usercss-stijlen vervangen door de huidige code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Lege @name vervangt de standaardsjabloon", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Voer hier code in...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "De versie is ouder dan de geïnstalleerde stijl.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Stijl schrijven voor:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "deze URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox - Exporteren", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Importeren/exporteren via Dropbox is vervangen door een meer geavanceerde stijlsynchronisatie in de optiespagina.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox - Importeren", - "description": "" - }, - "overwriteFileExport": { - "message": "Wilt u een bestaand bestand overschrijven?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Bestand opgeslagen", - "description": "" - }, - "noFileToImport": { - "message": "Als u uw stijlen wilt importeren, dient u deze eerst te exporteren.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropbox koppelen...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Koppelen met Dropbox is alleen beschikbaar in apps die direct vanuit de webstore zijn geïnstalleerd", - "description": "" - }, - "gettingStyles": { - "message": "Alle stijlen ophalen...", - "description": "" - }, - "zipStyles": { - "message": "Stijlen inpakken...", - "description": "" - }, - "unzipStyles": { - "message": "Stijlen uitpakken...", - "description": "" - }, - "readingStyles": { - "message": "Stijlen lezen...", - "description": "" - }, - "uploadingFile": { - "message": "Bestand uploaden...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index 72710011..c2b0c9c1 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -1,1763 +1,1586 @@ { - "addStyleLabel": { - "message": "Napisz nowy styl", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Dodaj styl", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Nieprzezroczystość", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Dodaj", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Dotyczy: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Dodaj styl", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Nieprzezroczystość", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Dodaj", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Dotyczy: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "i więcej", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "Adresy URL w domenie", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Użyj przycisków \"Dotyczy\", aby ograniczyć adresy URL, których dotyczy kod w tej sekcji.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Dotyczy", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Wyświetl informacje 'Dotyczy'", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Nie działa ze zminifikowanym CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "Adresy URL pasujące do regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Usuń", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Nie można usunąć ostatniego wpisu 'dotyczy'", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Sprecyzuj", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Wszystkie", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "Adres URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "Adresy URL zaczynające się od", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Zastosuj wszystkie aktualizacje", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Kopia zapasowa", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Wybierz plik lub przeciągnij i upuść go na tę stronę.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Eksportuj style", + "description": "" + }, + "checkAllUpdates": { + "message": "Sprawdź aktualizacje wszystkich stylów", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Sprawdź ponownie, nie edytowałem żadnych stylów!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Sprawdź aktualizacje", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Sprawdzanie...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Kliknij, aby odinstalować", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Automatyczne zamykanie nawiasów i cytatów", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatycznie dodawaj zamknięcie pary podczas pisania jednego z otwarcia ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autouzupełnianie podczas pisania", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Próbniki kolorów CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Użyj tabulacji z inteligentnym wcięciem", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Mapa klawiszy", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Zawijanie tekstu", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "Linter CSS", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Wyróżnienie", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Tylko zaznaczenie", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token pod kursorem", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Kliknij dwukrotnie, aby zmaksymalizować lub przywrócić wysokość", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Dwukrotne kliknięcie wybiera tokeny", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Przykłady tokenów: .foo-bar-2 #aabbcc 0.32 !important\nPo wyłączeniu: wyrazy rozdzielone przecinkami są wybrane.", + "description": "" + }, + "cm_smartIndent": { + "message": "Użyj inteligentnego wcięcia", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Szerokość tabulacji", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Motyw", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Kliknij prawym przyciskiem myszy próbkę, aby przejść przez jej wiersze kodu", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Zmiana formatu: HEX -> RGB -> HSL.\nShift i kliknięcie do odwrócenia kierunku.\nTakże klawiszami PgUp (PageUp), PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Otwórz próbnik kolorów", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "przy zmianie", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autozapisuj i stosuj zmiany automatycznie", + "description": "" + }, + "configureStyle": { + "message": "Skonfiguruj", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Skonfiguruj na stronie głównej", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Anuluj", + "description": "" + }, + "confirmClose": { + "message": "Zamknij", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Użyj domyślnych", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Usuń", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Odrzucić zmiany?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Nie", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Zapisz", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Zatrzymaj", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Tak", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Skopiowane do schowka", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Skopiuj do schowka", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Podaj tutaj niestandardową nazwę, aby zmienić nazwę stylu w interfejsie użytkownika bez przerywania jego aktualizacji", + "description": "" + }, + "customNameResetHint": { + "message": "Przestań używać niestandardowej nazwy, przełącz na własną nazwę stylu", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d.", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$g.", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$mies.", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$r.", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Data zainstalowania", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Data aktualizacji", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Podczas używania bazy danych Stylus wystąpił błąd. Czy chcesz odwiedzić stronę internetową z możliwymi rozwiązaniami?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "domyślny", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Czy na pewno chcesz usunąć ten styl?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Usuń", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Przeprojektuj sieć za pomocą Stylusa – menedżera stylów użytkownika. Stylus umożliwia łatwe instalowanie motywów i skórek dla wielu popularnych witryn.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Wyłącz wszystkie style", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Wyłącz", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Upuść twój plik kopii zapasowej gdziekolwiek na tej stronie, aby zaimportować.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Aby zainstalować plik, upuść go na pasku kart (obszar, w którym wyświetlane są tytuły kart).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Usuń", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Przejdź do wiersza (lub wiersz:kol)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edytuj styl", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edytuj", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edytuj styl $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Włącz", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Wyklucz bieżącą domenę", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Wyklucz bieżący adres URL", + "description": "" + }, + "exportLabel": { + "message": "Eksportuj", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Prześlij opinię", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Strona główna", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Link zewnętrzny", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Wsparcie", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Dokumentacja Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "Pokazano $numShown$ z sumy $numTotal$", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Aktualnie stosowane filtry nie pasują do żadnego stylu", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Znajdź style", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Znajdź więcej stylów dla tej strony", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Wstawka", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Wyświetlaj wyniki wyszukiwania w tym oknie.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Dodaj", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Sklonuj", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Wyłączone", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Włączone", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Błąd", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Historia", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Dalej", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Wstecz", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Resetuj", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Zapisano", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Tytuł", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Nieznane", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Pomoc", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Wpisz nazwę polecenia", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Naciśnij klawisz skrótu", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "Ten host został wyłączony z powodu błędu w bieżącej wersji używanej przeglądarki", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Dołącz do stylu", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Dołącz importowany styl do bieżącego stylu", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importuj", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Styl z @preprocessor nie będzie działać w trybie klasycznym. Możesz przełączyć edytor w tryb Usercss: 1) otwórz menedżer stylów, 2) zaznacz pole wyboru \"jako Usercss\", 3) kliknij \"Napisz nowy styl\"\n\nCzy mimo to zaimportować teraz?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potencjalny problem związany z @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Nadpisz styl", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Odrzuć zawartość bieżącego stylu i nadpisz go przy użyciu importowanego stylu", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "dodano", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identyczne pominięte", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "nieprawidłowe pominięte", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "zaktualizowano meta info i kod", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "zaktualizowany kod", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "zaktualizowano meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Ukończono importowanie stylów", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nic nie zostało zmienione.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "style zostały przywrócone", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Importowanie zostało cofnięte", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Zainstaluj styl", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Styl zainstalowano", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Przeinstaluj styl", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Zaktualizuj styl", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Zainstaluj aktualizację", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Obecnie styl jest aktualizowany z $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Sprawdź aktualizacje", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licencja", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Uzyskaj pomoc", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Pobierz style", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Tłumacz", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint nie obsługuje preprocesora $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Ustaw regułę jako: 0 = wyłączone; 1 = ostrzeżenie; 2 = błąd)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Ustaw konfigurację reguł $linter$", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Kliknij, aby skonfigurować ten linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Nie zapisano z powodu tych nieprawidłowych ustawień konfiguracji:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problemy", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Te problemy zostały znalezione przez $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Nieprawidłowy format JSON", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Aby cofnąć przypadkowe zresetowanie, w polu tekstowym naciśnij Ctrl-Z (lub Cmd-Z)", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Zobacz pełną listę reguł", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Wystąpił błąd podczas oglądania pliku", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Pozostaw tę kartę otwartą, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Pozostaw zarówno tę kartę, jak i kartę pierwotną otwarte, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Przeładuj na żywo", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Ikony ulubionych w kolumnie dotyczących", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Wyszarzone", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus korzysta z usługi zewnętrznej https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtry", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Zainstalowane style", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Liczba dotyczących elementów ", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "jako Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Nowy układ interfejsu zarządzania", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Tylko wyłączone style", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Tylko włączone style", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Tylko zewnętrzne style", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Tylko style stworzone lokalnie", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(style nie zainstalowane poprzez stronę userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Tylko style nie-Usercss", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Tylko z aktualizacjami lub problemami", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Tylko style Usercss", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Pokaż liczbę aktywnych stylów", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Nieprawidłowe pole wyboru @var: wartość musi wynosić 0 lub 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Nieprawidłowy kolor @var: $color$ nie jest kolorem", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Nieprawidłowa @var $type$: wartość musi być liczbą lub tablicą", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Nieprawidłowa @var $type$: określono wiele jednostek", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Nieprawidłowa @var $type$: tablica zawiera zbyt wiele elementów", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Nieprawidłowa @var $type$: elementy w tablicy muszą być liczbą, łańcuchem lub wartością null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Nieprawidłowa @var $type$: wartość domyślna jest wartością null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Nieprawidłowa @var $type$: wartość domyślna jest niższa niż minimalna", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Nieprawidłowa @var $type$: domyślna wartość jest większa niż maksymalna", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Nieprawidłowa @var $type$: wartość domyślna nie jest wielokrotnością kroku", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Nieprawidłowa @var $type$: '$units$' nie jest prawidłową jednostką", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Nieprawidłowa @var select: domyślną wartością musi być tablica lub obiekt", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Nieprawidłowa @var select: wartości wewnątrz tablicy/obiektu muszą być ciągami", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Nieprawidłowa @var select: lista opcji jest pusta", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Nieprawidłowa @var select: etykieta opcji jest pusta", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Nieprawidłowa @var select: określono wiele domyślnych opcji", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Nieprawidłowa @var select: nazwa opcji jest zduplikowana", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Nieprawidłowa @var select: wartość nie istnieje na liście opcji", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Nieprawidłowy protokół URL. Dozwolone są tylko http i https: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Nieprawidłowy numer wersji. Wartość nie pasuje do wzorca SemVer: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Spodziewana liczba", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Spodziewany cytowany ciąg", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Spodziewane słowo", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Spodziewane znaki: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Spodziewane dane EOT", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Brakujące obowiązkowe metadane: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Nieprawidłowy JSON: $literal$ nie jest prawidłowym literałem JSON", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Nieznane metadane: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Nieznany typ @$varkey$: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Nieznany @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Nie ma zainstalownych stylów dla tej witryny.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Wiersz:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Zarządzaj", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Opcje", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Otwórz menedżera stylów", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Akcje", + "description": "" + }, + "optionsAdvanced": { + "message": "Zaawansowane", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Dodaj 'Usuń' do menu kontekstowego edytora", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Odsłoń ramki pływające za pomocą HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Odsłania domenę najwyższego poziomu w każdym elemencie iframe.\nWłącza pisanie CSS specyficznych dla iframe w taki sposób:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Napisz nowy styl jako usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Załataj CSP, aby zezwolić na zasoby stylu", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Włącz tę opcję, jeśli style zawierają obrazy lub czcionki, które nie ładują się w witrynach ze ścisłymCSP (Content-Security-Policy).\n\nWłączenie tego ustawienia złagodzi ograniczenia CSP, umożliwiając załadowanie podstawowej zawartości stylu. Ta opcja jest przeznaczona tylko dla zaawansowanych użytkowników, którzy rozumieją potencjalne konsekwencje dla bezpieczeństwa i przyjmują odpowiedzialność za monitorowanie treści, na które zezwalają. Przeczytaj o atakach opartych na CSS, aby uzyskać więcej informacji.\n\nNależy również pamiętać, że to szczególne ustawienie nie jest gwarantowane, jeśli inne zainstalowane rozszerzenie zmodyfikuje najpierw odpowiedź sieci.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Tryb natychmiastowego wstrzyknięcia", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Włącz tę opcję, jeśli napotkasz miganie niestylizowanej treści (FOUC) podczas przeglądania, co jest szczególnie zauważalne w przypadku ciemnych motywów.\n\nTechnicznym powodem jest to, że Chrome/Chromium odracza asynchroniczną komunikację rozszerzeń, co zwykle jest bezsensowną próbą przyspieszenia ładowania strony i może powodować spóźnienie zastosowania stylów. Aby to obejść, ponieważ rozszerzenia internetowe nie mają synchronicznego interfejsu API, Stylus udostępnia tę opcję, która umożliwia wykorzystanie \"przestarzałego\" synchronicznego sieciowego API XMLHttpRequest do pobierania odpowiednich stylów. Nie powinno to mieć żadnych negatywnych skutków, ponieważ żądanie jest realizowane w ciągu kilku milisekund, podczas gdy strona jest nadal pobierana z serwera.\n\nNiemniej jednak Chromium wyświetli ostrzeżenie w konsoli narzędzi dla programistów. Kliknięcie ostrzeżenia prawym przyciskiem myszy i ukrycie go zapobiegnie wyświetlaniu przyszłych ostrzeżeń.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Kolor tła po wyłączeniu", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Kolor tła", + "description": "" + }, + "optionsCheck": { + "message": "Aktualizuj style", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Sprawdź i zainstaluj wszystkie dostępne aktualizacje", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Emblemat na ikonie paska narzędzi", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Ikona paska narzędzi", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Okno podręczne", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Aktualizacje", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Synchronizuj z chmurą", + "description": "" + }, + "optionsHeading": { + "message": "Opcje", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Ciemne motywy przeglądarki", + "description": "" + }, + "optionsIconLight": { + "message": "Jasne motywy przeglądarki", + "description": "" + }, + "optionsOpen": { + "message": "Otwórz", + "description": "" + }, + "optionsOpenManager": { + "message": "Zarządzaj stylami", + "description": "" + }, + "optionsPopupWidth": { + "message": "Szerokość okna (w pikselach)", + "description": "" + }, + "optionsReset": { + "message": "Zresetuj opcje do wartości domyślnych", + "description": "" + }, + "optionsResetButton": { + "message": "Resetuj opcje", + "description": "" + }, + "optionsStylusThemes": { + "message": "Znajdź motyw interfejsu Stylusa", + "description": "" + }, + "optionsSubheading": { + "message": "Więcej opcji", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Podczas importowania kopii zapasowych stylu ze starej wersji lub ze Stylish jednorazowo sprawdź aktualizacje ręcznie w menedżerze stylów, aby upewnić się, że wszystkie style są zaktualizowane.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Interwał automatycznej aktualizacji stylu w godzinach (podaj 0, aby wyłączyć)", + "description": "" + }, + "optionsSyncNone": { + "message": "Brak", + "description": "" + }, + "optionsSyncConnect": { + "message": "Połącz", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Rozłącz", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Synchronizuj teraz", + "description": "" + }, + "optionsSyncLogin": { + "message": "Logowanie", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Przyciąganie stylu $loaded$ z $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Dostarczanie stylu $loaded$ z $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Synchronizowanie...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Łączenie...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Połączono", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Rozłączanie...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Rozłączono", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Sesja wygasła, proszę zalogować się ponownie.", + "description": "" + }, + "paginationCurrent": { + "message": "Bieżąca strona", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Szacowana liczba stron", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Następna strona", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Poprzednia strona", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Wszystkie strony", + "description": "" + }, + "parseUsercssError": { + "message": "Stylusowi nie udało się sparsować usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Przesortuj style w oknie podręcznym po przełączeniu", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Dodaj białe obramowania po bokach", + "description": "" + }, + "popupBordersTooltip": { + "message": "Przydaje się do ciemnych motywów w nowym Chrome, ponieważ nie maluje już bocznych krawędzi", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, również na klawiaturze numerycznej - przełącza n-ty styl (0 to 10)\n- przełącza pierwszy styl z nazwą zaczynającą się na literę\n otwiera edytor zamiast przełączać\n włącza wymienione style\n wyłącza wymienione style\n oraz <`> (grawis) - przełącza początkowo włączone style; nie ma zastosowania do później włączonych stylów, podczas gdy okienko podręczne jest otwarte, więc możesz przywrócić początkowy wybór po przetestowaniu: po prostu wyłącz wszystkie, a następnie przełącz, np. \nWięcej informacji na wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Kliknij, aby zobaczyć dostępne skróty klawiszowe", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift + kliknięcie lub kliknięcie prawym przyciskiem otwiera menedżera ze stylami obowiązującymi dla bieżącej witryny", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Menu akcji", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Użyj prostego okna (bez omniboksu)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Otwórz edytor w nowym oknie", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Także włączone przez odłączenie karty edytora od okna przeglądarki,\nwyłączone przez dołączenie pojedynczej karty edytora do innego okna.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Style przed poleceniami", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Liczba aktywnych stylów dla bieżącej witryny", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Podgląd na żywo", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Tymczasowo stosuje zmiany bez zapisywania.\nZapisz styl, aby zmiany stały się trwałe.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Przeładuj rozszerzenie Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "Zamień", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Zamień wszystkie", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Zamień na", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importuj style", + "description": "" + }, + "search": { + "message": "Szukaj", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Rozróżnianie wielkości liter", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Przeszukuj także style globalne", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Liczba dopasowań", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Liczba dopasowań w kodzie oraz dotyczących wartości", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Szukaj nazw stylów bez rozróżniania wielkości liter:\njakieś słowa - wszystkie słowa w dowolnej kolejności\n\"jakieś zdanie\" - dokładnie to zdanie bez cudzysłowów\n2020 - rok jak ten pokazuje również style zaktualizowane w 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Użyj składni /re/ dla wyszukiwania regexp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Całkowita liczba instalacji", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Nie znaleziono stylów dla tej witryny.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "Styl jest zainstalowany, ale nie ma zastosowania do bieżącego adresu URL witryny.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Poproś autora tego stylu użytkownika o dodanie adresu URL.\n\nMożesz także otworzyć styl w menedżerze i samodzielnie go edytować,\nale pamiętaj, że wyłącza to automatyczne aktualizacje tego stylu.", + "description": "" + }, + "searchResultRating": { + "message": "Ocena", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Zaktualizowano", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Tygodniowa liczba instalacji", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "Wszystkie", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "Kod CSS", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": "Klawisz lub uaktywnia pole wyszukiwania.\nTryb domyślny to wyszukiwanie zwykłego tekstu dla wszystkich terminów oddzielonych spacjami w dowolnej kolejności.\nDokładne słowa: zawiń zapytanie w podwójne cudzysłowy, np. <\".header ~ div\">\nWyrażenia regularne: uwzględnij ukośniki i flagi, np. \n\"Według adresu URL\" w selektorze zakresu: znajduje style, które mają zastosowanie do w pełni określonego adresu URL, np. https://www.example.org/\n\"Metadane\" w selektorze zakresu: wyszukuje w nazwach, specyfikatorach „dotyczy”, adresie URL instalacji, adresie URL aktualizacji i całym bloku metadanych dla stylów usercss.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "Według adresu URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadane", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Nazwa", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Dodaj następną sekcję", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Kod", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Usuń sekcję", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Przywróć usuniętą sekcję", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sekcje", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Skróty", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Zdefiniuj skróty klawiaturowe", + "description": "" + }, + "sortDateNewestFirst": { + "message": "najpierw najnowsze", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "najpierw najstarsze", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Wybierz sortowanie do zastosowania w zainstalowanych stylach", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Tytuł rosnąco", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Tytuł malejąco", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Wybierz rodzaj sortowania, który zostanie zastosowany do zainstalowanych wpisów z listy sortowania. Ustawienie domyślne stosuje sortowanie rosnące (od A do Z) do tytułów wpisów. Sortowania w grupie \"Tytuł malejąco\" zastosują sortowanie malejące (od Z do A) do tytułu.\nIstnieją inne ustawienia, które umożliwiają sortowanie wpisów według wielu kryteriów. Pomyśl o tym jako o sortowaniu tabeli z wieloma kolumnami, a każda kategoria w zaznaczeniu (między znakami plus) reprezentuje kolumnę lub grupę.\nNa przykład, jeśli ustawienie ma wartość \"Włączone (pierwsze) + tytuł\", wpisy zostaną uporządkowane, tak aby wszystkie włączone pozycje zostały posortowane na początek listy, a następnie do każdego z nich zostanie dodane oddzielnie sortowanie tytułu rosnąco (od A do Z) włączonych i wyłączonych wpisów.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sortuj zawartość", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp jest nieprawidłowe.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Upiększ", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Wskazówka: kliknij prawym przyciskiem myszy przycisk “Upiększ” lub użyj zdefiniowanego poniżej skrótu klawiaturowego, aby upiększyć bez pokazywania tego panelu", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Wcięcie @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Zachowaj nowe wiersze", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Powróć do zarządzania", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Wprowadzono zmiany w tym stylu bez zapisywania.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Włączony", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Nie udało się zaimportować z formatu Mozilla", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Wprowadź kod w formacie Mozilla", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Zainstalować '$stylename$' do Stylusa?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Nie udało się zainstalować stylu!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' jest już zainstalowany. Zastąpić?\nWersja: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Wpisz nazwę", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Format Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Styl nie został zastosowany z powodu nieprawidłowego użycia 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Niektóre reguły 'regexp()', których nie można było w ogóle skompilować.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Ten styl wykorzystuje częściowo dopasowane regexpy z naruszeniem specyfikacji CSS4 @document, która wymaga pełnego dopasowania adresów URL. Dotyczących sekcji CSS nie zastosowano do strony. Ten styl prawdopodobnie powstał w Stylish-dla-Chrome, który nieprawidłowo sprawdza reguły 'regexp()' od pierwszej wersji (znany błąd).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Liczba sekcji, które nie zostały zastosowane z powodu nieprawidłowego użycia 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Test RegExp", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Dopasowane karty", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Nieprawidłowe regexpy pominięto", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Brak dopasowanych kart", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Uwaga: w polu wejściowym regexp użyj pojedynczego \\ jako znaku ucieczki, który zgodnie ze specyfikacją dla cudzysłowów w CSS zostanie automatycznie zamieniony na \\\\ w kodzie stylu.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Niedopasowane zupełnie, więc pominięte", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Lista dopasowanych otwartych kart (kliknij URL, aby ustawić kartę)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Zapisz", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Kod w formacie Mozilla może być przesłany do userstyles.org i użyty z klasycznym dodatkiem Stylish dla Firefoksa", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Styl w formacie Mozilla", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Czy na pewno chcesz zaktualizować '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Styl zmieniono poza edytorem. Czy chcesz przeładować styl?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus nie działa na takich stronach.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Ze względów bezpieczeństwa przeglądarka nie zezwala, aby rozszerzenia wpływały na wbudowane strony (np. chrome://version, standardowa strona nowej karty od Chrome 61, about:addons itd.), a także na inne strony rozszerzeń. Każda przeglądarka ogranicza również dostęp do własnej galerii rozszerzeń (np. Chrome Web Store lub AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Nie można zapisać wartości. Spróbuj zmniejszyć ilość tekstu.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Synchronizacja nie powiodła się", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Synchronizacja nie powiodła się.\nSpróbuj ponownie zalogować się w opcjach Stylusa:\nkliknij najpierw 'rozłącz' , następnie 'połącz'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Przełącz styl", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Cofnij", + "description": "Button label" + }, + "undoGlobal": { + "message": "Cofnij we wszystkich sekcjach", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox zabrania dostępu do witryny.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Aby umożliwić dostęp, otwórz , kliknij listę prawym przyciskiem myszy, kliknij 'Dodaj ustawienie typu', następnie 'Wartość logiczna (Boolean)', wklej i kliknij OK, , OK, przeładuj stronę .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "W Firefox 60 lub nowszym będziesz musiał również usunąć domenę AMO z w .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Tylko Firefox 59 i nowsze wersje mogą zostać skonfigurowane, aby umożliwić rozszerzeniom WebExtension dodawanie elementów stylu na stronach chronionych przez CSP takich jak ta.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Nie można połączyć się ze stroną. Spróbuj przeładować kartę.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus może uzyskać dostęp do adresów URL file:// tylko po włączeniu odpowiedniego pola wyboru rozszerzenia Stylus na stronie chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus nie ma dostępu do niektórych typów plików (na przykład plików pdf i json).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nie znaleziono aktualizacji.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Niektóre, nadające się do aktualizacji, style nie były sprawdzone, aby uniknąć ewentualnej utraty lokalnych zmian. Aktualizacje mogą być wymuszone przez sprawdzanie pojedynczo lub przez uruchomienie innego sprawdzenia wszystkich stylów (lokalne zmiany zostaną nadpisane).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Aktualizacja się nie powiodła: serwer odpowiedział kodem $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Aktualizacja się nie powiodła: serwer nieosiągalny.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Historia sprawdzania aktualizacji", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Zainstaluj aktualizację (lokalne zmiany zostaną nadpisane)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Wymuszenie aktualizacji spowoduje nadpisanie wszelkich lokalnych zmian.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Ten styl był edytowany lokalnie.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Ten styl mógł być edytowany lokalnie.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Styl jest aktualny.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Aktualizacja zakończona.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Zainstalowane aktualizacje:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Proszę zmienić wartość @name lub @namespace, aby uniknąć nadpisania istniejącego stylu.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Styl został zaktualizowany lub usunięty po wyświetleniu okna dialogowego konfiguracji. Te zmienne nie zostały zapisane, aby uniknąć uszkodzenia metadanych stylu:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Określ @name w kodzie", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Zastąpić domyślny szablon dla nowych stylów Usercss aktualnym kodem?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Puste @name zastępuje szablon domyślny", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Wstaw kod tutaj...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Wersja jest starsza niż zainstalowany styl.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Napisz styl dla:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "tego adresu URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Eksportuj do Dropboksa", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Importowanie i eksportowanie związane z Dropboksem zostaje zastąpione bardziej zaawansowaną synchronizacją stylów na stronie opcji.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Importuj z Dropboksa", + "description": "" + }, + "overwriteFileExport": { + "message": "Czy chcesz zastąpić istniejący plik?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Plik zapisany z powodzeniem", + "description": "" + }, + "noFileToImport": { + "message": "Aby zaimportować style, należy je najpierw wyeksportować.", + "description": "" + }, + "connectingDropbox": { + "message": "Łączenie z Dropboksem...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Nawiązywanie połączeń z Dropboksem jest dostępne tylko w aplikacjach zainstalowanych bezpośrednio ze sklepu internetowego", + "description": "" + }, + "gettingStyles": { + "message": "Uzyskiwanie wszystkich stylów...", + "description": "" + }, + "zipStyles": { + "message": "Pakowanie stylów...", + "description": "" + }, + "unzipStyles": { + "message": "Wypakowanie stylów...", + "description": "" + }, + "readingStyles": { + "message": "Odczytywanie stylów...", + "description": "" + }, + "uploadingFile": { + "message": "Wysyłanie stylów...", + "description": "" + }, + "addStyleLabel": { + "message": "Napisz nowy styl", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "i więcej", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Adresy URL w domenie", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Użyj przycisków \"Dotyczy\", aby ograniczyć adresy URL, których dotyczy kod w tej sekcji.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Dotyczy", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Wyświetl informacje 'Dotyczy'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nie działa ze zminifikowanym CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Adresy URL pasujące do regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Usuń", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Nie można usunąć ostatniego wpisu 'dotyczy'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Sprecyzuj", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Wszystkie", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "Adres URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Adresy URL zaczynające się od", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Zastosuj wszystkie aktualizacje", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Kopia zapasowa", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Wybierz plik lub przeciągnij i upuść go na tę stronę.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Eksportuj style", - "description": "" - }, - "checkAllUpdates": { - "message": "Sprawdź aktualizacje wszystkich stylów", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Sprawdź ponownie, nie edytowałem żadnych stylów!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Sprawdź aktualizacje", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Sprawdzanie...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Kliknij, aby odinstalować", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Automatyczne zamykanie nawiasów i cytatów", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatycznie dodawaj zamknięcie pary podczas pisania jednego z otwarcia ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autouzupełnianie podczas pisania", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Próbniki kolorów CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Użyj tabulacji z inteligentnym wcięciem", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mapa klawiszy", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Zawijanie tekstu", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Linter CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Wyróżnienie", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Tylko zaznaczenie", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token pod kursorem", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Kliknij dwukrotnie, aby zmaksymalizować lub przywrócić wysokość", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dwukrotne kliknięcie wybiera tokeny", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Przykłady tokenów: .foo-bar-2 #aabbcc 0.32 !important\nPo wyłączeniu: wyrazy rozdzielone przecinkami są wybrane.", - "description": "" - }, - "cm_smartIndent": { - "message": "Użyj inteligentnego wcięcia", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Szerokość tabulacji", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Motyw", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Kliknij prawym przyciskiem myszy próbkę, aby przejść przez jej wiersze kodu", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Zmiana formatu: HEX -> RGB -> HSL.\nShift i kliknięcie do odwrócenia kierunku.\nTakże klawiszami PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Otwórz próbnik kolorów", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "przy zmianie", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autozapisuj i stosuj zmiany automatycznie", - "description": "" - }, - "configureStyle": { - "message": "Skonfiguruj", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Skonfiguruj na stronie głównej", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Anuluj", - "description": "" - }, - "confirmClose": { - "message": "Zamknij", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Użyj domyślnych", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Usuń", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Odrzucić zmiany?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nie", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Zapisz", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Zatrzymaj", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Tak", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Skopiowane do schowka", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Skopiuj do schowka", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Podaj tutaj niestandardową nazwę, aby zmienić nazwę stylu w interfejsie użytkownika bez przerywania jego aktualizacji", - "description": "" - }, - "customNameResetHint": { - "message": "Przestań używać niestandardowej nazwy, przełącz na własną nazwę stylu", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d.", - "description": "Day suffix in a short relative date, for example: 8d", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrHour": { - "message": "$value$g.", - "description": "Hour suffix in a short relative date, for example: 8h", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrMonth": { - "message": "$value$mies.", - "description": "Month suffix in a short relative date, for example: 8m", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrYear": { - "message": "$value$r.", - "description": "Year suffix in a short relative date, for example: 8y", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateInstalled": { - "message": "Data zainstalowania", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data aktualizacji", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Podczas używania bazy danych Stylus wystąpił błąd. Czy chcesz odwiedzić stronę internetową z możliwymi rozwiązaniami?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "domyślny", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Czy na pewno chcesz usunąć ten styl?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Usuń", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Przeprojektuj sieć za pomocą Stylusa – menedżera stylów użytkownika. Stylus umożliwia łatwe instalowanie motywów i skórek dla wielu popularnych witryn.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Wyłącz wszystkie style", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Wyłącz", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Upuść twój plik kopii zapasowej gdziekolwiek na tej stronie, aby zaimportować.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Aby zainstalować plik, upuść go na pasku kart (obszar, w którym wyświetlane są tytuły kart).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Usuń", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Przejdź do wiersza (lub wiersz:kol)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edytuj styl", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edytuj", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edytuj styl $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Włącz", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Wyklucz bieżącą domenę", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Wyklucz bieżący adres URL", - "description": "" - }, - "exportLabel": { - "message": "Eksportuj", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Prześlij opinię", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Strona główna", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Link zewnętrzny", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Wsparcie", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Dokumentacja Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "Pokazano $numShown$ z sumy $numTotal$", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Aktualnie stosowane filtry nie pasują do żadnego stylu", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Znajdź style", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Znajdź więcej stylów dla tej strony", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Wstawka", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Wyświetlaj wyniki wyszukiwania w tym oknie.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Dodaj", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Sklonuj", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Wyłączone", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Włączone", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Błąd", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historia", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Dalej", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Wstecz", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Resetuj", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Zapisano", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Tytuł", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Nieznane", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Pomoc", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Wpisz nazwę polecenia", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Naciśnij klawisz skrótu", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Ten host został wyłączony z powodu błędu w bieżącej wersji używanej przeglądarki", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Dołącz do stylu", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Dołącz importowany styl do bieżącego stylu", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importuj", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Styl z @preprocessor nie będzie działać w trybie klasycznym. Możesz przełączyć edytor w tryb Usercss: 1) otwórz menedżer stylów, 2) zaznacz pole wyboru \"jako Usercss\", 3) kliknij \"Napisz nowy styl\"\n\nCzy mimo to zaimportować teraz?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potencjalny problem związany z @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Nadpisz styl", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Odrzuć zawartość bieżącego stylu i nadpisz go przy użyciu importowanego stylu", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "dodano", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identyczne pominięte", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "nieprawidłowe pominięte", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "zaktualizowano meta info i kod", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "zaktualizowany kod", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "zaktualizowano meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Ukończono importowanie stylów", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nic nie zostało zmienione.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "style zostały przywrócone", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importowanie zostało cofnięte", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Zainstaluj styl", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Styl zainstalowano", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Przeinstaluj styl", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Zaktualizuj styl", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Zainstaluj aktualizację", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Obecnie styl jest aktualizowany z $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Sprawdź aktualizacje", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licencja", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Uzyskaj pomoc", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Pobierz style", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Tłumacz", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint nie obsługuje preprocesora $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Ustaw regułę jako: 0 = wyłączone; 1 = ostrzeżenie; 2 = błąd)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Ustaw konfigurację reguł $linter$", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Kliknij, aby skonfigurować ten linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nie zapisano z powodu tych nieprawidłowych ustawień konfiguracji:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemy", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Te problemy zostały znalezione przez $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Nieprawidłowy format JSON", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Aby cofnąć przypadkowe zresetowanie, w polu tekstowym naciśnij Ctrl-Z (lub Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Zobacz pełną listę reguł", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Wystąpił błąd podczas oglądania pliku", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Pozostaw tę kartę otwartą, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Pozostaw zarówno tę kartę, jak i kartę pierwotną otwarte, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Przeładuj na żywo", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Ikony ulubionych w kolumnie dotyczących", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Wyszarzone", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus korzysta z usługi zewnętrznej https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtry", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Zainstalowane style", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Liczba dotyczących elementów ", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "jako Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nowy układ interfejsu zarządzania", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Tylko wyłączone style", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Tylko włączone style", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Tylko zewnętrzne style", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Tylko style stworzone lokalnie", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(style nie zainstalowane poprzez stronę userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Tylko style nie-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Tylko z aktualizacjami lub problemami", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Tylko style Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Pokaż liczbę aktywnych stylów", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Nieprawidłowe pole wyboru @var: wartość musi wynosić 0 lub 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Nieprawidłowy kolor @var: $color$ nie jest kolorem", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "Nieprawidłowa @var $type$: wartość musi być liczbą lub tablicą", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Nieprawidłowa @var $type$: określono wiele jednostek", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Nieprawidłowa @var $type$: tablica zawiera zbyt wiele elementów", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "Nieprawidłowa @var $type$: elementy w tablicy muszą być liczbą, łańcuchem lub wartością null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "Nieprawidłowa @var $type$: wartość domyślna jest wartością null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "Nieprawidłowa @var $type$: wartość domyślna jest niższa niż minimalna", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "Nieprawidłowa @var $type$: domyślna wartość jest większa niż maksymalna", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "Nieprawidłowa @var $type$: wartość domyślna nie jest wielokrotnością kroku", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "Nieprawidłowa @var $type$: '$units$' nie jest prawidłową jednostką", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "Nieprawidłowa @var select: domyślną wartością musi być tablica lub obiekt", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Nieprawidłowa @var select: wartości wewnątrz tablicy/obiektu muszą być ciągami", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Nieprawidłowa @var select: lista opcji jest pusta", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Nieprawidłowa @var select: etykieta opcji jest pusta", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Nieprawidłowa @var select: określono wiele domyślnych opcji", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Nieprawidłowa @var select: nazwa opcji jest zduplikowana", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Nieprawidłowa @var select: wartość nie istnieje na liście opcji", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Nieprawidłowy protokół URL. Dozwolone są tylko http i https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Nieprawidłowy numer wersji. Wartość nie pasuje do wzorca SemVer: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Spodziewana liczba", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Spodziewany cytowany ciąg", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Spodziewane słowo", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Spodziewane znaki: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Spodziewane dane EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Brakujące obowiązkowe metadane: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "Nieprawidłowy JSON: $literal$ nie jest prawidłowym literałem JSON", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Nieznane metadane: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Nieznany typ @$varkey$: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "Nieznany @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Nie ma zainstalownych stylów dla tej witryny.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Wiersz:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Zarządzaj", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opcje", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Otwórz menedżera stylów", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Akcje", - "description": "" - }, - "optionsAdvanced": { - "message": "Zaawansowane", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Dodaj 'Usuń' do menu kontekstowego edytora", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Odsłoń ramki pływające za pomocą HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Odsłania domenę najwyższego poziomu w każdym elemencie iframe.\nWłącza pisanie CSS specyficznych dla iframe w taki sposób:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Napisz nowy styl jako usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Załataj CSP, aby zezwolić na zasoby stylu", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Włącz tę opcję, jeśli style zawierają obrazy lub czcionki, które nie ładują się w witrynach ze ścisłymCSP (Content-Security-Policy).\n\nWłączenie tego ustawienia złagodzi ograniczenia CSP, umożliwiając załadowanie podstawowej zawartości stylu. Ta opcja jest przeznaczona tylko dla zaawansowanych użytkowników, którzy rozumieją potencjalne konsekwencje dla bezpieczeństwa i przyjmują odpowiedzialność za monitorowanie treści, na które zezwalają. Przeczytaj o atakach opartych na CSS, aby uzyskać więcej informacji.\n\nNależy również pamiętać, że to szczególne ustawienie nie jest gwarantowane, jeśli inne zainstalowane rozszerzenie zmodyfikuje najpierw odpowiedź sieci.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Tryb natychmiastowego wstrzyknięcia", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Włącz tę opcję, jeśli napotkasz miganie niestylizowanej treści (FOUC) podczas przeglądania, co jest szczególnie zauważalne w przypadku ciemnych motywów.\n\nTechnicznym powodem jest to, że Chrome/Chromium odracza asynchroniczną komunikację rozszerzeń, co zwykle jest bezsensowną próbą przyspieszenia ładowania strony i może powodować spóźnienie zastosowania stylów. Aby to obejść, ponieważ rozszerzenia internetowe nie mają synchronicznego interfejsu API, Stylus udostępnia tę opcję, która umożliwia wykorzystanie \"przestarzałego\" synchronicznego sieciowego API XMLHttpRequest do pobierania odpowiednich stylów. Nie powinno to mieć żadnych negatywnych skutków, ponieważ żądanie jest realizowane w ciągu kilku milisekund, podczas gdy strona jest nadal pobierana z serwera.\n\nNiemniej jednak Chromium wyświetli ostrzeżenie w konsoli narzędzi dla programistów. Kliknięcie ostrzeżenia prawym przyciskiem myszy i ukrycie go zapobiegnie wyświetlaniu przyszłych ostrzeżeń.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Kolor tła po wyłączeniu", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Kolor tła", - "description": "" - }, - "optionsCheck": { - "message": "Aktualizuj style", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Sprawdź i zainstaluj wszystkie dostępne aktualizacje", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Emblemat na ikonie paska narzędzi", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ikona paska narzędzi", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Okno podręczne", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Aktualizacje", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synchronizuj z chmurą", - "description": "" - }, - "optionsHeading": { - "message": "Opcje", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Ciemne motywy przeglądarki", - "description": "" - }, - "optionsIconLight": { - "message": "Jasne motywy przeglądarki", - "description": "" - }, - "optionsOpen": { - "message": "Otwórz", - "description": "" - }, - "optionsOpenManager": { - "message": "Zarządzaj stylami", - "description": "" - }, - "optionsPopupWidth": { - "message": "Szerokość okna (w pikselach)", - "description": "" - }, - "optionsReset": { - "message": "Zresetuj opcje do wartości domyślnych", - "description": "" - }, - "optionsResetButton": { - "message": "Resetuj opcje", - "description": "" - }, - "optionsStylusThemes": { - "message": "Znajdź motyw interfejsu Stylusa", - "description": "" - }, - "optionsSubheading": { - "message": "Więcej opcji", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Podczas importowania kopii zapasowych stylu ze starej wersji lub ze Stylish jednorazowo sprawdź aktualizacje ręcznie w menedżerze stylów, aby upewnić się, że wszystkie style są zaktualizowane.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Interwał automatycznej aktualizacji stylu w godzinach (podaj 0, aby wyłączyć)", - "description": "" - }, - "optionsSyncNone": { - "message": "Brak", - "description": "" - }, - "optionsSyncConnect": { - "message": "Połącz", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Rozłącz", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Synchronizuj teraz", - "description": "" - }, - "optionsSyncLogin": { - "message": "Logowanie", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Przyciąganie stylu $loaded$ z $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "Dostarczanie stylu $loaded$ z $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "Synchronizowanie...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Łączenie...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Połączono", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Rozłączanie...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Rozłączono", - "description": "" - }, - "paginationCurrent": { - "message": "Bieżąca strona", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Szacowana liczba stron", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Następna strona", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Poprzednia strona", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Wszystkie strony", - "description": "" - }, - "parseUsercssError": { - "message": "Stylusowi nie udało się sparsować usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Przesortuj style w oknie podręcznym po przełączeniu", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Dodaj białe obramowania po bokach", - "description": "" - }, - "popupBordersTooltip": { - "message": "Przydaje się do ciemnych motywów w nowym Chrome, ponieważ nie maluje już bocznych krawędzi", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, również na klawiaturze numerycznej - przełącza n-ty styl (0 to 10)\n- przełącza pierwszy styl z nazwą zaczynającą się na literę\n otwiera edytor zamiast przełączać\n włącza wymienione style\n wyłącza wymienione style\n oraz <`> (grawis) - przełącza początkowo włączone style; nie ma zastosowania do później włączonych stylów, podczas gdy okienko podręczne jest otwarte, więc możesz przywrócić początkowy wybór po przetestowaniu: po prostu wyłącz wszystkie, a następnie przełącz, np. \nWięcej informacji na wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Kliknij, aby zobaczyć dostępne skróty klawiszowe", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift + kliknięcie lub kliknięcie prawym przyciskiem otwiera menedżera ze stylami obowiązującymi dla bieżącej witryny", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Menu akcji", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Użyj prostego okna (bez omniboksu)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Otwórz edytor w nowym oknie", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Także włączone przez odłączenie karty edytora od okna przeglądarki,\nwyłączone przez dołączenie pojedynczej karty edytora do innego okna.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Style przed poleceniami", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Liczba aktywnych stylów dla bieżącej witryny", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Podgląd na żywo", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Tymczasowo stosuje zmiany bez zapisywania.\nZapisz styl, aby zmiany stały się trwałe.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Przeładuj rozszerzenie Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Zamień", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Zamień wszystkie", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Zamień na", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importuj style", - "description": "" - }, - "search": { - "message": "Szukaj", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Rozróżnianie wielkości liter", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Przeszukuj także style globalne", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Liczba dopasowań", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Liczba dopasowań w kodzie oraz dotyczących wartości", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Szukaj nazw stylów bez rozróżniania wielkości liter:\njakieś słowa - wszystkie słowa w dowolnej kolejności\n\"jakieś zdanie\" - dokładnie to zdanie bez cudzysłowów\n2020 - rok jak ten pokazuje również style zaktualizowane w 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Użyj składni /re/ dla wyszukiwania regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Całkowita liczba instalacji", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nie znaleziono stylów dla tej witryny.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "Styl jest zainstalowany, ale nie ma zastosowania do bieżącego adresu URL witryny.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Poproś autora tego stylu użytkownika o dodanie adresu URL.\n\nMożesz także otworzyć styl w menedżerze i samodzielnie go edytować,\nale pamiętaj, że wyłącza to automatyczne aktualizacje tego stylu.", - "description": "" - }, - "searchResultRating": { - "message": "Ocena", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Zaktualizowano", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Tygodniowa liczba instalacji", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Wszystkie", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "Kod CSS", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": "Klawisz lub uaktywnia pole wyszukiwania.\nTryb domyślny to wyszukiwanie zwykłego tekstu dla wszystkich terminów oddzielonych spacjami w dowolnej kolejności.\nDokładne słowa: zawiń zapytanie w podwójne cudzysłowy, np. <\".header ~ div\">\nWyrażenia regularne: uwzględnij ukośniki i flagi, np. \n\"Według adresu URL\" w selektorze zakresu: znajduje style, które mają zastosowanie do w pełni określonego adresu URL, np. https://www.example.org/\n\"Metadane\" w selektorze zakresu: wyszukuje w nazwach, specyfikatorach „dotyczy”, adresie URL instalacji, adresie URL aktualizacji i całym bloku metadanych dla stylów usercss.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "Według adresu URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadane", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Nazwa", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Dodaj następną sekcję", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Usuń sekcję", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Przywróć usuniętą sekcję", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sekcje", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Skróty", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Zdefiniuj skróty klawiaturowe", - "description": "" - }, - "sortDateNewestFirst": { - "message": "najpierw najnowsze", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "najpierw najstarsze", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Wybierz sortowanie do zastosowania w zainstalowanych stylach", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Tytuł rosnąco", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Tytuł malejąco", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Wybierz rodzaj sortowania, który zostanie zastosowany do zainstalowanych wpisów z listy sortowania. Ustawienie domyślne stosuje sortowanie rosnące (od A do Z) do tytułów wpisów. Sortowania w grupie \"Tytuł malejąco\" zastosują sortowanie malejące (od Z do A) do tytułu.\nIstnieją inne ustawienia, które umożliwiają sortowanie wpisów według wielu kryteriów. Pomyśl o tym jako o sortowaniu tabeli z wieloma kolumnami, a każda kategoria w zaznaczeniu (między znakami plus) reprezentuje kolumnę lub grupę.\nNa przykład, jeśli ustawienie ma wartość \"Włączone (pierwsze) + tytuł\", wpisy zostaną uporządkowane, tak aby wszystkie włączone pozycje zostały posortowane na początek listy, a następnie do każdego z nich zostanie dodane oddzielnie sortowanie tytułu rosnąco (od A do Z) włączonych i wyłączonych wpisów.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sortuj zawartość", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp jest nieprawidłowe.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Upiększ", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Wskazówka: kliknij prawym przyciskiem myszy przycisk “Upiększ” lub użyj zdefiniowanego poniżej skrótu klawiaturowego, aby upiększyć bez pokazywania tego panelu", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Wcięcie @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Zachowaj nowe wiersze", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Powróć do zarządzania", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Wprowadzono zmiany w tym stylu bez zapisywania.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Włączony", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Nie udało się zaimportować z formatu Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Wprowadź kod w formacie Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Zainstalować '$stylename$' do Stylusa?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Nie udało się zainstalować stylu!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' jest już zainstalowany. Zastąpić?\nWersja: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Wpisz nazwę", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Format Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Styl nie został zastosowany z powodu nieprawidłowego użycia 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Niektóre reguły 'regexp()', których nie można było w ogóle skompilować.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Ten styl wykorzystuje częściowo dopasowane regexpy z naruszeniem specyfikacji CSS4 @document, która wymaga pełnego dopasowania adresów URL. Dotyczących sekcji CSS nie zastosowano do strony. Ten styl prawdopodobnie powstał w Stylish-dla-Chrome, który nieprawidłowo sprawdza reguły 'regexp()' od pierwszej wersji (znany błąd).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Liczba sekcji, które nie zostały zastosowane z powodu nieprawidłowego użycia 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Test RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Dopasowane karty", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Nieprawidłowe regexpy pominięto", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Brak dopasowanych kart", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Uwaga: w polu wejściowym regexp użyj pojedynczego \\ jako znaku ucieczki, który zgodnie ze specyfikacją dla cudzysłowów w CSS zostanie automatycznie zamieniony na \\\\ w kodzie stylu.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Niedopasowane zupełnie, więc pominięte", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista dopasowanych otwartych kart (kliknij URL, aby ustawić kartę)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Zapisz", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Kod w formacie Mozilla może być przesłany do userstyles.org i użyty z klasycznym dodatkiem Stylish dla Firefoksa", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Styl w formacie Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Czy na pewno chcesz zaktualizować '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Styl zmieniono poza edytorem. Czy chcesz przeładować styl?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus nie działa na takich stronach.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Ze względów bezpieczeństwa przeglądarka nie zezwala, aby rozszerzenia wpływały na wbudowane strony (np. chrome://version, standardowa strona nowej karty od Chrome 61, about:addons itd.), a także na inne strony rozszerzeń. Każda przeglądarka ogranicza również dostęp do własnej galerii rozszerzeń (np. Chrome Web Store lub AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Nie można zapisać wartości. Spróbuj zmniejszyć ilość tekstu.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Przełącz styl", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Cofnij", - "description": "Button label" - }, - "undoGlobal": { - "message": "Cofnij we wszystkich sekcjach", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox zabrania dostępu do witryny.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Aby umożliwić dostęp, otwórz , kliknij listę prawym przyciskiem myszy, kliknij 'Dodaj ustawienie typu', następnie 'Wartość logiczna (Boolean)', wklej i kliknij OK, , OK, przeładuj stronę .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "W Firefox 60 lub nowszym będziesz musiał również usunąć domenę AMO z w .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Tylko Firefox 59 i nowsze wersje mogą zostać skonfigurowane, aby umożliwić rozszerzeniom WebExtension dodawanie elementów stylu na stronach chronionych przez CSP takich jak ta.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Nie można połączyć się ze stroną. Spróbuj przeładować kartę.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus może uzyskać dostęp do adresów URL file:// tylko po włączeniu odpowiedniego pola wyboru rozszerzenia Stylus na stronie chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus nie ma dostępu do niektórych typów plików (na przykład plików pdf i json).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nie znaleziono aktualizacji.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Niektóre, nadające się do aktualizacji, style nie były sprawdzone, aby uniknąć ewentualnej utraty lokalnych zmian. Aktualizacje mogą być wymuszone przez sprawdzanie pojedynczo lub przez uruchomienie innego sprawdzenia wszystkich stylów (lokalne zmiany zostaną nadpisane).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Aktualizacja się nie powiodła: serwer odpowiedział kodem $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Aktualizacja się nie powiodła: serwer nieosiągalny.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historia sprawdzania aktualizacji", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Zainstaluj aktualizację (lokalne zmiany zostaną nadpisane)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Wymuszenie aktualizacji spowoduje nadpisanie wszelkich lokalnych zmian.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Ten styl był edytowany lokalnie.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Ten styl mógł być edytowany lokalnie.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Styl jest aktualny.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aktualizacja zakończona.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Zainstalowane aktualizacje:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Proszę zmienić wartość @name lub @namespace, aby uniknąć nadpisania istniejącego stylu.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Styl został zaktualizowany lub usunięty po wyświetleniu okna dialogowego konfiguracji. Te zmienne nie zostały zapisane, aby uniknąć uszkodzenia metadanych stylu:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Określ @name w kodzie", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Zastąpić domyślny szablon dla nowych stylów Usercss aktualnym kodem?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Puste @name zastępuje szablon domyślny", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Wstaw kod tutaj...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Wersja jest starsza niż zainstalowany styl.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Napisz styl dla:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "tego adresu URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Eksportuj do Dropboksa", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Importowanie i eksportowanie związane z Dropboksem zostaje zastąpione bardziej zaawansowaną synchronizacją stylów na stronie opcji.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importuj z Dropboksa", - "description": "" - }, - "overwriteFileExport": { - "message": "Czy chcesz zastąpić istniejący plik?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Plik zapisany z powodzeniem", - "description": "" - }, - "noFileToImport": { - "message": "Aby zaimportować style, należy je najpierw wyeksportować.", - "description": "" - }, - "connectingDropbox": { - "message": "Łączenie z Dropboksem...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Nawiązywanie połączeń z Dropboksem jest dostępne tylko w aplikacjach zainstalowanych bezpośrednio ze sklepu internetowego", - "description": "" - }, - "gettingStyles": { - "message": "Uzyskiwanie wszystkich stylów...", - "description": "" - }, - "zipStyles": { - "message": "Pakowanie stylów...", - "description": "" - }, - "unzipStyles": { - "message": "Wypakowanie stylów...", - "description": "" - }, - "readingStyles": { - "message": "Odczytywanie stylów...", - "description": "" - }, - "uploadingFile": { - "message": "Wysyłanie stylów...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 2d70f0a9..2b98478d 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -1,1044 +1,1586 @@ { - "addStyleLabel": { - "message": "Escrever novo estilo", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Adicionar estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidade", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Adicionar", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplica-se a: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Adicionar estilo", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacidade", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Adicionar", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Aplica-se a: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "e mais", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs no domínio", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use os controles \"Aplica-se a\" para limitar a quais URLs o código desta seção se aplica.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Aplica-se a", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Mostrar informações de \"Aplica-se a\"", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Não funciona com CSS minificado", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs que correspondem a regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Remover", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Não é possível remover a última entrada de 'aplica-se a'", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Especificar", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Tudo", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs que começam com", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Aplicar todas as atualizações", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Selecione um arquivo ou arraste e solte nessa página.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Exportar estilos", + "description": "" + }, + "checkAllUpdates": { + "message": "Verificar atualizações para todos os estilos", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check novamente, eu não editei nenhum estilo! ", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Verificar atualizações", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Verificando...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Clique para desistalar", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Auto fechar parênteses, colchetes e aspas", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Adicione automaticamente um par de fechamento ao digitar uma abertura de ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocompletar ao digitar", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers para cores CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Usar tabs com indentação inteligente", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Quebra de linha", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "Linter CSS", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Somente seleção", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token sob cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Duplo clique para maximizar/restaurar a altura", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Clicar duas vezes seleciona tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Usar indentação inteligente", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Tema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Clique com o botão direito em uma amostra para percorrer suas linhas de código", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Inverter formatos: HEX -> RGB -> HSL.\nShift-click para inverter a direção.\nTambém por meio das teclas PgUp (PageUp), PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Abrir seletor de cores", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Salvar e aplicar mudanças automaticamente", + "description": "" + }, + "configureStyle": { + "message": "Configurar", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configurar a página inicial", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancelar", + "description": "" + }, + "confirmClose": { + "message": "Fechar", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Usar padrão ", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Deletar", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Descartar as mudanças?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Não", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Salvar", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Parar", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Sim", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copiado para a área de transferência", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copiar para a área de transferência", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Digite um nome personalizado para renomear o estilo na UI sem quebrar suas atualizações", + "description": "" + }, + "customNameResetHint": { + "message": "Deixar de usar o nome personalizado, usar o próprio nome do estilo", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$a", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Data instalada ", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Data atualizada", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Não foi possível usar a base de dados do Stylus. Deseja visitar uma página da web com possíveis soluções?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "padrão", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Tem certeza de que deseja excluir este estilo?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Excluir", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Mude o estilo da web com o Stylus, um gerenciador de estilos do usuário. O Stylus permite instalar facilmente temas e skins para vários sites populares.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Desativar todos os estilos", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Desativar", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Arraste seu arquivo de backup em qualquer lugar nessa página para importá-lo.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Para instalar o arquivo, solte-o na linha das abas (a área onde os títulos das abas são mostrados).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Apagar", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Ir para linha (ou linha:coluna)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Editar estilo", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Editar", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Editar estilo $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Ativar", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Excluir o domínio atual", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Excluir a URL atual", + "description": "" + }, + "exportLabel": { + "message": "Exportar ", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Comentários", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Página inicial", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Link externo", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Suporte", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentação do UserCSS", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ mostrados de $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Filtros aplicados não correspondem a nenhum estilo", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Encontrar estilos", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Procurar mais estilos para este site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Em linha", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Mostrar resultados dentro dessa janela", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Adicionar", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clonar", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Desativado", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Ativado", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Erro", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Histórico", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Próximo", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Anterior", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Redefinir", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Salvo", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Título", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Desconhecido", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Ajuda", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Digite um comando aqui", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Pressione uma tecla de atalho", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "Este hospedeiro foi desabilitado devido a um bug na versão atual que o navegador utilizado se encontra", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Anexar ao estilo", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Anexar o estilo importado ao atual", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importar", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Estilos com @preprocessor não irão funcionar no modo clássico. Você pode trocar o editor para o modo UserCSS: 1) abre o gerenciador de estilos, 2) ative a caixa \"como UserCSS\", 3) clique \"Escrever novo estilo\"\n\nDeseja importar mesmo assim?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Possível problema causado pelo @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Sobrescrever estilo", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Descartar conteúdo do estilo atual e sobrescreve-lo com o estilo importado", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "adicionado", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "idênticos pulados", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "inválidos pulados", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "tiveram o meta e código atualizados", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "código atualizado", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "tiveram o meta atualizados", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Importação de estilos finalizada", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nada foi alterado.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "estilos foram revertidos", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "A importação foi desfeita", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Instalar estilo", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Estilo instalado", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstalar estilo", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Atualizar estilo", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Instalar atualização", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Atualmente, o estilo é atualizado de $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Verificar se há atualizações", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licensa", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Buscar ajuda", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Obter estilos", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Traduzir", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint não suporta o pré-processador $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Definir regra como: 0 = desativado; 1 = aviso; 2 = erro)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Configurar regras do $linter$", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Clique para configurar esse linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Não foi possível salvar devido às seguintes configurações inválidas:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problemas", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Esses problemas foram encontrados por $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Formato JSON inválido", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Para desfazer redefinições acidentais, pressione Ctrl-Z (ou Cmd-Z) na caixa de texto", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Ver uma lista completa de regras", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Não foi possível assistir o arquivo", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Estilos instalados", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "como UserCSS", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Somente estilos desativados", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Apenas estilos habilitados", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Apenas estilos sem UserCSS", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Apenas estilos com UserCSS", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "@var inválido $type$: valor deve ser um número ou um vetor", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Espera-se um número", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Espera-se um texto entre aspas", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Espera-se uma palavra", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Caracteres esperados: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Metadata obrigatório não encontrado: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Metadata desconhecido: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Tipo desconhecido da variável @$varkey$: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Nenhum estilo instalado para este site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Gerenciar estilos instalados", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Opções", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Abrir gerenciador de estilos", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Ações", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Escrever novo estilo como UserCSS", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Cor de fundo quando desativado", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Cor de fundo", + "description": "" + }, + "optionsCheck": { + "message": "Atualizar estilos", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Verifique e instale todas as atualizações disponíveis", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Atualizações", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sincronizar para a nuvem", + "description": "" + }, + "optionsHeading": { + "message": "Opções", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Abrir", + "description": "" + }, + "optionsOpenManager": { + "message": "Gerenciar estilos", + "description": "" + }, + "optionsPopupWidth": { + "message": "Largura do popup (em pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Mais Opções", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "Nenhum", + "description": "" + }, + "optionsSyncConnect": { + "message": "Conectar", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Desconectar", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sincronizar agora", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Sincronizando...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Conectando...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Conectado", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Desconectando...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Desconectado", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Não foi possível analisar o UserCSS:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Número de estilos ativos para o site atual", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Recarregar a extensão do Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "Substituir", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Substituir todos", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Substituir com", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importar estilos", + "description": "" + }, + "search": { + "message": "Buscar", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use a sintaxe /re/ para busca por regexp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Adicionar outra seção", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Código", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remover seção", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Atalhos", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Expressão regular é inválida", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Embelezar", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Dica: clique com o botão direito no botão \"Embelezar\" ou use o atalho de teclado definido para embelezar sem mostrar esse painel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Voltar ao gerenciamento", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Você fez alterações neste estilo sem salvar.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Ativado", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Instalar \"$stylename$\" no Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Insira um nome", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Salvar", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "O formato Mozilla do código pode ser usado com o Stylish para Firefox e pode ser enviado para userstyles.org.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Você tem certeza que quer atualizar '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Desfazer", + "description": "Button label" + }, + "undoGlobal": { + "message": "Desfazer todas as seções", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nenhuma atualização encontrada.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "A atualização falhou: o servidor respondeu com código $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "A atualização falhou: servidor inacessível.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forçar uma atualização irá sobrescrever qualquer alteração local.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Esse estilo foi editado localmente.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Este estilo parece ter sido editado localmente.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "O estilo está atualizado.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Atualização concluída.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates instalados:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Substituir o template padrão por novos estilos com UserCSS com o código atual?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "@nome vazio substitui o template padrão", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insira o código aqui...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "A versão é mais velha que o estilo instalado.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Escrever um estilo para:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "Essa URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Exportar para Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Importar do Dropbox", + "description": "" + }, + "overwriteFileExport": { + "message": "Você gostaria de substituir um arquivo existente?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Arquivo salvo com sucesso", + "description": "" + }, + "noFileToImport": { + "message": "Para importar seus estilos, você deve exportar primeiro.", + "description": "" + }, + "connectingDropbox": { + "message": "Conectando ao Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Conectar ao Dropbox somente é disponível em apps instalados diretamente da loja web", + "description": "" + }, + "gettingStyles": { + "message": "Obtendo todos os estilos...", + "description": "" + }, + "zipStyles": { + "message": "Compactando estilos...", + "description": "" + }, + "unzipStyles": { + "message": "Descompactando estilos...", + "description": "" + }, + "readingStyles": { + "message": "Lendo estilos...", + "description": "" + }, + "uploadingFile": { + "message": "Enviando arquivo...", + "description": "" + }, + "addStyleLabel": { + "message": "Escrever novo estilo", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "e mais", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs no domínio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use os controles \"Aplica-se a\" para limitar a quais URLs o código desta seção se aplica.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Aplica-se a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Mostrar informações de \"Aplica-se a\"", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Não funciona com CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs que correspondem a regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remover", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Não é possível remover a última entrada de 'aplica-se a'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tudo", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URLs que começam com", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar todas as atualizações", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupMessage": { - "message": "Selecione um arquivo ou arraste e solte nessa página.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportar estilos", - "description": "" - }, - "checkAllUpdates": { - "message": "Verificar atualizações para todos os estilos", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check novamente, eu não editei nenhum estilo! ", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Verificar atualizações", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Verificando...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Clique para desistalar", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Auto fechar parênteses, colchetes e aspas", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Adicione automaticamente um par de fechamento ao digitar uma abertura de ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocompletar ao digitar", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers para cores CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usar tabs com indentação inteligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_lineWrapping": { - "message": "Quebra de linha", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Linter CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlightSelection": { - "message": "Somente seleção", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token sob cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Duplo clique para maximizar/restaurar a altura", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Clicar duas vezes seleciona tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_smartIndent": { - "message": "Usar indentação inteligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Clique com o botão direito em uma amostra para percorrer suas linhas de código", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Inverter formatos: HEX -> RGB -> HSL.\nShift-click para inverter a direção.\nTambém por meio das teclas PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Abrir seletor de cores", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChangeTooltip": { - "message": "Salvar e aplicar mudanças automaticamente", - "description": "" - }, - "configureStyle": { - "message": "Configurar", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurar a página inicial", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancelar", - "description": "" - }, - "confirmClose": { - "message": "Fechar", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Usar padrão ", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Deletar", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Descartar as mudanças?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Não", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Salvar", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Parar", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Sim", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copiado para a área de transferência", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copiar para a área de transferência", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Digite um nome personalizado para renomear o estilo na UI sem quebrar suas atualizações", - "description": "" - }, - "customNameResetHint": { - "message": "Deixar de usar o nome personalizado, usar o próprio nome do estilo", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrYear": { - "message": "$value$a", - "description": "Year suffix in a short relative date, for example: 8y", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateInstalled": { - "message": "Data instalada ", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data atualizada", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Não foi possível usar a base de dados do Stylus. Deseja visitar uma página da web com possíveis soluções?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "padrão", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Tem certeza de que deseja excluir este estilo?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Excluir", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Mude o estilo da web com o Stylus, um gerenciador de estilos do usuário. O Stylus permite instalar facilmente temas e skins para vários sites populares.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Desativar todos os estilos", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Desativar", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Arraste seu arquivo de backup em qualquer lugar nessa página para importá-lo.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Para instalar o arquivo, solte-o na linha das abas (a área onde os títulos das abas são mostrados).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Apagar", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ir para linha (ou linha:coluna)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Editar estilo", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Editar", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Editar estilo $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Ativar", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Excluir o domínio atual", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Excluir a URL atual", - "description": "" - }, - "exportLabel": { - "message": "Exportar ", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Comentários", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Página inicial", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Link externo", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Suporte", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentação do UserCSS", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mostrados de $numTotal$ total", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Filtros aplicados não correspondem a nenhum estilo", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Encontrar estilos", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Procurar mais estilos para este site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Em linha", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Mostrar resultados dentro dessa janela", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Adicionar", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clonar", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Desativado", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Ativado", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Erro", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Histórico", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Próximo", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Anterior", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Redefinir", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvo", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Título", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Desconhecido", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ajuda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Digite um comando aqui", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Pressione uma tecla de atalho", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Este hospedeiro foi desabilitado devido a um bug na versão atual que o navegador utilizado se encontra", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Anexar ao estilo", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Anexar o estilo importado ao atual", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Estilos com @preprocessor não irão funcionar no modo clássico. Você pode trocar o editor para o modo UserCSS: 1) abre o gerenciador de estilos, 2) ative a caixa \"como UserCSS\", 3) clique \"Escrever novo estilo\"\n\nDeseja importar mesmo assim?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Possível problema causado pelo @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Sobrescrever estilo", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Descartar conteúdo do estilo atual e sobrescreve-lo com o estilo importado", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "adicionado", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "idênticos pulados", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "inválidos pulados", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "tiveram o meta e código atualizados", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "código atualizado", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "tiveram o meta atualizados", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importação de estilos finalizada", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nada foi alterado.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "estilos foram revertidos", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "A importação foi desfeita", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalar estilo", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Estilo instalado", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalar estilo", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Atualizar estilo", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Instalar atualização", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Atualmente, o estilo é atualizado de $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Verificar se há atualizações", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licensa", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Buscar ajuda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obter estilos", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Traduzir", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint não suporta o pré-processador $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Definir regra como: 0 = desativado; 1 = aviso; 2 = erro)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Configurar regras do $linter$", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Clique para configurar esse linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Não foi possível salvar devido às seguintes configurações inválidas:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemas", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Esses problemas foram encontrados por $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Formato JSON inválido", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Para desfazer redefinições acidentais, pressione Ctrl-Z (ou Cmd-Z) na caixa de texto", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Ver uma lista completa de regras", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Não foi possível assistir o arquivo", - "description": "The label of live-reload error" - }, - "manageHeading": { - "message": "Estilos instalados", - "description": "Heading for the manage page" - }, - "manageNewStyleAsUsercss": { - "message": "como UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageOnlyDisabled": { - "message": "Somente estilos desativados", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Apenas estilos habilitados", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyNonUsercss": { - "message": "Apenas estilos sem UserCSS", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUsercss": { - "message": "Apenas estilos com UserCSS", - "description": "Checkbox to show only Usercss styles" - }, - "meta_invalidRange": { - "message": "@var inválido $type$: valor deve ser um número ou um vetor", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Espera-se um número", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Espera-se um texto entre aspas", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Espera-se uma palavra", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Caracteres esperados: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingMandatory": { - "message": "Metadata obrigatório não encontrado: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Metadata desconhecido: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Tipo desconhecido da variável @$varkey$: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "noStylesForSite": { - "message": "Nenhum estilo instalado para este site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Gerenciar estilos instalados", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opções", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Abrir gerenciador de estilos", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Ações", - "description": "" - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Escrever novo estilo como UserCSS", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Cor de fundo quando desativado", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Cor de fundo", - "description": "" - }, - "optionsCheck": { - "message": "Atualizar estilos", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Verifique e instale todas as atualizações disponíveis", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Atualizações", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sincronizar para a nuvem", - "description": "" - }, - "optionsHeading": { - "message": "Opções", - "description": "Heading for options section on manage page." - }, - "optionsOpen": { - "message": "Abrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Gerenciar estilos", - "description": "" - }, - "optionsPopupWidth": { - "message": "Largura do popup (em pixels)", - "description": "" - }, - "optionsSubheading": { - "message": "Mais Opções", - "description": "Subheading for options section on manage page." - }, - "optionsSyncNone": { - "message": "Nenhum", - "description": "" - }, - "optionsSyncConnect": { - "message": "Conectar", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Desconectar", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sincronizar agora", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Sincronizando...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Conectando...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Conectado", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Desconectando...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Desconectado", - "description": "" - }, - "parseUsercssError": { - "message": "Não foi possível analisar o UserCSS:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "prefShowBadge": { - "message": "Número de estilos ativos para o site atual", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "reload": { - "message": "Recarregar a extensão do Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Substituir", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Substituir todos", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Substituir com", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importar estilos", - "description": "" - }, - "search": { - "message": "Buscar", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Use a sintaxe /re/ para busca por regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "sectionAdd": { - "message": "Adicionar outra seção", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Código", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remover seção", - "description": "Label for the button to remove a section" - }, - "shortcuts": { - "message": "Atalhos", - "description": "Go to shortcut configuration" - }, - "styleBadRegexp": { - "message": "Expressão regular é inválida", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Embelezar", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Dica: clique com o botão direito no botão \"Embelezar\" ou use o atalho de teclado definido para embelezar sem mostrar esse painel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleCancelEditLabel": { - "message": "Voltar ao gerenciamento", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Você fez alterações neste estilo sem salvar.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ativado", - "description": "Label for the enabled state of styles" - }, - "styleInstall": { - "message": "Instalar \"$stylename$\" no Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleMissingName": { - "message": "Insira um nome", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleSaveLabel": { - "message": "Salvar", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "O formato Mozilla do código pode ser usado com o Stylish para Firefox e pode ser enviado para userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleUpdate": { - "message": "Você tem certeza que quer atualizar '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "undo": { - "message": "Desfazer", - "description": "Button label" - }, - "undoGlobal": { - "message": "Desfazer todas as seções", - "description": "CSS-beautify global Undo button label" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nenhuma atualização encontrada.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "A atualização falhou: o servidor respondeu com código $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "A atualização falhou: servidor inacessível.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckManualUpdateHint": { - "message": "Forçar uma atualização irá sobrescrever qualquer alteração local.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Esse estilo foi editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Este estilo parece ter sido editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "O estilo está atualizado.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Atualização concluída.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates instalados:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssReplaceTemplateConfirmation": { - "message": "Substituir o template padrão por novos estilos com UserCSS com o código atual?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@nome vazio substitui o template padrão", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insira o código aqui...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "A versão é mais velha que o estilo instalado.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Escrever um estilo para:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "Essa URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exportar para Dropbox", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importar do Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "Você gostaria de substituir um arquivo existente?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Arquivo salvo com sucesso", - "description": "" - }, - "noFileToImport": { - "message": "Para importar seus estilos, você deve exportar primeiro.", - "description": "" - }, - "connectingDropbox": { - "message": "Conectando ao Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Conectar ao Dropbox somente é disponível em apps instalados diretamente da loja web", - "description": "" - }, - "gettingStyles": { - "message": "Obtendo todos os estilos...", - "description": "" - }, - "zipStyles": { - "message": "Compactando estilos...", - "description": "" - }, - "unzipStyles": { - "message": "Descompactando estilos...", - "description": "" - }, - "readingStyles": { - "message": "Lendo estilos...", - "description": "" - }, - "uploadingFile": { - "message": "Enviando arquivo...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/pt_PT/messages.json b/_locales/pt_PT/messages.json index 09831aff..484e71d8 100644 --- a/_locales/pt_PT/messages.json +++ b/_locales/pt_PT/messages.json @@ -1,1215 +1,1586 @@ { - "addStyleLabel": { - "message": "Escrever novo estilo", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Adicionar estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidade", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Adicionar", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplica-se a: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Adicionar estilo", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacidade", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Adicionar", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Aplica-se a: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "e mais", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs no domínio", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use os controlos \"Aplica-se a\" para limitar a que URLs o código nesta secção se aplica.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Aplica-se a", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Apresentar \"Aplica-se a\" info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Não funciona com CSS minificado", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs correspondentes ao regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Remover", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Não é possível remover a última 'aplica-se a' entrada", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Especificar", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Tudo", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs a começar com", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Aplicar todas as atualizações", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Cópia de segurança", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Selecione um ficheiro ou arraste e solte-o nesta página.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Exportar estilos", + "description": "" + }, + "checkAllUpdates": { + "message": "Verificar todos os estilos por atualizações", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Verifique outra vez, eu não editei nenhum estilo!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Procurar atualizações", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "A verificar...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Clique para desinstalar", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Auto-fechar colchetes e aspas", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Adicionar automaticamente um par para fechar ao escrever um () [] {} '' \"\" de abertura", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Conclusão automática em datilografar ", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Selecionador de cores para cores CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Usar tabulação com indentação inteligente", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Mapa de teclado", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Moldar o texto", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Realçar", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Apenas a seleção", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token embaixo do cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Duplo-clique para maximizar/restaurar a altura", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "O duplo-clique seleciona os tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Exemplos de tokens: .foo-bar-2 #aabbcc 0.32 !Important\nQuando desativado: as palavras delimitadas por pontuação são selecionadas.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use indentação inteligente", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tamanho da tabulação", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Tema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Mudar formatos: HEX -> RGB -> HSL.\nShift-clique para inverter a direção.\nTambém através das teclas PgUp (PageUp), PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Abrir o selecionador de cores", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "em mudança", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Auto-guarda e aplicar alterações automaticamente", + "description": "" + }, + "configureStyle": { + "message": "Configurar", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configurar na homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancelar", + "description": "" + }, + "confirmClose": { + "message": "Fechar", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use predefinição", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Apagar", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Descartar as alterações?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Não", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Guardar", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Parar", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Sim", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Data de instalação", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Data da atualização", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Ocorreu um erro ao usar a base de dados do Stylus. Gostaria de visitar uma página web com soluções possíveis?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "predefinição", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Tem a certeza que quer apagar este estilo?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Apagar", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Reestruturar a web com o Stylus, um gestor de estilos do utilizador. O Stylus permite-te instalar facilmente temas e skins para muitos sites populares.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Desligar todos os estilos", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Desativar", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Solte o ficheiro da sua cópia de segurança em qualquer sítio nesta página para importar.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Eliminar", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Ir para a linha (ou linha:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Editar Estilo", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Editar", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Editar Estilo $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Ativar", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Exportar", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Hiperligação externa", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Suporte", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentação para Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ apresentado(s) de $numTotal$total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Os filtros aplicados atualmente não correspondem a estilos", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Localizar estilos", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Encontrar mais estilos para este site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Exibir os resultados da pesquisa dentro desta janela.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Adicionar", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Desativado", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Habilitado", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Erro", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Histórico", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Próximo", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Anterior", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Repor", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Guardado", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Título", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Desconhecido", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Ajuda", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Escreva um nome de comando", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Prima uma tecla de atalho", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Acrescentar ao estilo", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Acrescentar o estilo importado ao estilo atual", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importar", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Sobrescrever estilo", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Rejeitar conteúdos do estilo atual e sobrescrever com o estilo importado", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "adicionado", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "idênticos excluídos", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "inválido(s) ignorado(s)", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "meta info e código atualizados", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "código atualizado", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "meta info atualizada", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Importação de estilos finalizada", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nada foi alterado.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "os estilos foram revertidos", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "A Importação foi anulada", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Instalar estilo", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Estilo instalado", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstale o estilo", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Atualizar o estilo", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Instalar atualização", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Atualmente o estilo é atualizado a partir de $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Procurar atualizações", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licença", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Obter ajuda", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Obter estilos", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Traduzir", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "O CSSLint não suporta $preprocessorname$pré-processador", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Definir a regra como : 0 = desabilitado; 1 = aviso ; 2 = erro)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Definir as regras de configuração para $linter$", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Clique para configurar este linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Não foi guardado devido a estas configurações inválidas:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problemas", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Estes problemas foram encontradas por$link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Formato JSON inválido", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Para anular a redefinição acidental, prima Ctrl-Z (ou Cmd-Z) na caixa de texto", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Veja uma lista completa de regras", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Ocorreu um erro ao vigiar o arquivo", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Recarregamento dinâmico", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons em colunas de aplica-se a", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Acinzentado(s)", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "O Stylus usa um serviço externo https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtros", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Estilos Instalados", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Número de aplica-se a itens", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "como Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Nova interface do gestor", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Apenas estilos desativados", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Apenas estilos ativados", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Apenas estilos externos", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Apenas estilos criados localmente", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(os estilos não instalados através de uma página userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Apenas estilos não-Usercss", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Apenas com atualizações ou problemas", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Apenas estilos Usercss", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Mostrar a contagem de estilos ativados", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Nenhum estilo instalado para este site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Gerir", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Abrir gestor de estilos", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Ações", + "description": "" + }, + "optionsAdvanced": { + "message": "Avançadas", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Adicionar 'Eliminar' no menu de contexto do editor", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expor iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Escrever novo estilo como usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Cor de fundo quando desativado", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Cor de fundo", + "description": "" + }, + "optionsCheck": { + "message": "Atualizar estilos", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Procurar para e instalar todas as atualizações disponíveis", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Distintivo no ícone da barra de ferramentas", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Ícone da barra de ferramentas", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Atualizações", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Opções", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Temas escuros do browser", + "description": "" + }, + "optionsIconLight": { + "message": "Temas claros do browser", + "description": "" + }, + "optionsOpen": { + "message": "Abrir", + "description": "" + }, + "optionsOpenManager": { + "message": "Gerir estilos", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup largura (em pixeis)", + "description": "" + }, + "optionsReset": { + "message": "Restabelecer as opções aos valores predefinidos", + "description": "" + }, + "optionsResetButton": { + "message": "Restabelecer opções", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Mais Opções", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Ao importar uma cópia de segurança de estilo da versão antiga ou do Stylish, faça uma verificação única de atualizações manualmente no gestor de estilos para garantir que todos os estilos sejam atualizados.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Intervalo de atualização automática do estilo de usuário em horas (especifique 0 para desativar)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Pagina atual", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Número estimado de páginas", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Próxima página", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Pagina anterior", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Páginas totais", + "description": "" + }, + "parseUsercssError": { + "message": "O Stylus falhou ao analisar o usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Adicionar margens laterais brancas ", + "description": "" + }, + "popupBordersTooltip": { + "message": "Útil para temas escuros no novo Chrome, já que não pinta mais as margens laterais", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>- <9>,<0>, também no teclado numérico - alterna o Nth estilo (0 é 10)\n- alterna o primeiro estilo com um nome que começa com a letra\nabre o editor em vez de alternar\nativa estilos listados\ndesativa estilos listados\ne <`> (backtick) - alterna os estilos inicialmente ativados; não se aplica a estilos habilitados subsequentemente enquanto o popup está aberto, para que você possa restaurar a seleção inicial depois de testar o material: basta desabilitar todos e, em seguida, alternar, i.e. \nMais informações no wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Clique para ver as teclas de atalho disponíveis", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-clique ou clique com o botão direito abre o gestor com estilos aplicáveis ao site atual", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Abra o editor em uma nova janela", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Também ativado ao desanexar o separador do editor de uma janela do browser, e desativado por anexar um separador único do editor a outra janela.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Estilos antes de comandos", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Número de estilos ativadas para o site atual", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Pré-visualização dinâmica", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporariamente aplica as alterações sem guardar.\nGuarde o estilo para tornar as alterações permanentes.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Substituir", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Substituir todos", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Substituir com", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importar estilos", + "description": "" + }, + "search": { + "message": "Pesquisar", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Sensível a maiúsculas e minúsculas", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Número de correspondências", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Número de correspondências no código e aplica-se a valores", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Usa a sintaxe /re/ para pesquisas regexp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Instalações totais", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Nenhum estilo encontrado para este site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Classificação", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Atualizado", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Instalações semanais", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Adicionar outra secção", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Código", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remover secção", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restaurar secção removida", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Atalhos", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Definir atalhos de teclado", + "description": "" + }, + "sortDateNewestFirst": { + "message": "mais recente primeiro", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "mais antigos primeiro", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Selecione uma ordenação para aplicar aos estilos instalados", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Título Ascendente", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Título Descendente", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Escolha o tipo de ordenação a ser aplicado às entradas instaladas na lista suspensa de ordenação. A configuração predefinida aplica uma ordem crescente (A a Z) aos títulos de entrada. As ordenações dentro do grupo \"Título Decrescente\" aplicarão uma classificação decrescente (Z a A) ao título. Existem outras predefinições que permitirão classificar as entradas por vários critérios. Pense sobre isso como ordenar uma tabela com várias colunas e cada categoria em cada seleção (entre os sinais de mais) representa uma coluna ou grupo. Por exemplo, se a configuração for \"Ativado (primeiro) + Título\", as entradas serão ordenadas de modo que todas as entradas ativadas sejam classificadas no topo da lista, então uma classificação crescente de título de entrada (A a Z) será aplicada a ambas as entradas ativadas e desativadas separadamente.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Ordenar conteúdos", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp é inválido", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Embelezar", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indentar @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve novas linhas", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Voltar para gerir", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Fizeste alterações a este estilo sem as guardar.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Ativado", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Falha ao importar do formato Mozilla", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Colar o código formato-Mozilla", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Instalar '$stylename$' no Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Falha ao instalar o estilo de usuário!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "$stylename$já está instalado. Substituir?\nVersão:$oldVersion$-> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Introduzir um nome", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "O estilo não foi aplicado devido ao uso incorreto de 'regexp ()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Algumas regras de 'regexp()' que não puderam ser compiladas.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Este estilo usa regexps parcialmente correspondentes em violação da CSS4 @document specification que requer um URL correspondente inteiro. As secções de CSS afetadas não foram aplicadas nesta página. Este estilo foi provavelmente criado no Stylish-for-Chrome o qual verifica incorretamente as regras 'regexp()' desde a primeira versão (bug conhecido).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Número de secções não aplicadas devido ao uso incorreto de 'regexp ()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Testar RegExp", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Separadores correspondentes", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Regexps inválidos ignorados", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Nenhum separador correspondente", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Nota: use um único \\ para escapar no campo de entrada regexp, que será automaticamente convertido para \\\\ no código de estilo conforme especificação para strings entre aspas em CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Não corresponde totalmente, portanto ignorado", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Lista de separadores correspondentes abertos (clique no URL para focar no separador)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Guardar", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "O formato Mozilla do código pode ser submetido aouserstyles.org e usado com o clássico Stylish para o Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Estilo no formato Mozilla", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Tem a certeza que quer atualizar '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "O estilo é alterado fora do editor. Gostaria de recarregar o estilo?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "O Stylus não funciona em páginas como esta.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Como precaução de segurança, o browser proíbe extensões de afetar as páginas embutidas (como chrome://version, a página de novo separador predefinido no Chrome 61, about:addons, e assim sucessivamente) tal como páginas de outras extensões. Cada browser também restringe acesso à sua própria galeria de extensões (como Chrome Web Store ou AMO)", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "O valor não pode ser guardado. Tente reduzir a quantidade de texto.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Alternar estilo", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Anular", + "description": "Button label" + }, + "undoGlobal": { + "message": "Anular em todas as secções", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "O Firefox proíbe o acesso ao site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Para permitir o acesso abra,clique com o botão direito na lista, clique em \"Novo\", depois em \"Booleano\", cole e clique em OK,,OK, recarregue a página .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "No Firefox 60 e mais recente, você também terá que remover o domínio AMO de em .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Somente o Firefox 59 e o mais recente podem ser configurados para permitir que WebExtensions incluam elementos de estilo em sites protegidos por CSP como este.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Não foi possível comunicar com a página. Tente recarregar o separador.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "O Stylus pode aceder URLs file:// apenas se ativar a checkbox correspondente para a extensão Stylus na página chrome://extensions", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nenhuma atualização encontrada.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Alguns estilos que podem ser atualizados não foram verificados para evitar perder possíveis edições locais. As atualizações podem ser forçadas ao verificar individualmente, ou fazendo outra verificação para todos os estilos (edições locais vão ser sobrescrevidas)", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "A atualização falhou: o servidor respondeu com o código $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "A atualização falhou: servidor inacessível.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Histórico de verificação de atualizações", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Instalar atualização (edições locais vão ser sobrescritas)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forçando uma atualização vai substituir qualquer edição local.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Este estilo foi editado localmente.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Este estilo pode ter sido editado localmente", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "O estilo está atualizado.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Atualização completa.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Atualizações instaladas:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Por favor modifique o valor de @name ou @namespace para evitar sobrescrever um estilo existente.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "O estilo foi atualizado ou eliminado após a exibição do diálogo de configuração. Essas variáveis não foram guardadas para evitar corromper os metadados do estilo:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Especificar @name no código", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Substituir o modelo predefinido para novos estilos de Usercss com o código atual?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "@name vazio substitui o modelo predefinido", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insira o código aqui...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "A versão é mais antiga que o estilo instalado.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Escrever estilo para:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "este URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Escrever novo estilo", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "e mais", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs no domínio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use os controlos \"Aplica-se a\" para limitar a que URLs o código nesta secção se aplica.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Aplica-se a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Apresentar \"Aplica-se a\" info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Não funciona com CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs correspondentes ao regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remover", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Não é possível remover a última 'aplica-se a' entrada", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tudo", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URLs a começar com", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar todas as atualizações", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Cópia de segurança", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Selecione um ficheiro ou arraste e solte-o nesta página.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportar estilos", - "description": "" - }, - "checkAllUpdates": { - "message": "Verificar todos os estilos por atualizações", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Verifique outra vez, eu não editei nenhum estilo!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Procurar atualizações", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "A verificar...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Clique para desinstalar", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Auto-fechar colchetes e aspas", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Adicionar automaticamente um par para fechar ao escrever um () [] {} '' \"\" de abertura", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Conclusão automática em datilografar ", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Selecionador de cores para cores CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usar tabulação com indentação inteligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mapa de teclado", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Moldar o texto", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Realçar", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Apenas a seleção", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token embaixo do cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Duplo-clique para maximizar/restaurar a altura", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "O duplo-clique seleciona os tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exemplos de tokens: .foo-bar-2 #aabbcc 0.32 !Important\nQuando desativado: as palavras delimitadas por pontuação são selecionadas.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use indentação inteligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tamanho da tabulação", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Mudar formatos: HEX -> RGB -> HSL.\nShift-clique para inverter a direção.\nTambém através das teclas PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Abrir o selecionador de cores", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "em mudança", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Auto-guarda e aplicar alterações automaticamente", - "description": "" - }, - "configureStyle": { - "message": "Configurar", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurar na homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancelar", - "description": "" - }, - "confirmClose": { - "message": "Fechar", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use predefinição", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Apagar", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Descartar as alterações?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Não", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Guardar", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Parar", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Sim", - "description": "'Yes' button in a confirm dialog" - }, - "dateInstalled": { - "message": "Data de instalação", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data da atualização", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ocorreu um erro ao usar a base de dados do Stylus. Gostaria de visitar uma página web com soluções possíveis?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "predefinição", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Tem a certeza que quer apagar este estilo?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Apagar", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Reestruturar a web com o Stylus, um gestor de estilos do utilizador. O Stylus permite-te instalar facilmente temas e skins para muitos sites populares.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Desligar todos os estilos", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Desativar", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Solte o ficheiro da sua cópia de segurança em qualquer sítio nesta página para importar.", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "Eliminar", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ir para a linha (ou linha:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Editar Estilo", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Editar", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Editar Estilo $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Ativar", - "description": "Label for the button to enable a style" - }, - "exportLabel": { - "message": "Exportar", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalLink": { - "message": "Hiperligação externa", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Suporte", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentação para Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ apresentado(s) de $numTotal$total", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Os filtros aplicados atualmente não correspondem a estilos", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Localizar estilos", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Encontrar mais estilos para este site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Exibir os resultados da pesquisa dentro desta janela.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Adicionar", - "description": "Used in various places for an action that adds something" - }, - "genericDisabledLabel": { - "message": "Desativado", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Habilitado", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Erro", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Histórico", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Próximo", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Anterior", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Repor", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Guardado", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Título", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Desconhecido", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ajuda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Escreva um nome de comando", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Prima uma tecla de atalho", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Acrescentar ao estilo", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Acrescentar o estilo importado ao estilo atual", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Sobrescrever estilo", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Rejeitar conteúdos do estilo atual e sobrescrever com o estilo importado", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "adicionado", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "idênticos excluídos", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "inválido(s) ignorado(s)", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta info e código atualizados", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "código atualizado", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta info atualizada", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importação de estilos finalizada", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nada foi alterado.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "os estilos foram revertidos", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "A Importação foi anulada", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalar estilo", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Estilo instalado", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstale o estilo", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Atualizar o estilo", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Instalar atualização", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Atualmente o estilo é atualizado a partir de $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Procurar atualizações", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licença", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Obter ajuda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obter estilos", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Traduzir", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "O CSSLint não suporta $preprocessorname$pré-processador", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Definir a regra como : 0 = desabilitado; 1 = aviso ; 2 = erro)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Definir as regras de configuração para $linter$", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Clique para configurar este linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Não foi guardado devido a estas configurações inválidas:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemas", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Estes problemas foram encontradas por$link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Formato JSON inválido", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Para anular a redefinição acidental, prima Ctrl-Z (ou Cmd-Z) na caixa de texto", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Veja uma lista completa de regras", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Ocorreu um erro ao vigiar o arquivo", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "Recarregamento dinâmico", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons em colunas de aplica-se a", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Acinzentado(s)", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "O Stylus usa um serviço externo https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtros", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Estilos Instalados", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Número de aplica-se a itens", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "como Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nova interface do gestor", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Apenas estilos desativados", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Apenas estilos ativados", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Apenas estilos externos", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Apenas estilos criados localmente", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(os estilos não instalados através de uma página userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Apenas estilos não-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Apenas com atualizações ou problemas", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Apenas estilos Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Mostrar a contagem de estilos ativados", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "noStylesForSite": { - "message": "Nenhum estilo instalado para este site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Gerir", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Abrir gestor de estilos", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Ações", - "description": "" - }, - "optionsAdvanced": { - "message": "Avançadas", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Adicionar 'Eliminar' no menu de contexto do editor", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expor iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Escrever novo estilo como usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Cor de fundo quando desativado", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Cor de fundo", - "description": "" - }, - "optionsCheck": { - "message": "Atualizar estilos", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Procurar para e instalar todas as atualizações disponíveis", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Distintivo no ícone da barra de ferramentas", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ícone da barra de ferramentas", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Atualizações", - "description": "" - }, - "optionsHeading": { - "message": "Opções", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Temas escuros do browser", - "description": "" - }, - "optionsIconLight": { - "message": "Temas claros do browser", - "description": "" - }, - "optionsOpen": { - "message": "Abrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Gerir estilos", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup largura (em pixeis)", - "description": "" - }, - "optionsReset": { - "message": "Restabelecer as opções aos valores predefinidos", - "description": "" - }, - "optionsResetButton": { - "message": "Restabelecer opções", - "description": "" - }, - "optionsSubheading": { - "message": "Mais Opções", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Ao importar uma cópia de segurança de estilo da versão antiga ou do Stylish, faça uma verificação única de atualizações manualmente no gestor de estilos para garantir que todos os estilos sejam atualizados.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalo de atualização automática do estilo de usuário em horas (especifique 0 para desativar)", - "description": "" - }, - "paginationCurrent": { - "message": "Pagina atual", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Número estimado de páginas", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Próxima página", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Pagina anterior", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Páginas totais", - "description": "" - }, - "parseUsercssError": { - "message": "O Stylus falhou ao analisar o usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupBorders": { - "message": "Adicionar margens laterais brancas ", - "description": "" - }, - "popupBordersTooltip": { - "message": "Útil para temas escuros no novo Chrome, já que não pinta mais as margens laterais", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>- <9>,<0>, também no teclado numérico - alterna o Nth estilo (0 é 10)\n- alterna o primeiro estilo com um nome que começa com a letra\nabre o editor em vez de alternar\nativa estilos listados\ndesativa estilos listados\ne <`> (backtick) - alterna os estilos inicialmente ativados; não se aplica a estilos habilitados subsequentemente enquanto o popup está aberto, para que você possa restaurar a seleção inicial depois de testar o material: basta desabilitar todos e, em seguida, alternar, i.e. \nMais informações no wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Clique para ver as teclas de atalho disponíveis", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-clique ou clique com o botão direito abre o gestor com estilos aplicáveis ao site atual", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupOpenEditInWindow": { - "message": "Abra o editor em uma nova janela", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Também ativado ao desanexar o separador do editor de uma janela do browser, e desativado por anexar um separador único do editor a outra janela.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Estilos antes de comandos", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Número de estilos ativadas para o site atual", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Pré-visualização dinâmica", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporariamente aplica as alterações sem guardar.\nGuarde o estilo para tornar as alterações permanentes.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Substituir", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Substituir todos", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Substituir com", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importar estilos", - "description": "" - }, - "search": { - "message": "Pesquisar", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Sensível a maiúsculas e minúsculas", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Número de correspondências", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Número de correspondências no código e aplica-se a valores", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Usa a sintaxe /re/ para pesquisas regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Instalações totais", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nenhum estilo encontrado para este site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "Classificação", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Atualizado", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Instalações semanais", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Adicionar outra secção", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Código", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remover secção", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurar secção removida", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Atalhos", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Definir atalhos de teclado", - "description": "" - }, - "sortDateNewestFirst": { - "message": "mais recente primeiro", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "mais antigos primeiro", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Selecione uma ordenação para aplicar aos estilos instalados", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Título Ascendente", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Título Descendente", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Escolha o tipo de ordenação a ser aplicado às entradas instaladas na lista suspensa de ordenação. A configuração predefinida aplica uma ordem crescente (A a Z) aos títulos de entrada. As ordenações dentro do grupo \"Título Decrescente\" aplicarão uma classificação decrescente (Z a A) ao título. Existem outras predefinições que permitirão classificar as entradas por vários critérios. Pense sobre isso como ordenar uma tabela com várias colunas e cada categoria em cada seleção (entre os sinais de mais) representa uma coluna ou grupo. Por exemplo, se a configuração for \"Ativado (primeiro) + Título\", as entradas serão ordenadas de modo que todas as entradas ativadas sejam classificadas no topo da lista, então uma classificação crescente de título de entrada (A a Z) será aplicada a ambas as entradas ativadas e desativadas separadamente.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Ordenar conteúdos", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp é inválido", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Embelezar", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Indentar @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve novas linhas", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Voltar para gerir", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Fizeste alterações a este estilo sem as guardar.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ativado", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Falha ao importar do formato Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Colar o código formato-Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Instalar '$stylename$' no Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Falha ao instalar o estilo de usuário!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "$stylename$já está instalado. Substituir?\nVersão:$oldVersion$-> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Introduzir um nome", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "O estilo não foi aplicado devido ao uso incorreto de 'regexp ()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Algumas regras de 'regexp()' que não puderam ser compiladas.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Este estilo usa regexps parcialmente correspondentes em violação da CSS4 @document specification que requer um URL correspondente inteiro. As secções de CSS afetadas não foram aplicadas nesta página. Este estilo foi provavelmente criado no Stylish-for-Chrome o qual verifica incorretamente as regras 'regexp()' desde a primeira versão (bug conhecido).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Número de secções não aplicadas devido ao uso incorreto de 'regexp ()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Testar RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Separadores correspondentes", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Regexps inválidos ignorados", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Nenhum separador correspondente", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Nota: use um único \\ para escapar no campo de entrada regexp, que será automaticamente convertido para \\\\ no código de estilo conforme especificação para strings entre aspas em CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Não corresponde totalmente, portanto ignorado", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista de separadores correspondentes abertos (clique no URL para focar no separador)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Guardar", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "O formato Mozilla do código pode ser submetido aouserstyles.org e usado com o clássico Stylish para o Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Estilo no formato Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Tem a certeza que quer atualizar '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "O estilo é alterado fora do editor. Gostaria de recarregar o estilo?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "O Stylus não funciona em páginas como esta.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Como precaução de segurança, o browser proíbe extensões de afetar as páginas embutidas (como chrome://version, a página de novo separador predefinido no Chrome 61, about:addons, e assim sucessivamente) tal como páginas de outras extensões. Cada browser também restringe acesso à sua própria galeria de extensões (como Chrome Web Store ou AMO)", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "O valor não pode ser guardado. Tente reduzir a quantidade de texto.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Alternar estilo", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Anular", - "description": "Button label" - }, - "undoGlobal": { - "message": "Anular em todas as secções", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "O Firefox proíbe o acesso ao site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Para permitir o acesso abra,clique com o botão direito na lista, clique em \"Novo\", depois em \"Booleano\", cole e clique em OK,,OK, recarregue a página .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "No Firefox 60 e mais recente, você também terá que remover o domínio AMO de em .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Somente o Firefox 59 e o mais recente podem ser configurados para permitir que WebExtensions incluam elementos de estilo em sites protegidos por CSP como este.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Não foi possível comunicar com a página. Tente recarregar o separador.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "O Stylus pode aceder URLs file:// apenas se ativar a checkbox correspondente para a extensão Stylus na página chrome://extensions", - "description": "Note in the toolbar popup for file:// URLs" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nenhuma atualização encontrada.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Alguns estilos que podem ser atualizados não foram verificados para evitar perder possíveis edições locais. As atualizações podem ser forçadas ao verificar individualmente, ou fazendo outra verificação para todos os estilos (edições locais vão ser sobrescrevidas)", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "A atualização falhou: o servidor respondeu com o código $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "A atualização falhou: servidor inacessível.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Histórico de verificação de atualizações", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalar atualização (edições locais vão ser sobrescritas)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forçando uma atualização vai substituir qualquer edição local.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Este estilo foi editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Este estilo pode ter sido editado localmente", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "O estilo está atualizado.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Atualização completa.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Atualizações instaladas:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Por favor modifique o valor de @name ou @namespace para evitar sobrescrever um estilo existente.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "O estilo foi atualizado ou eliminado após a exibição do diálogo de configuração. Essas variáveis não foram guardadas para evitar corromper os metadados do estilo:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Especificar @name no código", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Substituir o modelo predefinido para novos estilos de Usercss com o código atual?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name vazio substitui o modelo predefinido", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insira o código aqui...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "A versão é mais antiga que o estilo instalado.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Escrever estilo para:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "este URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - } } \ No newline at end of file diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index 63ce7f6b..72a8f67b 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -1,1131 +1,1586 @@ { - "addStyleLabel": { - "message": "Scrieți o temă nouă", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Adăugați o temă", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacitate", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Adăugați", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplicabil pentru: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Adăugați o temă", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacitate", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Adăugați", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Aplicabil pentru: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "mai mult", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs din domain", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Folosiți 'Aplicabil pentru' pentru a limita pe ce URLs va fi aplicată temă.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Aplicabil pentru", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Arată informații despre 'Aplicabil pentru'", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Nu funcționează cu CSS minimizat", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs găsite cu regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Ștergeți", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Nu se poate șterge 'aplicabil pentru'", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specificați", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Totul", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL-uri începănd cu", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Aplicați toate update-urile", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Autor", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Selectați un fișier sau drag-and-drop aici", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Exportați teme", + "description": "" + }, + "checkAllUpdates": { + "message": "Verificați toate temele pentru update-uri", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Verifică iar, nu am modificat temele!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Verificați pentru update-uri", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Verficare...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click pentru dezinstalare", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Închideți automat parantezele și ghilimelele", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Închideți automat când deschizideți una dintre ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocompletare în timpul scrierii", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Alegere de culori pentru CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Folosiți tab-uri cu autoindentare", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Doar selecție", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token-ul de sub cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Dublu click pentru a maximiza sau restaura înălțimea", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Dublu-click pentru a selecta simbolurile", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Exemple de simboluri: .foo-bar-2 #aabbcc 0.32 !important\nCand inactiv: cuvinte delimitate cu punctuatie sunt selectate.", + "description": "" + }, + "cm_smartIndent": { + "message": "Folosiți indentare inteligentă", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Mărimea tab-urilor", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Temă pentru cod", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Schimbați formatul: HEX -> RGB -> HSL.\nShift-click pentru inversarea direcției.\nDe asemenea cu PgUp (PageUp), PgDn (PageDown).", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Deschideți color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "la schimbare", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosalvare și aplicare a modificărilor automată", + "description": "" + }, + "configureStyle": { + "message": "Modificați", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Modificați pe pagina homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Folosiți default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Ștergeți", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Pierdeți modificările?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Nu", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Salvați", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Da", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Data instalării", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Data updatării", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "O eroare în baza de date a apărut. Doriți să vizitați pagina web pentru o soluție?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Sunteți sigur că doriți să ștergeți această temă?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Ștergeți", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Stilizați internetul cu Stylus, un manager de teme. Stylus vă permite să instalați cu ușurință teme pentru multe site-uri populare.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Dezactivați toate temele", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Dezactivați", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drag and drop backup-ul oriunde pentru import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Ștergeți", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Mergeți la linia", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Modificați tema", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Modificați", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Modificați tema $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Activați", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Link extern", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Suport", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentație pentru Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ vizualizabile din $numTotal$ ", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Filtrele aplicate nu au găsit nicio temă", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Găsiți teme", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Gasiți mai multe teme pentru acest site.", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Arătați rezultatele căutării în această pagină.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Adaugă", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clonează", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Dezactivat", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Activat", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Eroare", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Historic", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Următor", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Precedent", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Resetați", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Salvat", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Titlu", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Necunoscut", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Ajutor", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Tastați un nume de comandă", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Tastați o hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Concatenare la temă", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Concatenați tema importată la cea curentă", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Scrieți peste tema curentă", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Scrieți peste tema curentă conținutul temei importate", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "adăugat", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "cele identice au fost sărite", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "cele invalide au fost ignorate", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "meta info și codul au fost updatate", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "cod updatat", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "meta info updatată", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Importul temelor finalizat", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nimic nu a fost schimbat.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "temele au fost înlocuite cu variantele precedente", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Importarea a fost anulată", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Instalați tema", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Tema a fost instalată", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstalați tema", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Instalați update-uri", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Tema este updatată de la $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Verificați update-urile", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licență", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Găsiți ajutor", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Căutați teme", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Traduce", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint nu suportă preprocesorul $preprocessorname$ ", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Setați regula ca: 0 = dezactivat; 1 = avertisment; 2 = eroare)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Setați $linter$ pentru configurarea regulilor", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click pentru a configura linter-ul", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Nu a fost salvat din cauza acestor setări invalide:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Probleme", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Aceste probleme au fost găsite te $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Pentru a reveni la varianta precedentă, apăsați Ctrl-Z (sau Cmd-Z) în text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Vizualizați lista completă de reguli", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "A avut loc o eroare în timpul monitorizării acestui fișier", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons în coloana 'se aplică la'", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Hașurat", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus folosește un serviciu extern https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtre", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Teme instalate", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Numărul obiectelor la care se aplică", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "UI layout pentru mesajele noi", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Doar teme dezactivate", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Doar temele activate", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Doar teme externe", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Doar temele create local", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(temele neinstalate prin userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Doar teme non-Usercss", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Doar cu update-uri sau erori", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Doar teme Usercss", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Afișați numărul temelor active", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Nicio temă instalată pentru acest site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Managerul", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Deschideți managerul de teme", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Acțiuni", + "description": "" + }, + "optionsAdvanced": { + "message": "Avansat", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Adaugați 'Ștergeți' în meniul de click dreapta", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expuneți iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Scrieți temă nouă în formatul usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Culoare de fundal pentru modul inactiv", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Culoare de fundal", + "description": "" + }, + "optionsCheck": { + "message": "Updatați temele", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Verificați și instalează toate update-urile", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Bulinuța de pe iconița din toolbar", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Update-uri", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Opțiuni", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Teme întunecate pentru browser", + "description": "" + }, + "optionsIconLight": { + "message": "Teme albe pentru browser", + "description": "" + }, + "optionsOpen": { + "message": "Deschideți", + "description": "" + }, + "optionsOpenManager": { + "message": "Managerul de teme", + "description": "" + }, + "optionsPopupWidth": { + "message": "Mărimea ferestrei popup (în pixeli)", + "description": "" + }, + "optionsReset": { + "message": "Resetați opțiunile", + "description": "" + }, + "optionsResetButton": { + "message": "Resetați opțiunile", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Mai multe opțiuni", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "Atunci când sunt importate teme din backup-uri din versiuni mai vechi sau din Stylish, verifică upate-urile manual pentru a fi sigur că toate temele sunt la zi.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Intervalul de autoupdate în ore (0 pentru dezactivat)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Pagina curentă", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Număr estimat de pagini", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Pagina următoare", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Pagina precedentă", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Număr total de pagini", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus nu a putut analiza usercss-ul", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Adăugați bordură albă pe margini", + "description": "" + }, + "popupBordersTooltip": { + "message": "Folositor pentru teme întunecate in noul Chrome deoarece nu mai colorează bordurile", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, de asemenea îm numpad - activează/dezactivează tema numărul N (0 este 10)\n- activează/dezactivează prima temă cu un nume care începe cu o litera\n deschide editorul și nu activează/dezactivează ceva\n activează temele listate\n dezactiveaza temele listate\n și <`> (backtick) - activează/dezactivează temele activate inițial; nu se aplică altor teme activate când popup-ul este deschid pentru a permite restaurarea seleției inițiale pentru a permite testări; dezactivează tot, apoi activează/dezactivează, spre exemplu \nMai multe informații sunt avabile în wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click pentru a vedea hotkeys avabile", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click sau right-click pentru a deschide managerurl cu teme aplicabile site-ului curent", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Deschide editorul în alt window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Activ când tabul editorului este detașat de browser,\nși dezactivat când un singur tab cu editor este atașat la alt window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Temele înaintea comenzilor", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Numărul de teme active pentru site-ul curent", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Aplică temporar modificările fără a salva.\nSalvează tema pentru a face schimbările permanente.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Înlocuiți", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Înlocuiți tot", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Înlocuiți cu", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importați teme", + "description": "" + }, + "search": { + "message": "Căutați", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Număr de rezultate", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Număr de rezultate în cod și în 'aplicabil pentru'", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Folosiți sintaxă /re/ pentru căutare tip regexp", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Număr total de instalări", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Nicio tema găsită pentru acest site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updatate", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Instalări săptămânale", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Adăugați o altă secțiune", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Cod", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Ștergeți secțiunea", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restaurează o secțiune ștearsă", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Creeați keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "cele mai noi la început", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "cel mai vechi la început", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Alegeți o sortare care să fie aplicată temelor instalate", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Titlu crescător", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Titlu descrescător", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Alegeți ce fel de sortare doriți să fie aplicată temelor instalate, din cadrul meniului dropdown. În mod implicit se aplică sortare alfabetică (A la Z) titlurilor temelor. Sortarea de tip \"Titlu descrescător\" va aplica sortare descrescătoare (Z la A) titlurilor.\nSunt alte presets care permit sortări după mai multe criterii. Este ca și cum ați sorta un tabel cu mai multe coloane iar fiecare categorie (între semnele +) reprezintă o coloană, sau un grup..\nSpre exemplu, dacă se alege \"Activată (prima) + Titlu\", atunci toate temele vor fi grupate astfel încât cele active sunt cap de listă, iar apoi temele sunt sortate alfabetic.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sortare conținut", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Înfrumusețați", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indentare @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Menține linii noi", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Înapoi la manager", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Ați modificat tema fără a o salva.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Activat", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Importul din formatul Mozilla eșuat", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste cod în format Mozilla", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Instalați '$stylename$' în Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Instalarea temei eșuată!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' este deja instalată. Scrieți peste?\nVersiune: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Introduceți un nume", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Format Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Tema nu a fost aplicată din cauza incorectei aplicări a 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Unele reguli 'regexp()' care nu au putut fi compilate.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Această temă folosește regexp parțiale care încalcă specificațiile CSS4 @document care are nevoie de o potrivire regexp exactă. Părțile afectate de CSS nu au fost aplicate paginii. Cel mai probabil tema a fost creată în Stylish-for-Chrome care verifică incorect 'regexp()' de la prima sa versiune (bug cunoscut).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": " Numărul de secțiuni care nu au fost aplicate din cauza utilizării incorecte a 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Taburi găsite", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps au fost sărite", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Niciun tab nu se potrivește căutării", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Notă: folosiți \\ pentru ignorarea caracterelor speciale în regexp, care va fi transformat automat în \\\\ în codul temei, urmând specificațiile pentru text citat în CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Potrivire parțială, deci ignorată", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Listă cu taburi deschise care se potrivesc căutării (click URL pentru a activa tabul)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Salvați", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Formatul Mozilla al codului poate fi uploadat pe userstyles.org și folosit de clasicul Stylish pentru Firefox.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Scrieți în format Mozilla", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Sunteți sigur că doriți să faceți update la '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Tema a fost modificată în afara editorului. Doriți să reâncărcați tema?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus nu funcționează în astfel de pagini.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Ca o măsură de securitate, browser-ul împiedică extensiile să afecteze paginile corespunzătoare browser-ului (precum chrome://version, adresa unui nou tab începând cu Chrome 61, about:addons, în Firefox etc) și de asemenea paginile altor extensii. De asemenea este restricționat accesul la galeriile de extensii (Chrome Web Store sau AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Valoarea nu a putut fi salvată. Încercați să reduceți dimensiunea textului.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Activați/Dezactivați tema", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo în toate secțiunile", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox împiedică accesul la site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Pentru a permite accesul deschideți , right-click pe listă, click 'New', apoi 'Boolean', paste și click OK, , OK, reâncărcați pagina .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "În Firefox 60+ va trebui sa fie șters domain-ul AMO din din .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Doar Firefox 59 sau mai nou poate fi configurat să permită WebExtension-urilor să adauge elemente la site-uri CSP-protected precum acesta.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Nu s-a putut comunica cu pagina. Reîncărcați tabul.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus poate accesa file:// URLs doar când este activată opțiunea respectivă din pagina cu setări chrome://extensions", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Niciun update găsit.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Unele teme care au update-uri nu au fost updatate pentru a nu pierde modificări locale. Update-urile pot fi forțate individual sau prin a reverifica update-urile pentru toate temele (modificările locale vor fi pierdute).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update eșuat: server-ul a răspuns cu acest cod $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update eșuat: server-ul nu este avabil.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Historicul update-urilor", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Instalați update-urile (modificările locale vor fi șterse)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Update-ul forțat va șterge toate modificările locale.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Tema a fost editată local.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Tema poate a fost modificată local.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Tema este cu update-urile la zi.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update realizat.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Update-uri instalate:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Vă rugăm să modificați valoarea @name și @namespace pentru a împiedica scrierea peste o temă existentă.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Tema a fost updatată sau ștearsă după ce configurațiile au fost afișate. Aceste variabile nu au fost salvate pentru a nu corupe metadata temei.", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specificați @name", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Înlocuiți tema de bază a formatului Usercss cu acest cod?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "@name este gol și înlocuiețte valoarea de bază", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Introduce cod aici...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Versiunea este mai veche decât cea instalată.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Scrieți temă pentru: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "acest URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Scrieți o temă nouă", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "mai mult", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs din domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Folosiți 'Aplicabil pentru' pentru a limita pe ce URLs va fi aplicată temă.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Aplicabil pentru", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Arată informații despre 'Aplicabil pentru'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nu funcționează cu CSS minimizat", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs găsite cu regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Ștergeți", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Nu se poate șterge 'aplicabil pentru'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificați", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Totul", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL-uri începănd cu", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicați toate update-urile", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupMessage": { - "message": "Selectați un fișier sau drag-and-drop aici", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportați teme", - "description": "" - }, - "checkAllUpdates": { - "message": "Verificați toate temele pentru update-uri", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Verifică iar, nu am modificat temele!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Verificați pentru update-uri", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Verficare...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click pentru dezinstalare", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Închideți automat parantezele și ghilimelele", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Închideți automat când deschizideți una dintre ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocompletare în timpul scrierii", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Alegere de culori pentru CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Folosiți tab-uri cu autoindentare", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Doar selecție", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token-ul de sub cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dublu click pentru a maximiza sau restaura înălțimea", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dublu-click pentru a selecta simbolurile", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exemple de simboluri: .foo-bar-2 #aabbcc 0.32 !important\nCand inactiv: cuvinte delimitate cu punctuatie sunt selectate.", - "description": "" - }, - "cm_smartIndent": { - "message": "Folosiți indentare inteligentă", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Mărimea tab-urilor", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Temă pentru cod", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Schimbați formatul: HEX -> RGB -> HSL.\nShift-click pentru inversarea direcției.\nDe asemenea cu PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Deschideți color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "la schimbare", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosalvare și aplicare a modificărilor automată", - "description": "" - }, - "configureStyle": { - "message": "Modificați", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Modificați pe pagina homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmDefault": { - "message": "Folosiți default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Ștergeți", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Pierdeți modificările?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nu", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Salvați", - "description": "'Save' button in a confirm dialog" - }, - "confirmYes": { - "message": "Da", - "description": "'Yes' button in a confirm dialog" - }, - "dateInstalled": { - "message": "Data instalării", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data updatării", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "O eroare în baza de date a apărut. Doriți să vizitați pagina web pentru o soluție?", - "description": "Prompt when a DB error is encountered" - }, - "deleteStyleConfirm": { - "message": "Sunteți sigur că doriți să ștergeți această temă?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Ștergeți", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stilizați internetul cu Stylus, un manager de teme. Stylus vă permite să instalați cu ușurință teme pentru multe site-uri populare.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Dezactivați toate temele", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Dezactivați", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drag and drop backup-ul oriunde pentru import.", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "Ștergeți", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Mergeți la linia", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Modificați tema", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Modificați", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Modificați tema $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Activați", - "description": "Label for the button to enable a style" - }, - "externalLink": { - "message": "Link extern", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Suport", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentație pentru Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ vizualizabile din $numTotal$ ", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Filtrele aplicate nu au găsit nicio temă", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Găsiți teme", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Gasiți mai multe teme pentru acest site.", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInlineTooltip": { - "message": "Arătați rezultatele căutării în această pagină.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Adaugă", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clonează", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Dezactivat", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Activat", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Eroare", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historic", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Următor", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Precedent", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Resetați", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvat", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titlu", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Necunoscut", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ajutor", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Tastați un nume de comandă", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Tastați o hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Concatenare la temă", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Concatenați tema importată la cea curentă", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importReplaceLabel": { - "message": "Scrieți peste tema curentă", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Scrieți peste tema curentă conținutul temei importate", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "adăugat", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "cele identice au fost sărite", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "cele invalide au fost ignorate", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta info și codul au fost updatate", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "cod updatat", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta info updatată", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importul temelor finalizat", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nimic nu a fost schimbat.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "temele au fost înlocuite cu variantele precedente", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importarea a fost anulată", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalați tema", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Tema a fost instalată", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalați tema", - "description": "Label for reinstall button" - }, - "installUpdate": { - "message": "Instalați update-uri", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Tema este updatată de la $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Verificați update-urile", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licență", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Găsiți ajutor", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Căutați teme", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Traduce", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint nu suportă preprocesorul $preprocessorname$ ", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Setați regula ca: 0 = dezactivat; 1 = avertisment; 2 = eroare)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Setați $linter$ pentru configurarea regulilor", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Click pentru a configura linter-ul", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nu a fost salvat din cauza acestor setări invalide:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Probleme", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Aceste probleme au fost găsite te $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterResetMessage": { - "message": "Pentru a reveni la varianta precedentă, apăsați Ctrl-Z (sau Cmd-Z) în text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vizualizați lista completă de reguli", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "A avut loc o eroare în timpul monitorizării acestui fișier", - "description": "The label of live-reload error" - }, - "manageFavicons": { - "message": "Favicons în coloana 'se aplică la'", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Hașurat", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus folosește un serviciu extern https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtre", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Teme instalate", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Numărul obiectelor la care se aplică", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewUI": { - "message": "UI layout pentru mesajele noi", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Doar teme dezactivate", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Doar temele activate", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Doar teme externe", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Doar temele create local", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(temele neinstalate prin userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Doar teme non-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Doar cu update-uri sau erori", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Doar teme Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Afișați numărul temelor active", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "noStylesForSite": { - "message": "Nicio temă instalată pentru acest site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Managerul", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Deschideți managerul de teme", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Acțiuni", - "description": "" - }, - "optionsAdvanced": { - "message": "Avansat", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Adaugați 'Ștergeți' în meniul de click dreapta", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expuneți iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Scrieți temă nouă în formatul usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Culoare de fundal pentru modul inactiv", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Culoare de fundal", - "description": "" - }, - "optionsCheck": { - "message": "Updatați temele", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Verificați și instalează toate update-urile", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Bulinuța de pe iconița din toolbar", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Update-uri", - "description": "" - }, - "optionsHeading": { - "message": "Opțiuni", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Teme întunecate pentru browser", - "description": "" - }, - "optionsIconLight": { - "message": "Teme albe pentru browser", - "description": "" - }, - "optionsOpen": { - "message": "Deschideți", - "description": "" - }, - "optionsOpenManager": { - "message": "Managerul de teme", - "description": "" - }, - "optionsPopupWidth": { - "message": "Mărimea ferestrei popup (în pixeli)", - "description": "" - }, - "optionsReset": { - "message": "Resetați opțiunile", - "description": "" - }, - "optionsResetButton": { - "message": "Resetați opțiunile", - "description": "" - }, - "optionsSubheading": { - "message": "Mai multe opțiuni", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Atunci când sunt importate teme din backup-uri din versiuni mai vechi sau din Stylish, verifică upate-urile manual pentru a fi sigur că toate temele sunt la zi.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalul de autoupdate în ore (0 pentru dezactivat)", - "description": "" - }, - "paginationCurrent": { - "message": "Pagina curentă", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Număr estimat de pagini", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Pagina următoare", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Pagina precedentă", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Număr total de pagini", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus nu a putut analiza usercss-ul", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupBorders": { - "message": "Adăugați bordură albă pe margini", - "description": "" - }, - "popupBordersTooltip": { - "message": "Folositor pentru teme întunecate in noul Chrome deoarece nu mai colorează bordurile", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, de asemenea îm numpad - activează/dezactivează tema numărul N (0 este 10)\n- activează/dezactivează prima temă cu un nume care începe cu o litera\n deschide editorul și nu activează/dezactivează ceva\n activează temele listate\n dezactiveaza temele listate\n și <`> (backtick) - activează/dezactivează temele activate inițial; nu se aplică altor teme activate când popup-ul este deschid pentru a permite restaurarea seleției inițiale pentru a permite testări; dezactivează tot, apoi activează/dezactivează, spre exemplu \nMai multe informații sunt avabile în wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click pentru a vedea hotkeys avabile", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click sau right-click pentru a deschide managerurl cu teme aplicabile site-ului curent", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupOpenEditInWindow": { - "message": "Deschide editorul în alt window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Activ când tabul editorului este detașat de browser,\nși dezactivat când un singur tab cu editor este atașat la alt window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Temele înaintea comenzilor", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Numărul de teme active pentru site-ul curent", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewTooltip": { - "message": "Aplică temporar modificările fără a salva.\nSalvează tema pentru a face schimbările permanente.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Înlocuiți", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Înlocuiți tot", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Înlocuiți cu", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importați teme", - "description": "" - }, - "search": { - "message": "Căutați", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Număr de rezultate", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Număr de rezultate în cod și în 'aplicabil pentru'", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Folosiți sintaxă /re/ pentru căutare tip regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Număr total de instalări", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nicio tema găsită pentru acest site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultUpdated": { - "message": "Updatate", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Instalări săptămânale", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Adăugați o altă secțiune", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Cod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Ștergeți secțiunea", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurează o secțiune ștearsă", - "description": "Label for the button to restore a removed section" - }, - "shortcutsNote": { - "message": "Creeați keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "cele mai noi la început", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "cel mai vechi la început", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Alegeți o sortare care să fie aplicată temelor instalate", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titlu crescător", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titlu descrescător", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Alegeți ce fel de sortare doriți să fie aplicată temelor instalate, din cadrul meniului dropdown. În mod implicit se aplică sortare alfabetică (A la Z) titlurilor temelor. Sortarea de tip \"Titlu descrescător\" va aplica sortare descrescătoare (Z la A) titlurilor.\nSunt alte presets care permit sortări după mai multe criterii. Este ca și cum ați sorta un tabel cu mai multe coloane iar fiecare categorie (între semnele +) reprezintă o coloană, sau un grup..\nSpre exemplu, dacă se alege \"Activată (prima) + Titlu\", atunci toate temele vor fi grupate astfel încât cele active sunt cap de listă, iar apoi temele sunt sortate alfabetic.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sortare conținut", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Înfrumusețați", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Indentare @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Menține linii noi", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Înapoi la manager", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Ați modificat tema fără a o salva.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Activat", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Importul din formatul Mozilla eșuat", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste cod în format Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Instalați '$stylename$' în Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Instalarea temei eșuată!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' este deja instalată. Scrieți peste?\nVersiune: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Introduceți un nume", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Format Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Tema nu a fost aplicată din cauza incorectei aplicări a 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Unele reguli 'regexp()' care nu au putut fi compilate.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Această temă folosește regexp parțiale care încalcă specificațiile CSS4 @document care are nevoie de o potrivire regexp exactă. Părțile afectate de CSS nu au fost aplicate paginii. Cel mai probabil tema a fost creată în Stylish-for-Chrome care verifică incorect 'regexp()' de la prima sa versiune (bug cunoscut).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": " Numărul de secțiuni care nu au fost aplicate din cauza utilizării incorecte a 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestFull": { - "message": "Taburi găsite", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps au fost sărite", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Niciun tab nu se potrivește căutării", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Notă: folosiți \\ pentru ignorarea caracterelor speciale în regexp, care va fi transformat automat în \\\\ în codul temei, urmând specificațiile pentru text citat în CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Potrivire parțială, deci ignorată", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Listă cu taburi deschise care se potrivesc căutării (click URL pentru a activa tabul)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Salvați", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Formatul Mozilla al codului poate fi uploadat pe userstyles.org și folosit de clasicul Stylish pentru Firefox.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Scrieți în format Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Sunteți sigur că doriți să faceți update la '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Tema a fost modificată în afara editorului. Doriți să reâncărcați tema?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus nu funcționează în astfel de pagini.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Ca o măsură de securitate, browser-ul împiedică extensiile să afecteze paginile corespunzătoare browser-ului (precum chrome://version, adresa unui nou tab începând cu Chrome 61, about:addons, în Firefox etc) și de asemenea paginile altor extensii. De asemenea este restricționat accesul la galeriile de extensii (Chrome Web Store sau AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Valoarea nu a putut fi salvată. Încercați să reduceți dimensiunea textului.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Activați/Dezactivați tema", - "description": "Label for the checkbox to enable/disable a style" - }, - "undoGlobal": { - "message": "Undo în toate secțiunile", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox împiedică accesul la site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Pentru a permite accesul deschideți , right-click pe listă, click 'New', apoi 'Boolean', paste și click OK, , OK, reâncărcați pagina .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "În Firefox 60+ va trebui sa fie șters domain-ul AMO din din .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Doar Firefox 59 sau mai nou poate fi configurat să permită WebExtension-urilor să adauge elemente la site-uri CSP-protected precum acesta.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Nu s-a putut comunica cu pagina. Reîncărcați tabul.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus poate accesa file:// URLs doar când este activată opțiunea respectivă din pagina cu setări chrome://extensions", - "description": "Note in the toolbar popup for file:// URLs" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Niciun update găsit.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Unele teme care au update-uri nu au fost updatate pentru a nu pierde modificări locale. Update-urile pot fi forțate individual sau prin a reverifica update-urile pentru toate temele (modificările locale vor fi pierdute).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update eșuat: server-ul a răspuns cu acest cod $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Update eșuat: server-ul nu este avabil.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historicul update-urilor", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalați update-urile (modificările locale vor fi șterse)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Update-ul forțat va șterge toate modificările locale.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Tema a fost editată local.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Tema poate a fost modificată local.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Tema este cu update-urile la zi.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update realizat.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Update-uri instalate:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Vă rugăm să modificați valoarea @name și @namespace pentru a împiedica scrierea peste o temă existentă.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Tema a fost updatată sau ștearsă după ce configurațiile au fost afișate. Aceste variabile nu au fost salvate pentru a nu corupe metadata temei.", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specificați @name", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Înlocuiți tema de bază a formatului Usercss cu acest cod?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name este gol și înlocuiețte valoarea de bază", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Introduce cod aici...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Versiunea este mai veche decât cea instalată.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Scrieți temă pentru: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "acest URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - } } \ No newline at end of file diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index a766987b..d2216db5 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -1,1635 +1,1586 @@ { - "addStyleLabel": { - "message": "Создать стиль", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Добавление стиля", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Прозрачность", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Добавить", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Применить к: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Добавление стиля", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Прозрачность", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Добавить", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Применить к: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "и другие", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URL в домене", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Чтобы указать, к каким URL относится код в этом разделе, воспользуйтесь параметром \"Применить к\".", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Применить к:", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Показать целевые сайты секций", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Не работает с минифицированным CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URL, соответствующим регулярному выражению", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Удалить", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Нельзя удалить последний элемент", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Указать", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Все", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URL, начинающимся с", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Применить все обновления", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Автор", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Резервное копирование", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Нажмите Импорт чтобы выбрать файл или просто перетащите его на эту страницу", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Экспорт стилей", + "description": "" + }, + "checkAllUpdates": { + "message": "Найти обновления всех стилей", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Я не менял стили, проверить заново!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Проверить обновление", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Проверка…", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Нажмите, чтобы удалить стиль", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Закрывать скобки/кавычки при наборе", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Автоматически вставлять закрывающий символ при наборе открывающего из ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Подсказки при наборе кода", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Раскрашивать цвета в CSS", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Умные отступы при помощи табуляции", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Раскладка", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Перенос по словам", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "Проверка CSS", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Подсветка", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Выделенный текст", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Элемент под курсором", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Двойной клик = переключить максимальный размер", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Двойной клик выделяет лексемы", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Образцы лексем: .foo-bar-2 #aabbcc 0.32 !important\nПри выключении: выделение по знакам препинания т.е. по словам.", + "description": "" + }, + "cm_smartIndent": { + "message": "Умные отступы", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Размер табуляции", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Тема", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Сменить формат: #FFF -> RGB -> HSL.\nКлик с Shift меняет в обратном направлении.\nТакже клавишами PgUp, PgDn (\"Страница вверх\" и \"Страница вниз\").", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Изменить цвет", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "сразу", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Сохранять и применять изменения автоматически", + "description": "" + }, + "configureStyle": { + "message": "Настроить", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Настроить на домашней странице", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Отмена", + "description": "" + }, + "confirmClose": { + "message": "Закрыть", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "По умолчанию", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Удалить", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Отказаться от изменений?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Нет", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "ОК", + "description": "" + }, + "confirmSave": { + "message": "Сохранить", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Стоп", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Да", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Скопировано в буфер обмена", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Скопировать в буфер обмена", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Дата установки", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Дата обновления", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Возникла ошибка доступа к базе данных Stylus. Хотите перейти на страницу с возможными способами решения?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "по-умолчанию", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Удалить этот стиль?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Удалить", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Настраивайте стили веб-сайтов с помощью менеджера стилей Stylus. Он позволяет легко установить темы и изменить внешний вид сайтов Google, Facebook, YouTube, Orkut и множества других веб-страниц.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Выключить все стили", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Отключить", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Перетащите файл с резервной копией стилей в любое место этой страницы, чтобы импортировать его.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Чтобы установить файл, поместите его на вкладку (область, где отображаются заголовки вкладок).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Удалить", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Перейти к строке (или строке:колонке)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Изменение стиля", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Изменить", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Изменение стиля \"$stylename$\"", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Включить", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Исключить текущий домен", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Исключить текущий URL", + "description": "" + }, + "exportLabel": { + "message": "Экспорт", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Отзывы", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Домашняя страницы", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Внешняя ссылка", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Поддержка", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Документация по usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "найдено $numShown$ из $numTotal$всего", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Примененные фильтры не соответствуют ни одному стилю", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Найти стили", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Найти еще стили для этого веб-сайта", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "и показать здесь", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Показывать найденные стили в этом окне.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Добавить", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Клонировать", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Отключен", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Активные", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Ошибка", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "История", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Следующий", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Предыдущий", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Сброс", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Сохранено", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Имя", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Неизвестно", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Справка", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Введите имя команды", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Нажмите клавишу", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "Этот хост был отключен из-за ошибки в текущей версии используемого браузера", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Добавить к стилю", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Добавить импортируемый стиль к редактируемому", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Импорт", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Заменить стиль", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Удалить содержимое редактируемого стиля и заменить его на импортируемый стиль", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "добавлено", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "идентичные пропущены", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "некорректных пропущено", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "обновлены мета-данные и код", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "обновлен код", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "обновлены мета-данные", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Импорт стилей завершен", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Ничего не изменилось.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "восстановленных стилей", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Откат импорта завершен", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Установить стиль", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Стиль установлен", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Переустановить стиль", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Обновить стиль", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Установить обновление", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Источник обновления стиля: $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Проверить обновления", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Лицензия", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Помощь", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Скачать стили", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Инфо", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Перевод", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint не поддерживает препроцессор $preprocessorname$", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(значения: 0 = выключить, 1 = предупреждение; 2 = ошибка)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Установить конфиграцию правил $linter$", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Настроить проверку CSS", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Не сохранено из-за неправильных настроек ниже:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Проблемы", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Проблемы, найденные правилами $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Ошибка формата JSON", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "Для отмены случайного сброса нажмите Ctrl-Z (или Cmd-Z) в окне ввода", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Открыть полный список правил", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Ошибка слежения за файлом", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Держите эту вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Оставьте эту вкладку и исходную вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Автозагрузка изменений", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Пиктограммы для целевых сайтов", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Обесцвечивать", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Используется сторонний сервис https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Фильтры", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Менеджер стилей", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Кол-во целевых сайтов/выражений", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "в виде Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Новый интерфейс", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Только неактивные стили", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Только включенные стили", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Только сторонние стили", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Только локально созданные стили", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(т.е. стили, не установленные посредством сайта userstyles.org)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Спрятать Usercss стили", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Только обновляемые и проблемные", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Только Usercss стили", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Число активных стилей", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Неверный флажок @var: значение должно быть 0 или 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Неверный цвет @var: $color$ это не цвет", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Неверный @var$type$: значение должно быть числом или массивом ", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Неверный @var $type$: несколько единиц определены", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Неверный @var $type$: массив содержит слишком много элементов", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Неверный @var $type$: элементы в массиве должны быть числом, строкой или нулем", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Неверный @var $type$: значение по умолчанию равно нулю", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Неверный @var $type$: значение по умолчанию ниже минимального", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Неверный @var $type$: значение по умолчанию больше максимального", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Неверный @var $type$: значение по умолчанию не является кратным шага", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Неверный @var $type$: '$units$' не является действительной единицей", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Неверный @var select: значением по умолчанию должен быть массив или объект", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Неверный @var select: значения внутри массива/объекта должны быть строкой", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Неверный @var select: список опций пуст", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Неверный @var select: ярлык опции пуст", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Неверный @var select: определены несколько параметров по умолчанию", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Неверный @var select: имя опции дублируется", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Неверный @var select: значение не существует в списке опций", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Неверный протокол URL. Разрешены только http и https: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Неверный номер версии. Значение не соответствует шаблону SemVer: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Ожидание числа", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Ожидание строки в кавычках", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Ожидание слова", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Ожидание символа: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Ожидание данной EOT", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Отсутствуют обязательные метаданные: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Неверный JSON: $literal$ не является допустимым литералом JSON", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Неизвестные метаданные: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Неизвестый @$varkey$ тип: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Неизвестный @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Для этого веб-сайта не установлено ни одного стиля.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Менеджер", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Опции", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Менеджер стилей", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Другие действия", + "description": "" + }, + "optionsAdvanced": { + "message": "Другое", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Показывать команду \"Удалить\" в контекстном меню редактора", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Выявлять iframe путем добавления HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Выставляет верхний домен сайта в каждом iframe.\nПозволяет писать iframe-specific CSS следующим образом:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Создавать стили в формате usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Цвет фона в неактивном состоянии", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Цвет фона", + "description": "" + }, + "optionsCheck": { + "message": "Обновить стили", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Найти и установить обновления стилей", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Бейдж на пиктограмме в тулбаре", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Значок в панели", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Всплывающее окно", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Обновления", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Синхронизация с облаком", + "description": "" + }, + "optionsHeading": { + "message": "Настройки", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Тёмный интерфейс браузера", + "description": "" + }, + "optionsIconLight": { + "message": "Светлый интерфейс браузера", + "description": "" + }, + "optionsOpen": { + "message": "Открыть", + "description": "" + }, + "optionsOpenManager": { + "message": "Менеджер стилей", + "description": "" + }, + "optionsPopupWidth": { + "message": "Ширина всплывающего окна (в пикселах)", + "description": "" + }, + "optionsReset": { + "message": "Сброс настроек к значениям по-умолчанию", + "description": "" + }, + "optionsResetButton": { + "message": "Сброс настроек", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Дополнительно", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "После импорта базы стилей из старой версии или из Stylish запустите проверку на обновления из менеджера стилей, чтобы удостовериться в обновлении всех стилей.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Интервал обновления стилей, в часах (укажите 0 для выключения)", + "description": "" + }, + "optionsSyncNone": { + "message": "Ничего", + "description": "" + }, + "optionsSyncConnect": { + "message": "Подключить", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Отсоединить", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Синхронизировать", + "description": "" + }, + "optionsSyncLogin": { + "message": "Логин", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Загружено стилей $loaded$ из $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Загружено стилей $loaded$ из $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Синхронизация", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Подключение…", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Подключено", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Отсоединение…", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Отсоединено", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Текущая страница", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Предположительное количество страниц", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Следующая страница", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Предыдущая страница", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Всего страниц", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus не смог распарсить usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Сортировать стили после переключения", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Добавить белый бордюр по бокам", + "description": "" + }, + "popupBordersTooltip": { + "message": "Полезно для темных тем оформления т.к. новый Chrome не рисует боковые бордюры", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, и цифровой блок - переключает стиль по номеру (0 это 10)\n- переключает стиль начинающийся с нажатой буквы\n открывает в редакторе вместо переключения\n включает стили в списке\n выключает стили в списке\n и <`> (обратный апостроф) - переключает изначально включенные стили вне зависимости от последующего переключения других ранее не включенных стилей, так что можно потестировать и восстановить исходный список нажав \nПодробнее на вики.", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Показать клавиатурные сочетания", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-клик или правый клик откроет менеджер с стилями только для этого сайта.", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Меню действий", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Открывать редактор в новом окне", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Также включается вытаскиванием вкладки из окна браузера\nи выключается перетаскиванием вкладки в другое окно браузера.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Список стилей сверху", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Показывать количество активных стилей для открытого сайта", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Предпросмотр", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Временно применяет стиль пока вы его редактируете.\nСохраните стиль, чтобы сделать изменения постоянными.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Перезагрузить расширение Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "Заменить", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Заменить все", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Заменить на", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Импорт стилей", + "description": "" + }, + "search": { + "message": "Искать", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Учитывать регистр букв", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Количество совпадений", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Количество совпадений в коде и целевых сайтах", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Используйте нотацию /re/ для поиска регулярными выражениями", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Всего загрузок", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Стилей для сайта не найдено.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Рейтинг", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Обновлен", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Загрузок за неделю", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Добавить раздел", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Код", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Удалить раздел", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Восстановить удаленный раздел", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Клавиши", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Назначить клавишу", + "description": "" + }, + "sortDateNewestFirst": { + "message": "новые сверху", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "старые сверху", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Порядок сортировки списка стилей", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Название в алфавитном порядке", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Название в обратном порядке", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Эта настройка позволяет выбрать порядок сортировки списка стилей. По умолчанию названия выводятся в алфавитном порядке. Можно выбрать обратный порядок.\nТакже можно выбрать составной критерий сортировки – отдельные критерии разделены знаком \"+\" и ведут себя примерно как колонки в таблице.\nНапример, при выборе «Активные + Имя» все активные стили будут сгруппированы вверху списка, неактивные внизу, а внутри каждой группы строки будут отсортированы по имени.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Сортировка", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Ошибка в регулярном выражении.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Причесать", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Отступ внутри @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Беречь пустые строки", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Все стили", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Вы изменили этот стиль, но не сохранили его.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Включено", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Ошибка импорта формата Mozilla", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Вставьте содержимое стиля в формате Mozilla", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Установить \"$stylename$\" в Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Ошибка установки стиля!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' уже установлен. Обновить?\nВерсии: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Введите название", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Формат Mozilla", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Стиль не был применен из-за некорректного regexp()", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Некоторые 'regexp()' выражения не удалось скомпилировать.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "В стиле используются regexp-выражения, которые соответствуют лишь части адреса, что нарушает спецификацию CSS4 @document, требующую соответствия всего адреса целиком. Секции стиля с такими regexp не были применены к странице. Вероятно, этот стиль был создан в \"Stylish для Chrome\", который некорректно проверяет regexp (известный баг).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Кол-во пропущенных секций из-за неправильного regexp()", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "Тест регулярки", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Соответствующие вкладки", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Пропущены некомпилируемые регулярки", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Нет соответствующих вкладок", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Полезная информация: используйте одиночный \\ в строке ввода regexp, т.к. он автомачески преобразуется в двойной \\\\ в тексте стиля согласно спецификации CSS для строк в кавычках.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Не применено, т.к. соответствие не полное", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Список соответствующих вкладок (щелкните на адресе, чтобы активировать)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Сохранить", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Формат кода Mozilla можно отправлять на сайт userstyles.org и использовать в дополнении Stylish для Firefox.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Стиль в формате Mozilla", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Подтвердите обновление стиля '$stylename$'.", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Стиль был изменен вне редактора. Перезагрузить?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Такие адреса не поддерживаются.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "В целях обеспечения безопасности браузер запрещает расширениям изменять встроенные страницы (например, chrome://version, стандартная страница новой вкладки начиная с Chrome 61, about:addons и т.д.), страницы других расширений и \"магазин\" расширений (Chrome Web Store в chromium-браузерах, AMO в Firefox и т.д.)", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Ошибка сохранения. Попробуйте уменьшить количество текста.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Включить/выключить стиль", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Отменить", + "description": "Button label" + }, + "undoGlobal": { + "message": "Отменить (глобально)", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Браузер запрещает доступ к сайту", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "Чтобы разрешить доступ, перейдите на адрес , нажмите правой кнопкой в списке, потом «Создать», потом «Логическое», вставьте текст и нажмите OK, , OK, перезагрузите страницу .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "Начиная с Firefox 60 нужно также удалить адрес этого сайта из в .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Только Firefox 59 и новее можно настроить так, чтобы разрешиь веб-расширениям добавлять стили на этом защищенном сайте.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Нет связи со страницей. Попробуйте перезагрузить вкладку.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Доступ к адресам file:// возможен только если включить соответствующую опцию для Stylus на странице chrome://extensions.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus не может получить доступ к некоторым типам файлов (например, файлы PDF и JSON).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Обновлений нет.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Не все стили были проверены, чтобы не потерять возможные локальные изменения. Форсировать обновление стиля можно индивидуально или запустив перепроверку всех обновляемых стилей (локальные изменения будут утеряны).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Ошибка обновления: сервер вернул код $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Ошибка обновления: сервер недоступен.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "История проверок обновлений", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Установить обновление (локальные изменения будут утеряны)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Форсирование обновления удалит локальные изменения.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Стиль был изменен локально.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Возможно был изменен локально.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Нет обновлений.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Обновление завершено.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Установлено обновлений:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Измените значение @name или @namespace, пожалуйста, чтобы предотвратить перезапись существующего стиля.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Стиль был обновлен или удален после вызова окна настройки. Следующие настройки не были сохранены, чтобы не повредить метаданные стиля:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Укажите имя после @name в коде", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Заменить шаблон по умолчанию для нового стиля в формате Usercss текущим кодом?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Пустой @name заменяет шаблон по умолчанию", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Место для CSS кода...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Версия меньше установленной.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Создать стиль для:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "этого адреса", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Экспорт Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Импорт/экспорт Dropbox заменен более продвинутой синхронизацией стилей на странице параметров.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Импорт Dropbox", + "description": "" + }, + "overwriteFileExport": { + "message": "Хотите перезаписать существующий файл?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Файл успешно сохранен", + "description": "" + }, + "noFileToImport": { + "message": "Чтобы импортировать ваши стили, вы должны сначала экспортировать их.", + "description": "" + }, + "connectingDropbox": { + "message": "Подключение Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Подключение к Dropbox доступно только в приложениях, установленных прямо из интернет-магазина", + "description": "" + }, + "gettingStyles": { + "message": "Получение всех стилей...", + "description": "" + }, + "zipStyles": { + "message": "Запаковка стилей...", + "description": "" + }, + "unzipStyles": { + "message": "Распаковка стилей...", + "description": "" + }, + "readingStyles": { + "message": "Чтение стилей...", + "description": "" + }, + "uploadingFile": { + "message": "Загрузка файла...", + "description": "" + }, + "addStyleLabel": { + "message": "Создать стиль", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "и другие", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL в домене", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Чтобы указать, к каким URL относится код в этом разделе, воспользуйтесь параметром \"Применить к\".", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Применить к:", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Показать целевые сайты секций", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Не работает с минифицированным CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL, соответствующим регулярному выражению", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Удалить", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Нельзя удалить последний элемент", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Указать", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Все", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "URL, начинающимся с", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Применить все обновления", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Автор", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Резервное копирование", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Нажмите Импорт чтобы выбрать файл или просто перетащите его на эту страницу", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Экспорт стилей", - "description": "" - }, - "checkAllUpdates": { - "message": "Найти обновления всех стилей", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Я не менял стили, проверить заново!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Проверить обновление", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверка…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Нажмите, чтобы удалить стиль", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Закрывать скобки/кавычки при наборе", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Автоматически вставлять закрывающий символ при наборе открывающего из ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Подсказки при наборе кода", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Раскрашивать цвета в CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Умные отступы при помощи табуляции", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Раскладка", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Перенос по словам", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Проверка CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Подсветка", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Выделенный текст", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Элемент под курсором", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Двойной клик = переключить максимальный размер", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Двойной клик выделяет лексемы", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Образцы лексем: .foo-bar-2 #aabbcc 0.32 !important\nПри выключении: выделение по знакам препинания т.е. по словам.", - "description": "" - }, - "cm_smartIndent": { - "message": "Умные отступы", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Размер табуляции", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Сменить формат: #FFF -> RGB -> HSL.\nКлик с Shift меняет в обратном направлении.\nТакже клавишами PgUp, PgDn (\"Страница вверх\" и \"Страница вниз\").", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Изменить цвет", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "сразу", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Сохранять и применять изменения автоматически", - "description": "" - }, - "configureStyle": { - "message": "Настроить", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Настроить на домашней странице", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Отмена", - "description": "" - }, - "confirmClose": { - "message": "Закрыть", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "По умолчанию", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Удалить", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Отказаться от изменений?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Нет", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "ОК", - "description": "" - }, - "confirmSave": { - "message": "Сохранить", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Стоп", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Скопировано в буфер обмена", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Скопировать в буфер обмена", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "Дата установки", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Дата обновления", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Возникла ошибка доступа к базе данных Stylus. Хотите перейти на страницу с возможными способами решения?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "по-умолчанию", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Удалить этот стиль?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Удалить", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Настраивайте стили веб-сайтов с помощью менеджера стилей Stylus. Он позволяет легко установить темы и изменить внешний вид сайтов Google, Facebook, YouTube, Orkut и множества других веб-страниц.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Выключить все стили", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Отключить", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Перетащите файл с резервной копией стилей в любое место этой страницы, чтобы импортировать его.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Чтобы установить файл, поместите его на вкладку (область, где отображаются заголовки вкладок).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Удалить", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Перейти к строке (или строке:колонке)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Изменение стиля", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Изменить", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Изменение стиля \"$stylename$\"", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Включить", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Исключить текущий домен", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Исключить текущий URL", - "description": "" - }, - "exportLabel": { - "message": "Экспорт", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Отзывы", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Домашняя страницы", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Внешняя ссылка", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Поддержка", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Документация по usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "найдено $numShown$ из $numTotal$всего", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Примененные фильтры не соответствуют ни одному стилю", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Найти стили", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Найти еще стили для этого веб-сайта", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "и показать здесь", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Показывать найденные стили в этом окне.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Добавить", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Клонировать", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Отключен", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Активные", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Ошибка", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "История", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Следующий", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Предыдущий", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Сброс", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Сохранено", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Имя", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Неизвестно", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Справка", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Введите имя команды", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Нажмите клавишу", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Этот хост был отключен из-за ошибки в текущей версии используемого браузера", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Добавить к стилю", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Добавить импортируемый стиль к редактируемому", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Импорт", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Заменить стиль", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Удалить содержимое редактируемого стиля и заменить его на импортируемый стиль", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "добавлено", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "идентичные пропущены", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "некорректных пропущено", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "обновлены мета-данные и код", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "обновлен код", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "обновлены мета-данные", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Импорт стилей завершен", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Ничего не изменилось.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "восстановленных стилей", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Откат импорта завершен", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Установить стиль", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Стиль установлен", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Переустановить стиль", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Обновить стиль", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Установить обновление", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Источник обновления стиля: $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Проверить обновления", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Лицензия", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Помощь", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Скачать стили", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Инфо", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Перевод", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint не поддерживает препроцессор $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(значения: 0 = выключить, 1 = предупреждение; 2 = ошибка)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Установить конфиграцию правил $linter$", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "Настроить проверку CSS", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Не сохранено из-за неправильных настроек ниже:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Проблемы", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Проблемы, найденные правилами $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Ошибка формата JSON", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Для отмены случайного сброса нажмите Ctrl-Z (или Cmd-Z) в окне ввода", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Открыть полный список правил", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Ошибка слежения за файлом", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Держите эту вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Оставьте эту вкладку и исходную вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Автозагрузка изменений", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Пиктограммы для целевых сайтов", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Обесцвечивать", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Используется сторонний сервис https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Фильтры", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Менеджер стилей", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Кол-во целевых сайтов/выражений", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "в виде Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Новый интерфейс", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Только неактивные стили", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Только включенные стили", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Только сторонние стили", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Только локально созданные стили", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(т.е. стили, не установленные посредством сайта userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Спрятать Usercss стили", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Только обновляемые и проблемные", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Только Usercss стили", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Число активных стилей", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Неверный флажок @var: значение должно быть 0 или 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Неверный цвет @var: $color$ это не цвет", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "Неверный @var$type$: значение должно быть числом или массивом ", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Неверный @var $type$: несколько единиц определены", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Неверный @var $type$: массив содержит слишком много элементов", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "Неверный @var $type$: элементы в массиве должны быть числом, строкой или нулем", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "Неверный @var $type$: значение по умолчанию равно нулю", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "Неверный @var $type$: значение по умолчанию ниже минимального", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "Неверный @var $type$: значение по умолчанию больше максимального", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "Неверный @var $type$: значение по умолчанию не является кратным шага", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "Неверный @var $type$: '$units$' не является действительной единицей", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "Неверный @var select: значением по умолчанию должен быть массив или объект", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Неверный @var select: значения внутри массива/объекта должны быть строкой", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Неверный @var select: список опций пуст", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Неверный @var select: ярлык опции пуст", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Неверный @var select: определены несколько параметров по умолчанию", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Неверный @var select: имя опции дублируется", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Неверный @var select: значение не существует в списке опций", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Неверный протокол URL. Разрешены только http и https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Неверный номер версии. Значение не соответствует шаблону SemVer: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Ожидание числа", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Ожидание строки в кавычках", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Ожидание слова", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Ожидание символа: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Ожидание данной EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Отсутствуют обязательные метаданные: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "Неверный JSON: $literal$ не является допустимым литералом JSON", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Неизвестные метаданные: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Неизвестый @$varkey$ тип: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "Неизвестный @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Для этого веб-сайта не установлено ни одного стиля.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Менеджер", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Опции", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Менеджер стилей", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Другие действия", - "description": "" - }, - "optionsAdvanced": { - "message": "Другое", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Показывать команду \"Удалить\" в контекстном меню редактора", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Выявлять iframe путем добавления HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Выставляет верхний домен сайта в каждом iframe.\nПозволяет писать iframe-specific CSS следующим образом:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Создавать стили в формате usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Цвет фона в неактивном состоянии", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Цвет фона", - "description": "" - }, - "optionsCheck": { - "message": "Обновить стили", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Найти и установить обновления стилей", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Бейдж на пиктограмме в тулбаре", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Значок в панели", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Всплывающее окно", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Обновления", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Синхронизация с облаком", - "description": "" - }, - "optionsHeading": { - "message": "Настройки", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Тёмный интерфейс браузера", - "description": "" - }, - "optionsIconLight": { - "message": "Светлый интерфейс браузера", - "description": "" - }, - "optionsOpen": { - "message": "Открыть", - "description": "" - }, - "optionsOpenManager": { - "message": "Менеджер стилей", - "description": "" - }, - "optionsPopupWidth": { - "message": "Ширина всплывающего окна (в пикселах)", - "description": "" - }, - "optionsReset": { - "message": "Сброс настроек к значениям по-умолчанию", - "description": "" - }, - "optionsResetButton": { - "message": "Сброс настроек", - "description": "" - }, - "optionsSubheading": { - "message": "Дополнительно", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "После импорта базы стилей из старой версии или из Stylish запустите проверку на обновления из менеджера стилей, чтобы удостовериться в обновлении всех стилей.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Интервал обновления стилей, в часах (укажите 0 для выключения)", - "description": "" - }, - "optionsSyncNone": { - "message": "Ничего", - "description": "" - }, - "optionsSyncConnect": { - "message": "Подключить", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Отсоединить", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Синхронизировать", - "description": "" - }, - "optionsSyncLogin": { - "message": "Логин", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Загружено стилей $loaded$ из $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "Загружено стилей $loaded$ из $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "Синхронизация", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Подключение…", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Подключено", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Отсоединение…", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Отсоединено", - "description": "" - }, - "paginationCurrent": { - "message": "Текущая страница", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Предположительное количество страниц", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Следующая страница", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Предыдущая страница", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Всего страниц", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus не смог распарсить usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Сортировать стили после переключения", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Добавить белый бордюр по бокам", - "description": "" - }, - "popupBordersTooltip": { - "message": "Полезно для темных тем оформления т.к. новый Chrome не рисует боковые бордюры", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, и цифровой блок - переключает стиль по номеру (0 это 10)\n- переключает стиль начинающийся с нажатой буквы\n открывает в редакторе вместо переключения\n включает стили в списке\n выключает стили в списке\n и <`> (обратный апостроф) - переключает изначально включенные стили вне зависимости от последующего переключения других ранее не включенных стилей, так что можно потестировать и восстановить исходный список нажав \nПодробнее на вики.", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Показать клавиатурные сочетания", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-клик или правый клик откроет менеджер с стилями только для этого сайта.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Меню действий", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "Открывать редактор в новом окне", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Также включается вытаскиванием вкладки из окна браузера\nи выключается перетаскиванием вкладки в другое окно браузера.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Список стилей сверху", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Показывать количество активных стилей для открытого сайта", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Предпросмотр", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Временно применяет стиль пока вы его редактируете.\nСохраните стиль, чтобы сделать изменения постоянными.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Перезагрузить расширение Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Заменить", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Заменить все", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Заменить на", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Импорт стилей", - "description": "" - }, - "search": { - "message": "Искать", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Учитывать регистр букв", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Количество совпадений", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Количество совпадений в коде и целевых сайтах", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Используйте нотацию /re/ для поиска регулярными выражениями", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Всего загрузок", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Стилей для сайта не найдено.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "Рейтинг", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Обновлен", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Загрузок за неделю", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Добавить раздел", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Код", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Удалить раздел", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Восстановить удаленный раздел", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Клавиши", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Назначить клавишу", - "description": "" - }, - "sortDateNewestFirst": { - "message": "новые сверху", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "старые сверху", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Порядок сортировки списка стилей", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Название в алфавитном порядке", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Название в обратном порядке", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Эта настройка позволяет выбрать порядок сортировки списка стилей. По умолчанию названия выводятся в алфавитном порядке. Можно выбрать обратный порядок.\nТакже можно выбрать составной критерий сортировки – отдельные критерии разделены знаком \"+\" и ведут себя примерно как колонки в таблице.\nНапример, при выборе «Активные + Имя» все активные стили будут сгруппированы вверху списка, неактивные внизу, а внутри каждой группы строки будут отсортированы по имени.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Сортировка", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Ошибка в регулярном выражении.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Причесать", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyIndentConditional": { - "message": "Отступ внутри @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Беречь пустые строки", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Все стили", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Вы изменили этот стиль, но не сохранили его.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Включено", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Ошибка импорта формата Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Вставьте содержимое стиля в формате Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Установить \"$stylename$\" в Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Ошибка установки стиля!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' уже установлен. Обновить?\nВерсии: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Введите название", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Формат Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Стиль не был применен из-за некорректного regexp()", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Некоторые 'regexp()' выражения не удалось скомпилировать.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "В стиле используются regexp-выражения, которые соответствуют лишь части адреса, что нарушает спецификацию CSS4 @document, требующую соответствия всего адреса целиком. Секции стиля с такими regexp не были применены к странице. Вероятно, этот стиль был создан в \"Stylish для Chrome\", который некорректно проверяет regexp (известный баг).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Кол-во пропущенных секций из-за неправильного regexp()", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Тест регулярки", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Соответствующие вкладки", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Пропущены некомпилируемые регулярки", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Нет соответствующих вкладок", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Полезная информация: используйте одиночный \\ в строке ввода regexp, т.к. он автомачески преобразуется в двойной \\\\ в тексте стиля согласно спецификации CSS для строк в кавычках.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Не применено, т.к. соответствие не полное", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Список соответствующих вкладок (щелкните на адресе, чтобы активировать)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Сохранить", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Формат кода Mozilla можно отправлять на сайт userstyles.org и использовать в дополнении Stylish для Firefox.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Стиль в формате Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Подтвердите обновление стиля '$stylename$'.", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Стиль был изменен вне редактора. Перезагрузить?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Такие адреса не поддерживаются.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "В целях обеспечения безопасности браузер запрещает расширениям изменять встроенные страницы (например, chrome://version, стандартная страница новой вкладки начиная с Chrome 61, about:addons и т.д.), страницы других расширений и \"магазин\" расширений (Chrome Web Store в chromium-браузерах, AMO в Firefox и т.д.)", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Ошибка сохранения. Попробуйте уменьшить количество текста.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Включить/выключить стиль", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Отменить", - "description": "Button label" - }, - "undoGlobal": { - "message": "Отменить (глобально)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Браузер запрещает доступ к сайту", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Чтобы разрешить доступ, перейдите на адрес , нажмите правой кнопкой в списке, потом «Создать», потом «Логическое», вставьте текст и нажмите OK, , OK, перезагрузите страницу .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Начиная с Firefox 60 нужно также удалить адрес этого сайта из в .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Только Firefox 59 и новее можно настроить так, чтобы разрешиь веб-расширениям добавлять стили на этом защищенном сайте.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Нет связи со страницей. Попробуйте перезагрузить вкладку.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Доступ к адресам file:// возможен только если включить соответствующую опцию для Stylus на странице chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus не может получить доступ к некоторым типам файлов (например, файлы PDF и JSON).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Обновлений нет.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Не все стили были проверены, чтобы не потерять возможные локальные изменения. Форсировать обновление стиля можно индивидуально или запустив перепроверку всех обновляемых стилей (локальные изменения будут утеряны).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Ошибка обновления: сервер вернул код $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Ошибка обновления: сервер недоступен.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "История проверок обновлений", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Установить обновление (локальные изменения будут утеряны)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Форсирование обновления удалит локальные изменения.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Стиль был изменен локально.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Возможно был изменен локально.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Нет обновлений.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Обновление завершено.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Установлено обновлений:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Измените значение @name или @namespace, пожалуйста, чтобы предотвратить перезапись существующего стиля.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Стиль был обновлен или удален после вызова окна настройки. Следующие настройки не были сохранены, чтобы не повредить метаданные стиля:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Укажите имя после @name в коде", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Заменить шаблон по умолчанию для нового стиля в формате Usercss текущим кодом?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Пустой @name заменяет шаблон по умолчанию", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Место для CSS кода...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Версия меньше установленной.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Создать стиль для:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "этого адреса", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Экспорт Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Импорт/экспорт Dropbox заменен более продвинутой синхронизацией стилей на странице параметров.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Импорт Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "Хотите перезаписать существующий файл?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Файл успешно сохранен", - "description": "" - }, - "noFileToImport": { - "message": "Чтобы импортировать ваши стили, вы должны сначала экспортировать их.", - "description": "" - }, - "connectingDropbox": { - "message": "Подключение Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Подключение к Dropbox доступно только в приложениях, установленных прямо из интернет-магазина", - "description": "" - }, - "gettingStyles": { - "message": "Получение всех стилей...", - "description": "" - }, - "zipStyles": { - "message": "Запаковка стилей...", - "description": "" - }, - "unzipStyles": { - "message": "Распаковка стилей...", - "description": "" - }, - "readingStyles": { - "message": "Чтение стилей...", - "description": "" - }, - "uploadingFile": { - "message": "Загрузка файла...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/sr/messages.json b/_locales/sr/messages.json index a60cf14e..14441720 100644 --- a/_locales/sr/messages.json +++ b/_locales/sr/messages.json @@ -1,408 +1,1586 @@ { - "addStyleLabel": { - "message": "Упиши нови стил", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Додај стил", - "description": "Title of the page for adding styles" - }, - "appliesAdd": { - "message": "Додај", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Примењује се на: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Додај стил", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Додај", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Примењује се на: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "и још", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "УРЛ адресе на домену", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Употреба 'Примењује се на' одређује опсег УРЛ адреса на које се код у овом одељку примењује.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Примењује се на", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "УРЛ адресе које одговарају регуларном изразу", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Уклони", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Детаљније", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Све", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "УРЛ", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "УРЛ адресе које почињу са", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Примени сва ажурирања", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Проверите ажурирања за све стилове", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Проверите ажурирање", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Проверавање...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Користи картице са паметним увлачењем редова", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Мапа тастера", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Преламање текста", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Користи паметно увлачење редова", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Величина картице", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Тема", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Не", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Заустави", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Да", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Дошло је до грешке користећи Stylus базу података. Да ли желите да посетите веб страницу са могућим решењима?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "подразумевано", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Да ли сте сигурни да желите да избришете овај стил?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Избриши", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Измените стил интернет мреже управљачем корисничких стилова. Stylus вам омогућава да лако инсталирате теме и скинове за многе популарне сајтове.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Искључи све стилове", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Онемогући", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Иди на ред (или line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Уреди стил", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Уреди", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Уреди стил $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Омогући", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Извези", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Пронађи још стилова за овај сајт", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Помоћ", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Укуцај име команде", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Притисни пречицу", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Додај стилу", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Додај увезени стил тренутном стилу", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Увези", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Упиши преко стила", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Одбаци садржај тренутног стила и упиши преко њега увезени стил", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Инсталирај ажурирање", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Помоћ", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Преузмите стилове", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Проблеми", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Проблем пронађен од стране $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Филтери", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Инсталирани стилови", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Само омогућени стилови", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Прикажи број активних стилова", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Нема инсталираних стилова за овај сајт.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Управљај инсталираним стиловима", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Опције", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Излистај стилове пре команди у менију дугмета на алатној траци", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Прикажи број активних стилова за тренутни сајт на дугмету на алатној траци", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Замени", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Замени све", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Замени са", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Претражи", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Користи /re/ синтаксу за претрагу регуларним изразом", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Додај нови одељак", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Код", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Уклони одељак", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Регуларни израз је неисправан.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Улепшај", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Назад на управљање", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Направили сте измене овог стила које нисте сачували.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Омогућено", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Налепи код у Mozilla формату", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Инсталирати '$stylename$' у Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Унесите назив", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla формат", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Сачувај", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla формат кода се може користити у Stylish за Firefox и може се послати на userstyles.org.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Стил у Mozilla формату", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Да ли сте сигурни да желите да ажурирате '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus не ради на страницама као што је ова.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Опозови", + "description": "Button label" + }, + "undoGlobal": { + "message": "Опозови (свеобухватно)", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Сви стилови су ажурирани.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Ажурирање није успело: сервер је одговорио кодом $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Ажурирање није успело: сервер није доступан.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Стил је ажуриран.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Ажурирање је комплетирано.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Упиши стил за:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "ову УРЛ адресу", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Упиши нови стил", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "и још", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "УРЛ адресе на домену", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Употреба 'Примењује се на' одређује опсег УРЛ адреса на које се код у овом одељку примењује.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Примењује се на", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesRegexpOption": { - "message": "УРЛ адресе које одговарају регуларном изразу", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Уклони", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Детаљније", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Све", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "УРЛ", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "УРЛ адресе које почињу са", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Примени сва ажурирања", - "description": "Label for the button to apply all detected updates" - }, - "checkAllUpdates": { - "message": "Проверите ажурирања за све стилове", - "description": "Label for the button to check all styles for updates" - }, - "checkForUpdate": { - "message": "Проверите ажурирање", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверавање...", - "description": "Text to display when checking a style for an update" - }, - "cm_indentWithTabs": { - "message": "Користи картице са паметним увлачењем редова", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Мапа тастера", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Преламање текста", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_smartIndent": { - "message": "Користи паметно увлачење редова", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Величина картице", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "confirmNo": { - "message": "Не", - "description": "'No' button in a confirm dialog" - }, - "confirmStop": { - "message": "Заустави", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "dbError": { - "message": "Дошло је до грешке користећи Stylus базу података. Да ли желите да посетите веб страницу са могућим решењима?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "подразумевано", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Да ли сте сигурни да желите да избришете овај стил?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Избриши", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Измените стил интернет мреже управљачем корисничких стилова. Stylus вам омогућава да лако инсталирате теме и скинове за многе популарне сајтове.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Искључи све стилове", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Онемогући", - "description": "Label for the button to disable a style" - }, - "editGotoLine": { - "message": "Иди на ред (или line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Уреди стил", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Уреди", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Уреди стил $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Омогући", - "description": "Label for the button to enable a style" - }, - "exportLabel": { - "message": "Извези", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "findStylesForSite": { - "message": "Пронађи још стилова за овај сајт", - "description": "Text for a link that gets a list of styles for the current site" - }, - "helpAlt": { - "message": "Помоћ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Укуцај име команде", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Притисни пречицу", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Додај стилу", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Додај увезени стил тренутном стилу", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Увези", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Упиши преко стила", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Одбаци садржај тренутног стила и упиши преко њега увезени стил", - "description": "Label for the button to import and overwrite current style" - }, - "installUpdate": { - "message": "Инсталирај ажурирање", - "description": "Label for the button to install an update for a single style" - }, - "linkGetHelp": { - "message": "Помоћ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Преузмите стилове", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linterIssues": { - "message": "Проблеми", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Проблем пронађен од стране $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "manageFilters": { - "message": "Филтери", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Инсталирани стилови", - "description": "Heading for the manage page" - }, - "manageOnlyEnabled": { - "message": "Само омогућени стилови", - "description": "Checkbox to show only enabled styles" - }, - "menuShowBadge": { - "message": "Прикажи број активних стилова", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "noStylesForSite": { - "message": "Нема инсталираних стилова за овај сајт.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Управљај инсталираним стиловима", - "description": "Link to open the manage page." - }, - "optionsHeading": { - "message": "Опције", - "description": "Heading for options section on manage page." - }, - "popupStylesFirst": { - "message": "Излистај стилове пре команди у менију дугмета на алатној траци", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Прикажи број активних стилова за тренутни сајт на дугмету на алатној траци", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "replace": { - "message": "Замени", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Замени све", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Замени са", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "search": { - "message": "Претражи", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Користи /re/ синтаксу за претрагу регуларним изразом", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "sectionAdd": { - "message": "Додај нови одељак", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Код", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Уклони одељак", - "description": "Label for the button to remove a section" - }, - "styleBadRegexp": { - "message": "Регуларни израз је неисправан.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Улепшај", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleCancelEditLabel": { - "message": "Назад на управљање", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Направили сте измене овог стила које нисте сачували.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Омогућено", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatPrompt": { - "message": "Налепи код у Mozilla формату", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Инсталирати '$stylename$' у Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleMissingName": { - "message": "Унесите назив", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla формат", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleSaveLabel": { - "message": "Сачувај", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla формат кода се може користити у Stylish за Firefox и може се послати на userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Стил у Mozilla формату", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Да ли сте сигурни да желите да ажурирате '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "stylusUnavailableForURL": { - "message": "Stylus не ради на страницама као што је ова.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "undo": { - "message": "Опозови", - "description": "Button label" - }, - "undoGlobal": { - "message": "Опозови (свеобухватно)", - "description": "CSS-beautify global Undo button label" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Сви стилови су ажурирани.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Ажурирање није успело: сервер је одговорио кодом $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Ажурирање није успело: сервер није доступан.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckSucceededNoUpdate": { - "message": "Стил је ажуриран.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Ажурирање је комплетирано.", - "description": "Text that displays when an update completed" - }, - "writeStyleFor": { - "message": "Упиши стил за:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "ову УРЛ адресу", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - } } \ No newline at end of file diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 6f428600..975e0bc0 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -1,1579 +1,1586 @@ { - "addStyleLabel": { - "message": "Skriv ny stil", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Lägg till stil", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacitet", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Lägg till", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Tillämpad för: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Lägg till stil", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacitet", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Lägg till", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Tillämpad för: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "och mer", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "Webbadresser på domänen", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Använd 'Tillämpad för' alternativet för att begränsa vilka webbadresser koden i denna sektion gäller för.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Tillämpad för", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Visa \"Tillämpad för\" information", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Fungerar inte med minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "Webbadresser som matchar regexp:en", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Ta bort", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Kan inte ta bort senaste \"tillämpad för\" post", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specificera", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Allt", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "Webbadress", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "Webbadresser som börjar på", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Tillämpa alla uppdateringar", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Författare", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Säkerhetskopiera", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Välj en fil eller dra och släpp till den här sidan.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Exportera stilar", + "description": "" + }, + "checkAllUpdates": { + "message": "Sök efter uppdateringar", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Kontrollera igen, jag redigerade inte några stilar!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Sök efter uppdatering", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Letar...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Klicka för att avinstallera", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Stäng automatiskt parenteser och citat", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Lägg automatiskt till ett slutpar när du skriver en öppning av ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Komplettera automatiskt när du skriver", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Färgväljare för CSS-färger", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Använd tabbar med smarta indrag", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Tangentkarta", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Radbrytning", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Markera", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Endast urval", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under markör", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Dubbelklicka för att maximera/återställa höjden", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Dubbelklickning väljer token", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Exempel på token: .foo-bar-2 #aabbcc 0.32 !important\nNär inaktiverad: skiljetecken-avgränsade ord väljs.", + "description": "" + }, + "cm_smartIndent": { + "message": "Använd smarta indrag", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tabbstorlek", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Tema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Växla format: HEX -> RGB -> HSL.\nSkift-klicka för att vända riktningen.\nÄven via PgUp (PageUp), PgDn (PageDown) tangenter.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Öppen färgväljaren", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "vid förändring", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Spara automatiskt och tillämpa ändringar automatiskt", + "description": "" + }, + "configureStyle": { + "message": "Konfigurera", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Konfigurera på webbplatsen", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Avbryt", + "description": "" + }, + "confirmClose": { + "message": "Stäng", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Använd standard", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Ta bort", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Kassera ändringarna?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Nej", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Spara", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stoppa", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Ja", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Kopierad till urklipp", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Kopiera till urklipp", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Installerat datum", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Datumet uppdaterat", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Ett fel inträffades vid hanteringen av Stylus-databasen. Skulle du vilja besöka en sida med eventuella lösningar?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "standard", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Är du säker på att du vill ta bort denna stil?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Ta bort", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Designa om webben med Stylus, en användarstilshanterare. Stylus låter dig enkelt installera teman och skal för många populära webbplatser.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Stäng av alla stilar", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Inaktivera", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Släpp din säkerhetskopieringsfil någonstans på den här sidan för att importera.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Ta bort", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Gå till rad (eller rad:kol)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Ändra stil", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Ändra", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Ändra stilen $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Aktivera", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Uteslut den aktuella domänen", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Uteslut den aktuella webbadressen", + "description": "" + }, + "exportLabel": { + "message": "Exportera", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Återkoppling", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Webbplats", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Extern länk", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Dokumentation för Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ visade av $numTotal$ totalt", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "För närvarande tillämpade filter matchar inga stilar", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Hitta stilar", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Hitta fler stilar för denna webbplats", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Visa sökresultat i det här fönstret.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Lägg till", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Klona", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Inaktiverad", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Aktiverad", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Fel", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Historik", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Nästa", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Föregående", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Återställ", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Sparad", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Titel", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Okänd", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Hjälp", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Skriv ett kommandonamn", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Tryck på en snabbtangent", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Lägg till i stilen", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Lägg till den importerade stilen i aktuell stil", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Importera", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potentiellt problem på grund av @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Ersätt stil", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "tillagd", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identisk hoppade över", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "ogiltig hoppades över", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "uppdaterade både metainfo och kod", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "uppdaterad kod", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "uppdaterad metainfo", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Importerade stilar", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Ingenting förändrades.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "stilar återställdes", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Importen har ångrats", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Installera stil", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Stilen installerad", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Installera om stilen", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Uppdatera stil", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Installera uppdatering", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "För närvarande är stilen uppdaterad från $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Sök efter uppdateringar", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Licens", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Hjälp", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Skaffa stilar", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Översätt", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint stöder inte $preprocessorname$-preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Ange regel som: 0 = inaktiverad; 1 = varning; 2 = fel)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Ställ in $linter$ regler konfiguration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Inte sparat på grund av dessa ogiltiga konfigurationsinställningar:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Problem", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "Dessa problem hittades av $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Ogiltigt JSON-format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "För att ångra oavsiktlig återställning, tryck Ctrl-Z (eller CMD-Z) i textrutan", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "Se en fullständig lista över regler", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "Ett fel uppstod medan du tittade på filen", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Uppdaterar i realtid", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Ikoner i 'Tillämpad för' kolumnen", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Nedtonade", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus använder en extern tjänst https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filter", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installerade stilar", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Antal tillämpad-för objekt", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "som Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "Ny hantera UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Endast inaktiverade stilar", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Endast aktiverade stilar", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Endast externa stilar", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Endast lokalt skapade stilar", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(stilen som inte är installerade via en userstyles.org-sida)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Endast icke-Usercss-stilar", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Endast med uppdateringar eller problem", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Endast Usercss-stilar", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Visa antalet aktiva stilar", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Ogiltig @var-kryssruta: värdet måste vara 0 eller 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Ogiltig @var-färg: $color$ är inte en färg", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Ogiltig @var-$type$: värdet måste vara ett tal eller en matris", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Ogiltig @var-$type$: flera enheter definieras", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Ogiltig @var-$type$: matrisen innehåller för många objekt", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Ogiltig @var-$type$: objekt i matrisen måste vara nummer, sträng eller null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Ogiltig @var-$type$: standardvärdet är null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Ogiltig @var-$type$: standardvärdet är lägre än det lägsta", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Ogiltig @var-$type$: standardvärdet är större än det maximala", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Ogiltig @var-$type$: standardvärdet är inte en multipel av steget", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Ogiltig @var-$type$: \"$units$\" är inte en giltig enhet", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Ogiltig @var-markering: standardvärdet måste vara en matris eller ett objekt", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Ogiltig @var-markering: värden inuti matrisen/objektet måste vara en sträng", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Ogiltig @var-markering: alternativlistan är tom", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Ogiltig @var-markering: alternativetikett är tom", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Ogiltig @var-markering: flera standardalternativ definieras", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Ogiltig @var-markering: alternativnamn dupliceras", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Ogiltig @var-markering: värdet finns inte i alternativlistan", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Ogiltigt webbadressprotokoll. Endast http och https är tillåtna: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Ogiltigt versionsnummer. Värdet matchar inte SemVer-mönstret: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Förvänta dig ett nummer", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Förvänta dig en citerad sträng", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Förvänta dig ett ord", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Förvänta tecken: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Förvänta EOT-data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Obligatoriska metadata saknas: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Ogiltig JSON: $literal$ är inte en giltig JSON-bokstav", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Okända metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Okänd @$varkey$ typ: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Okänd @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Inga stilar installerade för denna webbplats.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Rad:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Hantera", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Alternativ", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Öppna stilhanteraren", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Åtgärder", + "description": "" + }, + "optionsAdvanced": { + "message": "Avancerat", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Lägg till \"Ta bort\" i redigeringsmenyn", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Exponera Iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exponerar toppdomänen i varje iframe.\nAktiverar skriva Iframe-specifik CSS så här:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Skriv ny stil som Usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Bakgrundsfärg när inaktiverad", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Bakgrundsfärg", + "description": "" + }, + "optionsCheck": { + "message": "Uppdatera stilar", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Leta efter och installera alla tillgängliga uppdateringar", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Bricka på verktygsfältsikonen", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Ikon i verktygsfältet", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Uppdateringar", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Synkronisera till molnet", + "description": "" + }, + "optionsHeading": { + "message": "Alternativ", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Mörka webbläsarteman", + "description": "" + }, + "optionsIconLight": { + "message": "Ljusa webbläsarteman", + "description": "" + }, + "optionsOpen": { + "message": "Öppna", + "description": "" + }, + "optionsOpenManager": { + "message": "Hantera stilar", + "description": "" + }, + "optionsPopupWidth": { + "message": "Bredd på popup (i pixlar)", + "description": "" + }, + "optionsReset": { + "message": "Återställ alternativen till standard", + "description": "" + }, + "optionsResetButton": { + "message": "Återställ alternativ", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Mer alternativ", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "När du importerar säkerhetskopior av stilar från gammal version eller från Stylish, gör en engångskontroll för uppdateringar manuellt i stilhanteraren för att säkerställa att alla stilar uppdateras.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle automatisk uppdateringsintervall i timmar (ange 0 för att inaktivera)", + "description": "" + }, + "optionsSyncNone": { + "message": "Inga", + "description": "" + }, + "optionsSyncConnect": { + "message": "Anslut", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Koppla från", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Synkronisera nu", + "description": "" + }, + "optionsSyncLogin": { + "message": "Logga in", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Synkroniserar...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Ansluter..", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Ansluten", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Kopplar från...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Frånkopplad", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Aktuell sida", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Uppskattat antal sidor", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Nästa sida", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Föregående sida", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Totalt sidor", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus misslyckades med att tolka Usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Sortera om format i popup efter växling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Lägg till vita kanter på sidorna", + "description": "" + }, + "popupBordersTooltip": { + "message": "Användbar för mörka teman i nya Chrome eftersom det inte längre målar sidokanterna", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Klicka för att se tillgängliga snabbtangenter", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Skift-klick eller högerklick öppnar hanteraren med stilar som gäller för aktuell webbplats", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Åtgärdsmeny", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Öppna redigeraren i ett nytt fönster", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Också aktiverad genom att ta bort redigeringsfliken från ett webbläsarfönster,\noch inaktiverad genom att fästa en enda redigeringsflik i ett annat fönster.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Stilar före kommandon", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Antalet aktiva stilar för den nuvarande webbplatsen", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Förhandsvisning i realtid", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Tillämpar tillfälligt ändringarna utan att spara.\nSpara stilen för att göra ändringarna permanenta.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Ersätt", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Ersätt alla", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Ersätt med", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Importera stilar", + "description": "" + }, + "search": { + "message": "Sök", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Skiftlägeskänslig", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Antal matchningar", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Antal matchningar i kod och tillämpad-för-värden", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Använd /re/ för regexp-sökning", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Installationer totalt", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Inga stilar hittades för denna webbplats.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "Formatet är installerat men den gäller inte den aktuella webbadressen.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Betyg", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Uppdaterad", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Installationer veckovis", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "Alla", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS-kod", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "Efter webbadress", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Namn", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Lägg till ytterligare en sektion", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Kod", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Ta bort sektion", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Återställ borttagen sektion", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Genvägar", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Ställ in tangentbordsgenvägar", + "description": "" + }, + "sortDateNewestFirst": { + "message": "Nyaste först", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "äldsta först", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Välj en sort som ska tillämpas på de installerade stilarna", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Titel stigande", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Titel fallande", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sortera innehåll", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp:en är ogiltig", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Försköna", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Tips: högerklicka på knappen \"Försköna\" eller använd tangentbordsgenvägen som definieras nedan för att försköna utan att visa denna panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Bevara nya rader", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Återgå till hantera", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Du har gjort ändringar i denna stil utan att spara.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Aktiverad", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Import av Mozilla-format misslyckades", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Klistra in Mozilla-formatkoden", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Installera '$stylename$' in i Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Det gick inte att installera userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' är redan installerad. Skriva över?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Ange ett namn", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Stil tillämpades inte på grund av felaktig användning av \"regexp()\"", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Några \"regexp()\"-regler som inte alls kunde sammanställas.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "Denna stil använder delvis matchande regexps i strid med CSS4 @dokumentspecifikation som kräver en fullständig webbadressmatchning. De berörda CSS-sektionerna tillämpades inte på sidan. Denna stil skapades förmodligen i Stylish-for-Chrome som felaktigt kontrollerar 'regexp()'-regler sedan den allra första versionen (känt fel).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Antal avsnitt som inte tillämpas på grund av felaktig användning av \"regexp()\"", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp-test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matchande flikar", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Ogiltiga regexps hoppades över", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "Inga matchande flikar", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Matchar inte helt, hoppades därför över", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "Lista över matchande öppnade flikar (klicka på webbadressen för att fokusera på dess flik)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Spara", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla-formatet av koden kan skickas till userstyle.org och användas med klassikern Stylish för Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Stil i Mozilla-format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Är du säker på att du vill uppdatera '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "Stilen ändras utanför redigeraren. Vill du uppdatera stilen?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus fungerar inte på sidor som denna.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "Som en säkerhetsåtgärd förbjuder webbläsaren tillägg från att påverka dess inbyggda sidor (som chrome://version, den vanliga nya fliksidan från Chrome 61, about:addons och så vidare) samt andra tilläggssidor. Varje webbläsare begränsar också tillgången till sina egna tilläggsgalleri (som Chrome Web Store eller AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "Värdet kan inte sparas. Försök att minska mängden text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Växla stil", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Ångra", + "description": "Button label" + }, + "undoGlobal": { + "message": "Ångra i alla sektioner", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox förbjuder åtkomst till webbplatsen.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "För att tillåta åtkomst öppna , högerklicka på listan, klicka på \"Ny\", sedan \"Boolean\", klistra in och klicka på OK, , OK, uppdatera -sidan.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "I Firefox 60 och senare måste du också ta bort AMO-domän från i .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Endast Firefox 59 och nyare kan konfigureras för att tillåta WebExtensions att lägga till stilelement på CSP-skyddade webbplatser som den här.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Kunde inte kommunicera med sidan. Uppdatera fliken.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus kan endast komma åt fil:// webbadresser om du aktiverar motsvarande kryssruta för Stylus-tillägg på chrome://extensions-sidan.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus kan inte komma åt vissa filtyper (t.ex. pdf- & json-filer).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Inga uppdateringar hittades.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Vissa uppdaterbara stilar kontrollerades inte för att undvika att förlora eventuella lokala redigeringar. Uppdateringar kan tvingas genom att kontrollera individuellt, eller genom att köra en annan kontroll för alla stilar (lokala redigeringar kommer att skrivas över).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Uppdateringen misslyckades: servern svarade med kod $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Uppdateringen misslyckades: server onåbar.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Historik över uppdateringskontroller", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Installera uppdatering (lokala redigeringar kommer att skrivas över)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Att tvinga en uppdatering kommer att skriva över alla lokala ändringar.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Denna stil redigerades lokalt.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Denna stil kan ha redigerats lokalt.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Stilen är uppdaterad.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Uppdatering slutförd.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Uppdateringar installerade:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Vänligen ändra värdet på @name eller @ namespace för att undvika att skriva över en befintlig stil.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Stilen uppdaterades eller togs bort efter att konfigurationsdialogrutan visades. Dessa variabler sparades inte för att undvika att förstöra stilens metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Ange @name i koden", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Ersätt standardmallen för nya Usercss-stilar med den aktuella koden?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Tom @name ersätter standardmallen", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Lägg in kod här...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Versionen är äldre än den installerade stilen.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Skriv stil för:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "denna webbadress", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox exportering", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Import/export av Dropbox ersätts av en mer avancerad synkronisering av format på sidan med alternativ.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox importering", + "description": "" + }, + "overwriteFileExport": { + "message": "Vill du skriva över en befintlig fil?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Filen sparades", + "description": "" + }, + "noFileToImport": { + "message": "För att importera dina stilar bör du exportera dem först.", + "description": "" + }, + "connectingDropbox": { + "message": "Ansluter Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Anslutning till Dropbox är endast tillgänglig i appar installerade direkt från webbutiken", + "description": "" + }, + "gettingStyles": { + "message": "Hämtar alla format...", + "description": "" + }, + "zipStyles": { + "message": "Packar stilar...", + "description": "" + }, + "unzipStyles": { + "message": "Packar upp stilar...", + "description": "" + }, + "readingStyles": { + "message": "Läsar format...", + "description": "" + }, + "uploadingFile": { + "message": "Skickar filen...", + "description": "" + }, + "addStyleLabel": { + "message": "Skriv ny stil", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "och mer", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Webbadresser på domänen", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Använd 'Tillämpad för' alternativet för att begränsa vilka webbadresser koden i denna sektion gäller för.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Tillämpad för", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Visa \"Tillämpad för\" information", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Fungerar inte med minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Webbadresser som matchar regexp:en", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Ta bort", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kan inte ta bort senaste \"tillämpad för\" post", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificera", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Allt", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "Webbadress", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Webbadresser som börjar på", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Tillämpa alla uppdateringar", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Författare", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Säkerhetskopiera", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Välj en fil eller dra och släpp till den här sidan.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportera stilar", - "description": "" - }, - "checkAllUpdates": { - "message": "Sök efter uppdateringar", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Kontrollera igen, jag redigerade inte några stilar!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Sök efter uppdatering", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Letar...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klicka för att avinstallera", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Stäng automatiskt parenteser och citat", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Lägg automatiskt till ett slutpar när du skriver en öppning av ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Komplettera automatiskt när du skriver", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Färgväljare för CSS-färger", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Använd tabbar med smarta indrag", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tangentkarta", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Radbrytning", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Markera", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Endast urval", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under markör", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dubbelklicka för att maximera/återställa höjden", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dubbelklickning väljer token", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exempel på token: .foo-bar-2 #aabbcc 0.32 !important\nNär inaktiverad: skiljetecken-avgränsade ord väljs.", - "description": "" - }, - "cm_smartIndent": { - "message": "Använd smarta indrag", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabbstorlek", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Växla format: HEX -> RGB -> HSL.\nSkift-klicka för att vända riktningen.\nÄven via PgUp (PageUp), PgDn (PageDown) tangenter.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Öppen färgväljaren", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "vid förändring", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Spara automatiskt och tillämpa ändringar automatiskt", - "description": "" - }, - "configureStyle": { - "message": "Konfigurera", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Konfigurera på webbplatsen", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Avbryt", - "description": "" - }, - "confirmClose": { - "message": "Stäng", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Använd standard", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Ta bort", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Kassera ändringarna?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nej", - "description": "'No' button in a confirm dialog" - }, - "confirmSave": { - "message": "Spara", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stoppa", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Kopierad till urklipp", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopiera till urklipp", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "Installerat datum", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Datumet uppdaterat", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ett fel inträffades vid hanteringen av Stylus-databasen. Skulle du vilja besöka en sida med eventuella lösningar?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "standard", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Är du säker på att du vill ta bort denna stil?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Ta bort", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Designa om webben med Stylus, en användarstilshanterare. Stylus låter dig enkelt installera teman och skal för många populära webbplatser.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Stäng av alla stilar", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Inaktivera", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Släpp din säkerhetskopieringsfil någonstans på den här sidan för att importera.", - "description": "Drag'n'drop message" - }, - "editDeleteText": { - "message": "Ta bort", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Gå till rad (eller rad:kol)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Ändra stil", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Ändra", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Ändra stilen $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Aktivera", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Uteslut den aktuella domänen", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Uteslut den aktuella webbadressen", - "description": "" - }, - "exportLabel": { - "message": "Exportera", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Återkoppling", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Webbplats", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Extern länk", - "description": "Label for external links" - }, - "externalUsercssDocument": { - "message": "Dokumentation för Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ visade av $numTotal$ totalt", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "För närvarande tillämpade filter matchar inga stilar", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Hitta stilar", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Hitta fler stilar för denna webbplats", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInlineTooltip": { - "message": "Visa sökresultat i det här fönstret.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Lägg till", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klona", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Inaktiverad", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Aktiverad", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Fel", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historik", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Nästa", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Föregående", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Återställ", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Sparad", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titel", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Okänd", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Hjälp", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Skriv ett kommandonamn", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Tryck på en snabbtangent", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "importAppendLabel": { - "message": "Lägg till i stilen", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Lägg till den importerade stilen i aktuell stil", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importera", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessorTitle": { - "message": "Potentiellt problem på grund av @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Ersätt stil", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "tillagd", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identisk hoppade över", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "ogiltig hoppades över", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "uppdaterade både metainfo och kod", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "uppdaterad kod", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "uppdaterad metainfo", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importerade stilar", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Ingenting förändrades.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stilar återställdes", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importen har ångrats", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Installera stil", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stilen installerad", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Installera om stilen", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Uppdatera stil", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Installera uppdatering", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "För närvarande är stilen uppdaterad från $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "Sök efter uppdateringar", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licens", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hjälp", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Skaffa stilar", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "Översätt", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint stöder inte $preprocessorname$-preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(Ange regel som: 0 = inaktiverad; 1 = varning; 2 = fel)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Ställ in $linter$ regler konfiguration", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterInvalidConfigError": { - "message": "Inte sparat på grund av dessa ogiltiga konfigurationsinställningar:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problem", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Dessa problem hittades av $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "Ogiltigt JSON-format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "För att ångra oavsiktlig återställning, tryck Ctrl-Z (eller CMD-Z) i textrutan", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Se en fullständig lista över regler", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Ett fel uppstod medan du tittade på filen", - "description": "The label of live-reload error" - }, - "liveReloadLabel": { - "message": "Uppdaterar i realtid", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Ikoner i 'Tillämpad för' kolumnen", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Nedtonade", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus använder en extern tjänst https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filter", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installerade stilar", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Antal tillämpad-för objekt", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "som Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Ny hantera UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Endast inaktiverade stilar", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Endast aktiverade stilar", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Endast externa stilar", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Endast lokalt skapade stilar", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(stilen som inte är installerade via en userstyles.org-sida)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Endast icke-Usercss-stilar", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Endast med uppdateringar eller problem", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Endast Usercss-stilar", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "Visa antalet aktiva stilar", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Ogiltig @var-kryssruta: värdet måste vara 0 eller 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Ogiltig @var-färg: $color$ är inte en färg", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "Ogiltig @var-$type$: värdet måste vara ett tal eller en matris", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Ogiltig @var-$type$: flera enheter definieras", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Ogiltig @var-$type$: matrisen innehåller för många objekt", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "Ogiltig @var-$type$: objekt i matrisen måste vara nummer, sträng eller null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "Ogiltig @var-$type$: standardvärdet är null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "Ogiltig @var-$type$: standardvärdet är lägre än det lägsta", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "Ogiltig @var-$type$: standardvärdet är större än det maximala", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "Ogiltig @var-$type$: standardvärdet är inte en multipel av steget", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "Ogiltig @var-$type$: \"$units$\" är inte en giltig enhet", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "Ogiltig @var-markering: standardvärdet måste vara en matris eller ett objekt", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Ogiltig @var-markering: värden inuti matrisen/objektet måste vara en sträng", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Ogiltig @var-markering: alternativlistan är tom", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Ogiltig @var-markering: alternativetikett är tom", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Ogiltig @var-markering: flera standardalternativ definieras", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Ogiltig @var-markering: alternativnamn dupliceras", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Ogiltig @var-markering: värdet finns inte i alternativlistan", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Ogiltigt webbadressprotokoll. Endast http och https är tillåtna: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "Ogiltigt versionsnummer. Värdet matchar inte SemVer-mönstret: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "Förvänta dig ett nummer", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Förvänta dig en citerad sträng", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Förvänta dig ett ord", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Förvänta tecken: $chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "Förvänta EOT-data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Obligatoriska metadata saknas: $keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "Ogiltig JSON: $literal$ är inte en giltig JSON-bokstav", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "Okända metadata: $key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "Okänd @$varkey$ typ: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "Okänd @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "Inga stilar installerade för denna webbplats.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Rad:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Hantera", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Alternativ", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Öppna stilhanteraren", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Åtgärder", - "description": "" - }, - "optionsAdvanced": { - "message": "Avancerat", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Lägg till \"Ta bort\" i redigeringsmenyn", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Exponera Iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exponerar toppdomänen i varje iframe.\nAktiverar skriva Iframe-specifik CSS så här:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Skriv ny stil som Usercss", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Bakgrundsfärg när inaktiverad", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Bakgrundsfärg", - "description": "" - }, - "optionsCheck": { - "message": "Uppdatera stilar", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Leta efter och installera alla tillgängliga uppdateringar", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Bricka på verktygsfältsikonen", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ikon i verktygsfältet", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Uppdateringar", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synkronisera till molnet", - "description": "" - }, - "optionsHeading": { - "message": "Alternativ", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Mörka webbläsarteman", - "description": "" - }, - "optionsIconLight": { - "message": "Ljusa webbläsarteman", - "description": "" - }, - "optionsOpen": { - "message": "Öppna", - "description": "" - }, - "optionsOpenManager": { - "message": "Hantera stilar", - "description": "" - }, - "optionsPopupWidth": { - "message": "Bredd på popup (i pixlar)", - "description": "" - }, - "optionsReset": { - "message": "Återställ alternativen till standard", - "description": "" - }, - "optionsResetButton": { - "message": "Återställ alternativ", - "description": "" - }, - "optionsSubheading": { - "message": "Mer alternativ", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "När du importerar säkerhetskopior av stilar från gammal version eller från Stylish, gör en engångskontroll för uppdateringar manuellt i stilhanteraren för att säkerställa att alla stilar uppdateras.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle automatisk uppdateringsintervall i timmar (ange 0 för att inaktivera)", - "description": "" - }, - "optionsSyncNone": { - "message": "Inga", - "description": "" - }, - "optionsSyncConnect": { - "message": "Anslut", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Koppla från", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Synkronisera nu", - "description": "" - }, - "optionsSyncLogin": { - "message": "Logga in", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Synkroniserar...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Ansluter..", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Ansluten", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Kopplar från...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Frånkopplad", - "description": "" - }, - "paginationCurrent": { - "message": "Aktuell sida", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Uppskattat antal sidor", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Nästa sida", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Föregående sida", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Totalt sidor", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus misslyckades med att tolka Usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Sortera om format i popup efter växling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Lägg till vita kanter på sidorna", - "description": "" - }, - "popupBordersTooltip": { - "message": "Användbar för mörka teman i nya Chrome eftersom det inte längre målar sidokanterna", - "description": "" - }, - "popupHotkeysTooltip": { - "message": "Klicka för att se tillgängliga snabbtangenter", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Skift-klick eller högerklick öppnar hanteraren med stilar som gäller för aktuell webbplats", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Åtgärdsmeny", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInWindow": { - "message": "Öppna redigeraren i ett nytt fönster", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Också aktiverad genom att ta bort redigeringsfliken från ett webbläsarfönster,\noch inaktiverad genom att fästa en enda redigeringsflik i ett annat fönster.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stilar före kommandon", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Antalet aktiva stilar för den nuvarande webbplatsen", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Förhandsvisning i realtid", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Tillämpar tillfälligt ändringarna utan att spara.\nSpara stilen för att göra ändringarna permanenta.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Ersätt", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Ersätt alla", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Ersätt med", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importera stilar", - "description": "" - }, - "search": { - "message": "Sök", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Skiftlägeskänslig", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchNumberOfResults": { - "message": "Antal matchningar", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Antal matchningar i kod och tillämpad-för-värden", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchRegexp": { - "message": "Använd /re/ för regexp-sökning", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Installationer totalt", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Inga stilar hittades för denna webbplats.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "Formatet är installerat men den gäller inte den aktuella webbadressen.", - "description": "" - }, - "searchResultRating": { - "message": "Betyg", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Uppdaterad", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Installationer veckovis", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Alla", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS-kod", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesMatchUrl": { - "message": "Efter webbadress", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesName": { - "message": "Namn", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Lägg till ytterligare en sektion", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Ta bort sektion", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Återställ borttagen sektion", - "description": "Label for the button to restore a removed section" - }, - "shortcuts": { - "message": "Genvägar", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Ställ in tangentbordsgenvägar", - "description": "" - }, - "sortDateNewestFirst": { - "message": "Nyaste först", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "äldsta först", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Välj en sort som ska tillämpas på de installerade stilarna", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titel stigande", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titel fallande", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelpTitle": { - "message": "Sortera innehåll", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp:en är ogiltig", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Försköna", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Tips: högerklicka på knappen \"Försköna\" eller använd tangentbordsgenvägen som definieras nedan för att försköna utan att visa denna panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyPreserveNewlines": { - "message": "Bevara nya rader", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Återgå till hantera", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Du har gjort ändringar i denna stil utan att spara.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Aktiverad", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Import av Mozilla-format misslyckades", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Klistra in Mozilla-formatkoden", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Installera '$stylename$' in i Stylus?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "Det gick inte att installera userstyle!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' är redan installerad. Skriva över?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "Ange ett namn", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Stil tillämpades inte på grund av felaktig användning av \"regexp()\"", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Några \"regexp()\"-regler som inte alls kunde sammanställas.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Denna stil använder delvis matchande regexps i strid med CSS4 @dokumentspecifikation som kräver en fullständig webbadressmatchning. De berörda CSS-sektionerna tillämpades inte på sidan. Denna stil skapades förmodligen i Stylish-for-Chrome som felaktigt kontrollerar 'regexp()'-regler sedan den allra första versionen (känt fel).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Antal avsnitt som inte tillämpas på grund av felaktig användning av \"regexp()\"", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp-test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matchande flikar", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Ogiltiga regexps hoppades över", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Inga matchande flikar", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestPartial": { - "message": "Matchar inte helt, hoppades därför över", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista över matchande öppnade flikar (klicka på webbadressen för att fokusera på dess flik)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Spara", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla-formatet av koden kan skickas till userstyle.org och användas med klassikern Stylish för Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stil i Mozilla-format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Är du säker på att du vill uppdatera '$stylename$'?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "Stilen ändras utanför redigeraren. Vill du uppdatera stilen?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus fungerar inte på sidor som denna.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Som en säkerhetsåtgärd förbjuder webbläsaren tillägg från att påverka dess inbyggda sidor (som chrome://version, den vanliga nya fliksidan från Chrome 61, about:addons och så vidare) samt andra tilläggssidor. Varje webbläsare begränsar också tillgången till sina egna tilläggsgalleri (som Chrome Web Store eller AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Värdet kan inte sparas. Försök att minska mängden text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "Växla stil", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Ångra", - "description": "Button label" - }, - "undoGlobal": { - "message": "Ångra i alla sektioner", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox förbjuder åtkomst till webbplatsen.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "För att tillåta åtkomst öppna , högerklicka på listan, klicka på \"Ny\", sedan \"Boolean\", klistra in och klicka på OK, , OK, uppdatera -sidan.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "I Firefox 60 och senare måste du också ta bort AMO-domän från i .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Endast Firefox 59 och nyare kan konfigureras för att tillåta WebExtensions att lägga till stilelement på CSP-skyddade webbplatser som den här.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Kunde inte kommunicera med sidan. Uppdatera fliken.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus kan endast komma åt fil:// webbadresser om du aktiverar motsvarande kryssruta för Stylus-tillägg på chrome://extensions-sidan.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus kan inte komma åt vissa filtyper (t.ex. pdf- & json-filer).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Inga uppdateringar hittades.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Vissa uppdaterbara stilar kontrollerades inte för att undvika att förlora eventuella lokala redigeringar. Uppdateringar kan tvingas genom att kontrollera individuellt, eller genom att köra en annan kontroll för alla stilar (lokala redigeringar kommer att skrivas över).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Uppdateringen misslyckades: servern svarade med kod $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Uppdateringen misslyckades: server onåbar.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historik över uppdateringskontroller", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Installera uppdatering (lokala redigeringar kommer att skrivas över)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Att tvinga en uppdatering kommer att skriva över alla lokala ändringar.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Denna stil redigerades lokalt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Denna stil kan ha redigerats lokalt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stilen är uppdaterad.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Uppdatering slutförd.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Uppdateringar installerade:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Vänligen ändra värdet på @name eller @ namespace för att undvika att skriva över en befintlig stil.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Stilen uppdaterades eller togs bort efter att konfigurationsdialogrutan visades. Dessa variabler sparades inte för att undvika att förstöra stilens metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Ange @name i koden", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Ersätt standardmallen för nya Usercss-stilar med den aktuella koden?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Tom @name ersätter standardmallen", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Lägg in kod här...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Versionen är äldre än den installerade stilen.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Skriv stil för:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "denna webbadress", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox exportering", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Import/export av Dropbox ersätts av en mer avancerad synkronisering av format på sidan med alternativ.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox importering", - "description": "" - }, - "overwriteFileExport": { - "message": "Vill du skriva över en befintlig fil?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Filen sparades", - "description": "" - }, - "noFileToImport": { - "message": "För att importera dina stilar bör du exportera dem först.", - "description": "" - }, - "connectingDropbox": { - "message": "Ansluter Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Anslutning till Dropbox är endast tillgänglig i appar installerade direkt från webbutiken", - "description": "" - }, - "gettingStyles": { - "message": "Hämtar alla format...", - "description": "" - }, - "zipStyles": { - "message": "Packar stilar...", - "description": "" - }, - "unzipStyles": { - "message": "Packar upp stilar...", - "description": "" - }, - "readingStyles": { - "message": "Läsar format...", - "description": "" - }, - "uploadingFile": { - "message": "Skickar filen...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/te/messages.json b/_locales/te/messages.json index 5bdcd57f..304d8337 100644 --- a/_locales/te/messages.json +++ b/_locales/te/messages.json @@ -1,67 +1,1586 @@ { - "addStyleLabel": { - "message": "క్రొత్త స్టైల్ వ్రాయండి", - "description": "Label for the button to go to the add style page" - }, - "appliesAdd": { - "message": "చేర్చు", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "వేటికి వర్తిస్తుంది; $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Add Style", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "చేర్చు", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "వేటికి వర్తిస్తుంది; $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "ఇంకా మరిన్ని", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs on the domain", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Applies to", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs matching the regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "తొలగించు", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specify", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "అన్నిటికీ", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs starting with", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Apply all updates", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Check all styles for updates", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Check for update", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Checking...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "మీరు నజంగానే ఈ శైలిని తొలగించాలనుకుంటున్నారా?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "తొలగించు", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "అచేతనించు", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit Style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "మార్చు", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "చేతనించు", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "సహాయం", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "స్థాపిత శైలులు", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "స్టైలిష్", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "భద్రపరచు", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "క్రొత్త స్టైల్ వ్రాయండి", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "ఇంకా మరిన్ని", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesRemove": { - "message": "తొలగించు", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesToEverything": { - "message": "అన్నిటికీ", - "description": "Text displayed for styles that apply to all sites" - }, - "deleteStyleConfirm": { - "message": "మీరు నజంగానే ఈ శైలిని తొలగించాలనుకుంటున్నారా?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "తొలగించు", - "description": "Label for the button to delete a style" - }, - "disableStyleLabel": { - "message": "అచేతనించు", - "description": "Label for the button to disable a style" - }, - "editStyleLabel": { - "message": "మార్చు", - "description": "Label for the button to go to the edit style page" - }, - "enableStyleLabel": { - "message": "చేతనించు", - "description": "Label for the button to enable a style" - }, - "helpAlt": { - "message": "సహాయం", - "description": "Alternate text for help buttons" - }, - "manageHeading": { - "message": "స్థాపిత శైలులు", - "description": "Heading for the manage page" - }, - "manageTitle": { - "message": "స్టైలిష్", - "description": "Title for the manage page" - }, - "styleSaveLabel": { - "message": "భద్రపరచు", - "description": "Label for save button for style editing" - } } \ No newline at end of file diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 62b662a2..9c323fed 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -1,891 +1,1586 @@ { - "addStyleLabel": { - "message": "Yeni stil oluşturun", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "Stil Ekleyin", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opaklık", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Ekleyin", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Şuraya uygulanır: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "Stil Ekleyin", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opaklık", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Ekleyin", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Şuraya uygulanır: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "ve diğerleri", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "Alan adındaki URLler", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Bu bölümdeki kodun hangi URLlere uygulanacağını sınırlamak için 'Şuraya uygulanır' denetimlerini kullanın.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Şuraya uygulanır", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Küçültülmüş CSS ile çalışmaz", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "regexp ile eşleşen URL'ler", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Kaldır", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Belirt", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Her şey", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "Şununla başlayan URL'ler:", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Tüm güncellemeleri uygula", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Yazar", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Yedek", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Bir dosya seçin veya bu sayfaya sürükleyip bırakın.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Dışa aktar", + "description": "" + }, + "checkAllUpdates": { + "message": "Tüm stiller için güncellemeleri denetle", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Tekrar kontrol et, herhangi bir stil düzenlemedim!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Güncellemeleri denetle", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Kontrol ediliyor...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Kaldırmak için tıklayın", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Parantezleri ve tırnak işaretlerini otomatik olarak kapat", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "()[]{}''\"\" Açılışlarından birini yazarken otomatik olarak bir kapanış çifti ekleyin", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Yazarken tamamla", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "CSS renk seçicileri", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Akıllı girintili tab kullan", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Tuşeşlem", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Kelime kaydırma", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Vurgulama", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Yalnızca seçim", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "İmleç altındaki token", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Yüksekliği en üst düzeye çıkarmak/geri yüklemek için çift tıklayın", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Çift tıklamak tokenleri seçer", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Token örnekleri: .foo-bar-2 #aabbcc 0.32 !important\nDevre dışı bırakıldığında: noktalama işareti ile ayrılmış kelimeler seçilir.", + "description": "" + }, + "cm_smartIndent": { + "message": "Akıllı girinti kullanma", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab büyüklüğü", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Tema", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Format değişimleri: HEX -> RGB -> HSL.\nYönü ters çevirmek için Shift tuşunu basılı tutup tıklatın.\nAyrıca PgUp (PageUp), PgDn (PageDown) tuşları ile.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Renk seçiciyi aç", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "değişiklikte", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Otomatik kaydetme ve değişiklikleri otomatik olarak uygulama", + "description": "" + }, + "configureStyle": { + "message": "Yapılandır", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Ana sayfada yapılandır", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "İptal", + "description": "" + }, + "confirmClose": { + "message": "Kapat", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Öntanımlıyı kullan", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Sil", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Değişiklikleri iptal et?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "Hayır", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "Tamam", + "description": "" + }, + "confirmSave": { + "message": "Kaydet", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Dur", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Evet", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Kopyalandı", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Kopyala", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Kurulum tarihi", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Güncelleme tarihi", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "Stylus veritabanı kullanılırken bir hata oluştu. Olası çözümler içeren bir web sayfasını ziyaret etmek ister misiniz?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "öntanımlı", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Bu stili silmek istediğinizden emin misiniz?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Sil", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Kullanıcı stil yöneticisi Stylus ile Web'in stilini yenileyin. Stylus Google, Facebook, YouTube, Orkut ve diğer pek çok site için temalar ve görünüm yüklemenize imkân tanır.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Tüm stilleri kapat", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Devre dışı bırak", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "İçe aktarmak için yedek dosyanızı bu sayfada herhangi bir yere bırakın.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "Dosyayı yüklemek için sekme şeridine (sekme başlıklarının gösterildiği alan) bırakın.", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Sil", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Satıra git (veya satır:sütun)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Stili Düzenle", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Düzenle", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "$stylename$ Stilini Düzenleyin", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Etkinleştir", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Mevcut alan adını hariç tut", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Mevcut URL'yi hariç tut", + "description": "" + }, + "exportLabel": { + "message": "Dışa aktar", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Geribildirim", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Anasayfa", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "Harici bağlantı", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Destek", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Usercss belgeleri", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "Toplam $numTotal$ gösterilen $numShown$", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Şu anda uygulanan filtreler hiçbir stille eşleşmiyor", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Stil bul", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Bu site için başka stiller bul", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Hizada", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Arama sonuçlarını bu pencerede görüntüleyin.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Ekle", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Klon", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Devre dışı", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Etkin", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Hata", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "Geçmiş", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Sonraki", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Önceki", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Yenile", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Kaydedildi", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Başlık", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Bilinmiyor", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Yardım", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Bir komut adı yazın", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Bir kısayol tuşuna basın", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "Bu ana bilgisayar, kullanılan tarayıcının mevcut sürümündeki bir hata nedeniyle devre dışı bırakıldı", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Stile ekle", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "İçe aktarılan stili geçerli stile ekleme", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "İçe aktar", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Stilin üzerine yaz", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Geçerli stilin içeriğini atın ve içe aktarılan stil ile üzerine yazın", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "eklendi", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "hem meta bilgi hem de kod güncellendi", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "güncellenmiş kod", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "İçe aktarma geri alındı", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Stil kur", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Stil kuruldu", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Stili yeniden kur", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Stili güncelle", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Güncellemeyi yükle", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Güncellemeleri denetle", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "Lisans", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Destek al", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Viki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Çevir", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Sorunlar", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filtreler", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Yüklü Stiller", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Yalnızca etkin stiller", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Etkin stil sayısını göster", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "Bu site için hiçbir stil yüklenmedi.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Yüklü stilleri yönet", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Stil yöneticisini aç", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "İşlemler", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Etkin değilken arkaplan rengi", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Arkaplan rengi", + "description": "" + }, + "optionsCheck": { + "message": "Stilleri güncelle", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Seçenekler", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Aç", + "description": "" + }, + "optionsOpenManager": { + "message": "Stilleri yönet", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "Daha Fazla Seçenek", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Bağlan", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Bağlantıyı kes", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Giriş yap", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Bağlanılıyor...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Bağlandı", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Bağlantı kesiliyor...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Bağlantı kesildi", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Şimdiki sayfa", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Tahmini sayfa sayısı", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Sonraki sayfa", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Önceki sayfa", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Toplam sayfa", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Canlı önizleme", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Değiştir", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Hepsini değiştir", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Şununla değiştir", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Stilleri içe aktar", + "description": "" + }, + "search": { + "message": "Ara", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Toplam kurulum sayısı", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "Bu site için stil bulunamadı.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Haftalık kurulum sayısı", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Başka bölüm ekle", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Kod", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Bölümü kaldır", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Kısayollar", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Klavye kısayolları tanımla", + "description": "" + }, + "sortDateNewestFirst": { + "message": "önce en yeniler", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "önce en eskiler", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "İçeriği sırala", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Güzelleştir", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Yönetim sayfasına dön", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "Bu stilde yaptığınız, kaydedilmemiş değişiklikler var.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Etkin", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla biçemiyle yazılmış kodu yapıştır", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "'$stylename$' Stylus'e yüklensin mi?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Bir ad girin", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Biçemi", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Kaydet", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Kodun Mozilla biçimi, Firefox için Stylish ile kullanılabilir ve userstyles.org sitesine gönderilebilir.", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla biçeminde bir stil", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "\";$stylename$\" stilini güncelleştirmek istiyor musunuz?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus bunun gibi sayfalarda çalışmaz.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Geri al", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Güncelleme bulunamadı.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Güncellenemedi: sunucu yanıt olarak $code$ kodunu gönderdi.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Güncellenemedi: sunucuya erişilemiyor.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "Güncelleme kontrolü geçmişi", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Bu stil yerel olarak düzenlenmiş olabilir.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Stil güncel.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Güncelleme tamamlandı.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Kurulan güncellemeler:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Mevcut bir stilin üzerine yazmaktan kaçınmak için lütfen @name veya @ ad alanının değerini değiştirin.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "Stil, yapılandırma iletişim kutusu gösterildikten sonra güncellendi veya silindi. Bu değişkenler, stilin meta verilerini bozmamak için kaydedilmedi:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Kodda @name belirtin", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Yeni Usercss stilleri için varsayılan şablonu geçerli kodla değiştir?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Boş @name, varsayılan şablonun yerini alır", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Kodu buraya ekle...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "Sürüm, kurulu stillerden daha eski.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Şunun için stil yaz:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "bu URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox'tan aktar", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox içe/dışa aktarma, seçenekler sayfasında daha gelişmiş bir stil senkronizasyonu ile değiştirilir.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox'a aktar", + "description": "" + }, + "overwriteFileExport": { + "message": "Mevcut bir dosyanın üzerine yazmak istiyor musunuz?", + "description": "" + }, + "exportSavedSuccess": { + "message": "Dosya başarıyla kaydedildi", + "description": "" + }, + "noFileToImport": { + "message": "Stillerinizi içe aktarmak için önce dışa aktarmanız gerekir.", + "description": "" + }, + "connectingDropbox": { + "message": "Dropbox'a bağlanıyor...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Dropbox'a bağlanmak yalnızca doğrudan web mağazasından yüklenen uygulamalarda kullanılabilir", + "description": "" + }, + "gettingStyles": { + "message": "Tüm stiller alınıyor...", + "description": "" + }, + "zipStyles": { + "message": "Stiller sıkıştırılıyor...", + "description": "" + }, + "unzipStyles": { + "message": "Stiller açılıyor...", + "description": "" + }, + "readingStyles": { + "message": "Stiller okunuyor...", + "description": "" + }, + "uploadingFile": { + "message": "Dosya Yükleniyor...", + "description": "" + }, + "addStyleLabel": { + "message": "Yeni stil oluşturun", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "ve diğerleri", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Alan adındaki URLler", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Bu bölümdeki kodun hangi URLlere uygulanacağını sınırlamak için 'Şuraya uygulanır' denetimlerini kullanın.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Şuraya uygulanır", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetWarning": { - "message": "Küçültülmüş CSS ile çalışmaz", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "regexp ile eşleşen URL'ler", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Kaldır", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesSpecify": { - "message": "Belirt", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Her şey", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlPrefixOption": { - "message": "Şununla başlayan URL'ler:", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Tüm güncellemeleri uygula", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Yazar", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Yedek", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Bir dosya seçin veya bu sayfaya sürükleyip bırakın.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Dışa aktar", - "description": "" - }, - "checkAllUpdates": { - "message": "Tüm stiller için güncellemeleri denetle", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Tekrar kontrol et, herhangi bir stil düzenlemedim!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Güncellemeleri denetle", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrol ediliyor...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Kaldırmak için tıklayın", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Parantezleri ve tırnak işaretlerini otomatik olarak kapat", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "()[]{}''\"\" Açılışlarından birini yazarken otomatik olarak bir kapanış çifti ekleyin", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Yazarken tamamla", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSS renk seçicileri", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Akıllı girintili tab kullan", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tuşeşlem", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Kelime kaydırma", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "Vurgulama", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Yalnızca seçim", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "İmleç altındaki token", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Yüksekliği en üst düzeye çıkarmak/geri yüklemek için çift tıklayın", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Çift tıklamak tokenleri seçer", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Token örnekleri: .foo-bar-2 #aabbcc 0.32 !important\nDevre dışı bırakıldığında: noktalama işareti ile ayrılmış kelimeler seçilir.", - "description": "" - }, - "cm_smartIndent": { - "message": "Akıllı girinti kullanma", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab büyüklüğü", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerSwitchFormatTooltip": { - "message": "Format değişimleri: HEX -> RGB -> HSL.\nYönü ters çevirmek için Shift tuşunu basılı tutup tıklatın.\nAyrıca PgUp (PageUp), PgDn (PageDown) tuşları ile.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Renk seçiciyi aç", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "değişiklikte", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Otomatik kaydetme ve değişiklikleri otomatik olarak uygulama", - "description": "" - }, - "configureStyle": { - "message": "Yapılandır", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Ana sayfada yapılandır", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "İptal", - "description": "" - }, - "confirmClose": { - "message": "Kapat", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Öntanımlıyı kullan", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Sil", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Değişiklikleri iptal et?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Hayır", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "Tamam", - "description": "" - }, - "confirmSave": { - "message": "Kaydet", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Dur", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Evet", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Kopyalandı", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopyala", - "description": "Tooltip for elements which can be copied" - }, - "dateInstalled": { - "message": "Kurulum tarihi", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Güncelleme tarihi", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylus veritabanı kullanılırken bir hata oluştu. Olası çözümler içeren bir web sayfasını ziyaret etmek ister misiniz?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "öntanımlı", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Bu stili silmek istediğinizden emin misiniz?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Sil", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Kullanıcı stil yöneticisi Stylus ile Web'in stilini yenileyin. Stylus Google, Facebook, YouTube, Orkut ve diğer pek çok site için temalar ve görünüm yüklemenize imkân tanır.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Tüm stilleri kapat", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Devre dışı bırak", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "İçe aktarmak için yedek dosyanızı bu sayfada herhangi bir yere bırakın.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Dosyayı yüklemek için sekme şeridine (sekme başlıklarının gösterildiği alan) bırakın.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Sil", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Satıra git (veya satır:sütun)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Stili Düzenle", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Düzenle", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "$stylename$ Stilini Düzenleyin", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "Etkinleştir", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Mevcut alan adını hariç tut", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Mevcut URL'yi hariç tut", - "description": "" - }, - "exportLabel": { - "message": "Dışa aktar", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Geribildirim", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Anasayfa", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Harici bağlantı", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Destek", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss belgeleri", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "Toplam $numTotal$ gösterilen $numShown$", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "Şu anda uygulanan filtreler hiçbir stille eşleşmiyor", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Stil bul", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Bu site için başka stiller bul", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Hizada", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Arama sonuçlarını bu pencerede görüntüleyin.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Ekle", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klon", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Devre dışı", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Etkin", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Hata", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Geçmiş", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Sonraki", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Önceki", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Yenile", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Kaydedildi", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Başlık", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Bilinmiyor", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Yardım", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Bir komut adı yazın", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Bir kısayol tuşuna basın", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Bu ana bilgisayar, kullanılan tarayıcının mevcut sürümündeki bir hata nedeniyle devre dışı bırakıldı", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Stile ekle", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "İçe aktarılan stili geçerli stile ekleme", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "İçe aktar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importReplaceLabel": { - "message": "Stilin üzerine yaz", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Geçerli stilin içeriğini atın ve içe aktarılan stil ile üzerine yazın", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "eklendi", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "hem meta bilgi hem de kod güncellendi", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "güncellenmiş kod", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportUndoneTitle": { - "message": "İçe aktarma geri alındı", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Stil kur", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stil kuruldu", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Stili yeniden kur", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Stili güncelle", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Güncellemeyi yükle", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFromLabel": { - "message": "Güncellemeleri denetle", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Lisans", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Destek al", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkStylusWiki": { - "message": "Viki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Çevir", - "description": "Transifex link text on the manage page" - }, - "linterIssues": { - "message": "Sorunlar", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "manageFilters": { - "message": "Filtreler", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Yüklü Stiller", - "description": "Heading for the manage page" - }, - "manageOnlyEnabled": { - "message": "Yalnızca etkin stiller", - "description": "Checkbox to show only enabled styles" - }, - "menuShowBadge": { - "message": "Etkin stil sayısını göster", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "noStylesForSite": { - "message": "Bu site için hiçbir stil yüklenmedi.", - "description": "Text displayed when no styles are installed for the current site" - }, - "openManage": { - "message": "Yüklü stilleri yönet", - "description": "Link to open the manage page." - }, - "openStylesManager": { - "message": "Stil yöneticisini aç", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "İşlemler", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Etkin değilken arkaplan rengi", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Arkaplan rengi", - "description": "" - }, - "optionsCheck": { - "message": "Stilleri güncelle", - "description": "" - }, - "optionsHeading": { - "message": "Seçenekler", - "description": "Heading for options section on manage page." - }, - "optionsOpen": { - "message": "Aç", - "description": "" - }, - "optionsOpenManager": { - "message": "Stilleri yönet", - "description": "" - }, - "optionsSubheading": { - "message": "Daha Fazla Seçenek", - "description": "Subheading for options section on manage page." - }, - "optionsSyncConnect": { - "message": "Bağlan", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Bağlantıyı kes", - "description": "" - }, - "optionsSyncLogin": { - "message": "Giriş yap", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Bağlanılıyor...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Bağlandı", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Bağlantı kesiliyor...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Bağlantı kesildi", - "description": "" - }, - "paginationCurrent": { - "message": "Şimdiki sayfa", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Tahmini sayfa sayısı", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Sonraki sayfa", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Önceki sayfa", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Toplam sayfa", - "description": "" - }, - "previewLabel": { - "message": "Canlı önizleme", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "replace": { - "message": "Değiştir", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Hepsini değiştir", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Şununla değiştir", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Stilleri içe aktar", - "description": "" - }, - "search": { - "message": "Ara", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Toplam kurulum sayısı", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Bu site için stil bulunamadı.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultWeeklyCount": { - "message": "Haftalık kurulum sayısı", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "sectionAdd": { - "message": "Başka bölüm ekle", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Bölümü kaldır", - "description": "Label for the button to remove a section" - }, - "shortcuts": { - "message": "Kısayollar", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Klavye kısayolları tanımla", - "description": "" - }, - "sortDateNewestFirst": { - "message": "önce en yeniler", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "önce en eskiler", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortStylesHelpTitle": { - "message": "İçeriği sırala", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBeautify": { - "message": "Güzelleştir", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleCancelEditLabel": { - "message": "Yönetim sayfasına dön", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Bu stilde yaptığınız, kaydedilmemiş değişiklikler var.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Etkin", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla biçemiyle yazılmış kodu yapıştır", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "'$stylename$' Stylus'e yüklensin mi?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleMissingName": { - "message": "Bir ad girin", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Biçemi", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleSaveLabel": { - "message": "Kaydet", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Kodun Mozilla biçimi, Firefox için Stylish ile kullanılabilir ve userstyles.org sitesine gönderilebilir.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla biçeminde bir stil", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "\";$stylename$\" stilini güncelleştirmek istiyor musunuz?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "stylusUnavailableForURL": { - "message": "Stylus bunun gibi sayfalarda çalışmaz.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "undo": { - "message": "Geri al", - "description": "Button label" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Güncelleme bulunamadı.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Güncellenemedi: sunucu yanıt olarak $code$ kodunu gönderdi.", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "Güncellenemedi: sunucuya erişilemiyor.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Güncelleme kontrolü geçmişi", - "description": "" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Bu stil yerel olarak düzenlenmiş olabilir.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stil güncel.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Güncelleme tamamlandı.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Kurulan güncellemeler:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Mevcut bir stilin üzerine yazmaktan kaçınmak için lütfen @name veya @ ad alanının değerini değiştirin.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Stil, yapılandırma iletişim kutusu gösterildikten sonra güncellendi veya silindi. Bu değişkenler, stilin meta verilerini bozmamak için kaydedilmedi:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Kodda @name belirtin", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Yeni Usercss stilleri için varsayılan şablonu geçerli kodla değiştir?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Boş @name, varsayılan şablonun yerini alır", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Kodu buraya ekle...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Sürüm, kurulu stillerden daha eski.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Şunun için stil yaz:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "bu URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox'tan aktar", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox içe/dışa aktarma, seçenekler sayfasında daha gelişmiş bir stil senkronizasyonu ile değiştirilir.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox'a aktar", - "description": "" - }, - "overwriteFileExport": { - "message": "Mevcut bir dosyanın üzerine yazmak istiyor musunuz?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Dosya başarıyla kaydedildi", - "description": "" - }, - "noFileToImport": { - "message": "Stillerinizi içe aktarmak için önce dışa aktarmanız gerekir.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropbox'a bağlanıyor...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropbox'a bağlanmak yalnızca doğrudan web mağazasından yüklenen uygulamalarda kullanılabilir", - "description": "" - }, - "gettingStyles": { - "message": "Tüm stiller alınıyor...", - "description": "" - }, - "zipStyles": { - "message": "Stiller sıkıştırılıyor...", - "description": "" - }, - "unzipStyles": { - "message": "Stiller açılıyor...", - "description": "" - }, - "readingStyles": { - "message": "Stiller okunuyor...", - "description": "" - }, - "uploadingFile": { - "message": "Dosya Yükleniyor...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json index 9e26dfee..d058a54d 100644 --- a/_locales/uk/messages.json +++ b/_locales/uk/messages.json @@ -1 +1,1586 @@ -{} \ No newline at end of file +{ + "addStyleTitle": { + "message": "Add Style", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "Opacity", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "Add", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "Applies to: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "and more", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "URLs on the domain", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "Applies to", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "Display 'Applies to' info", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "Does not work with minified CSS", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs matching the regexp", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "Remove", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "Can not remove last 'applies to' entry", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "Specify", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "Everything", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "URLs starting with", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "Apply all updates", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "Author", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "Backup", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "Select a file or drag and drop to this page.", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "Export styles", + "description": "" + }, + "checkAllUpdates": { + "message": "Check all styles for updates", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "Check again, I didn't edit any styles!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "Check for update", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "Checking...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "Click to uninstall", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "Autoclose brackets and quotes", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplete on typing", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "Colorpickers for CSS colors", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "Use tabs with smart indentation", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "Keymap", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "Word wrap", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "Highlight", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "Selection only", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "Token under cursor", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximize/restore the height", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "Double-clicking selects tokens", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", + "description": "" + }, + "cm_smartIndent": { + "message": "Use smart indentation", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab size", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "Theme", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "Right-click a swatch to cycle through its source lines", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "Open color picker", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "on change", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "Autosave and apply changes automatically", + "description": "" + }, + "configureStyle": { + "message": "Configure", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "Configure on homepage", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "Cancel", + "description": "" + }, + "confirmClose": { + "message": "Close", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "Use default", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "Delete", + "description": "" + }, + "confirmDiscardChanges": { + "message": "Discard the changes?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "No", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "OK", + "description": "" + }, + "confirmSave": { + "message": "Save", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "Stop", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "Yes", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "Copied to clipboard", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "Copy to clipboard", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "Enter a custom name here to rename the style in UI without breaking its updates", + "description": "" + }, + "customNameResetHint": { + "message": "Stop using customized name, switch to the style's own name", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$d", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$h", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$m", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$y", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "Date installed", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "Date updated", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "default", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "Are you sure you want to delete this style?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "Delete", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "Turn all styles off", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "Disable", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "Drop your backup file anywhere on this page to import.", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "Delete", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "Goto line (or line:col)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "Edit Style", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "Edit", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "Edit Style $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "Enable", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "Exclude the current domain", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "Exclude the current URL", + "description": "" + }, + "exportLabel": { + "message": "Export", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "Feedback", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "Homepage", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "External link", + "description": "Label for external links" + }, + "externalSupport": { + "message": "Support", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Documentation for Usercss", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ shown of $numTotal$ total", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "Currently applied filters match no styles", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "Find styles", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "Find more styles for this site", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "Inline", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "Display search results inside this window.", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "Add", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "Clone", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "Disabled", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "Enabled", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "Error", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "History", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "Next", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "Previous", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "Reset", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "Saved", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "Title", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "Unknown", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "Help", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "Type a command name", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "Press a hotkey", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "This host has been disabled due to a bug in the current version of the browser being used", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "Append to style", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "Append the imported style to current style", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "Import", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "Potential problem due to @preprocessor", + "description": "" + }, + "importReplaceLabel": { + "message": "Overwrite style", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "Discard contents of current style and overwrite it with the imported style", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "added", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "identical skipped", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "invalid skipped", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "updated both meta info and code", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "updated code", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "updated meta info", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "Finished importing styles", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "Nothing was changed.", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "styles were reverted", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "Import has been undone", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "Install style", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "Style installed", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "Reinstall style", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "Update style", + "description": "Label for update button" + }, + "installUpdate": { + "message": "Install update", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "Currently the style is updated from $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "Check for updates", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "License", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "Get help", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "Get styles", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "Translate", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint doesn't support $preprocessorname$ preprocessor", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "Set $linter$ rules configuration", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "Click to configure this linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "Not saved due to these invalid configuration settings:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "Issues", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "These issues were found by $link$:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "Invalid JSON format", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "See a full list of rules", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "An error occurred while watching the file", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "Keep this tab open to auto-update the style on external changes.", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "Live reload", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons in applies-to column", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "Grayed out", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus uses an external service https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "Filters", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "Installed Styles", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "Number of applies-to items", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "as Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "New manage UI layout", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "Only disabled styles", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "Only enabled styles", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "Only external styles", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "Only locally created styles", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(the styles not installed through a userstyles.org page)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "Only non-Usercss styles", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "Only with updates or issues", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "Only Usercss styles", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "Show active style count", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "Invalid @var checkbox: value must be 0 or 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "Invalid @var color: $color$ is not a color", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "Invalid @var $type$: value must be a number or an array", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "Invalid @var $type$: default value is null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "Invalid @var $type$: default value is larger than the maximum", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "Invalid @var $type$: default value is not a mutiple of the step", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "Invalid @var $type$: '$units$' is not a valid unit", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "Invalid @var select: the default value must be an array or an object", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Invalid @var select: options list is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "Invalid @var select: option label is empty", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Invalid @var select: multiple default options are defined", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Invalid @var select: option name is duplicated", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "Invalid @var select: value doesn't exist in the option list", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "Expect a word", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "Expect characters: $chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "Expect EOT data", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "Missing mandatory metadata: $keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "Invalid JSON: $literal$ is not a valid JSON literal", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "Unknown metadata: $key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "Unknown @preprocessor: $preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "No styles installed for this site.", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "Line:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "Manage", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "Options", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "Open styles manager", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "Actions", + "description": "" + }, + "optionsAdvanced": { + "message": "Advanced", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "Add 'Delete' in editor context menu", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "Expose iframes via HTML[stylus-iframe]", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Write new style as usercss", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "Patch CSP to allow style assets", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "Instant inject mode", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "Background color when disabled", + "description": "" + }, + "optionsBadgeNormal": { + "message": "Background color", + "description": "" + }, + "optionsCheck": { + "message": "Update styles", + "description": "" + }, + "optionsCheckUpdate": { + "message": "Check for and install all available updates", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "Badge on the toolbar icon", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "Toolbar icon", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "Updates", + "description": "" + }, + "optionsCustomizeSync": { + "message": "Sync to cloud", + "description": "" + }, + "optionsHeading": { + "message": "Options", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "Dark browser themes", + "description": "" + }, + "optionsIconLight": { + "message": "Light browser themes", + "description": "" + }, + "optionsOpen": { + "message": "Open", + "description": "" + }, + "optionsOpenManager": { + "message": "Manage styles", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup width (in pixels)", + "description": "" + }, + "optionsReset": { + "message": "Reset the options to default values", + "description": "" + }, + "optionsResetButton": { + "message": "Reset options", + "description": "" + }, + "optionsStylusThemes": { + "message": "Find a Stylus UI theme", + "description": "" + }, + "optionsSubheading": { + "message": "More Options", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", + "description": "" + }, + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", + "description": "" + }, + "optionsSyncNone": { + "message": "None", + "description": "" + }, + "optionsSyncConnect": { + "message": "Connect", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "Disconnect", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "Sync now", + "description": "" + }, + "optionsSyncLogin": { + "message": "Login", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "Pulling style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "Pushing style $loaded$ of $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "Syncing...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "Connected", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "Current page", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "Estimated number of pages", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "Next page", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "Previous page", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "Total pages", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus failed to parse usercss:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "Resort styles in popup after toggling", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "Add white borders on the sides", + "description": "" + }, + "popupBordersTooltip": { + "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "Click to see available hotkeys", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift-click or right-click opens manager with styles applicable for current site", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "Action menu", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "Use a simple window (no omnibox)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "Open editor in a new window", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "Styles before commands", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "Number of styles active for the current site", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "Live preview", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "Reload Stylus extension", + "description": "Context menu reload" + }, + "replace": { + "message": "Replace", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "Replace all", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "Replace with", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "Import styles", + "description": "" + }, + "search": { + "message": "Search", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "Case-sensitive", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "Also search global styles", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "Number of matches", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "Number of matches in code and applies-to values", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "Use /re/ syntax for regexp search", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "Total installs", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "No styles found for this site.", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "Rating", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "Updated", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "Weekly installs", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "All", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS code", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "By URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "Metadata", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "Name", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "Add another section", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "Code", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "Remove section", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "Restore removed section", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "Sections", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "Shortcuts", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "Define keyboard shortcuts", + "description": "" + }, + "sortDateNewestFirst": { + "message": "newest first", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "oldest first", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "Select a sort to apply to the installed styles", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "Title Ascending", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "Title Descending", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "Sort contents", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "Regexp is invalid.", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "Beautify", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "Indent @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve new lines", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "Back to manage", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "You've made changes to this style without saving.", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "Enabled", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "Failed to import from Mozilla format", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste the Mozilla-format code", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "Install '$stylename$' into Stylus?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "Enter a name", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Format", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Style was not applied due to its incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "Some 'regexp()' rules that could not be compiled at all.", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "Number of sections not applied due to incorrect usage of 'regexp()'", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "RegExp test", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "Matching tabs", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps skipped", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "No matching tabs", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "Not matching fully, hence skipped", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "List of matching opened tabs (click on URL to focus its tab)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "Save", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Style in Mozilla format", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "Are you sure you want to update '$stylename$'?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "The style is changed outside of the editor. Would you like to reload the style?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus doesn't work on pages like this.", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "Toggle style", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "Undo", + "description": "Button label" + }, + "undoGlobal": { + "message": "Undo in all sections", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox forbids access to the site.", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "Could not communicate with the page. Try reloading the tab.", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No updates found.", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "Update failed: server responded with code $code$.", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "Update failed: server unreachable.", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "History of update checks", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "Install update (local edits will be overwritten)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "Forcing an update will overwrite any local edits.", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "This style was edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "This style might have been edited locally.", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "Style is up to date.", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "Update completed.", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "Updates installed:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "Specify @name in the code", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Replace the default template for new Usercss styles with the current code?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "Empty @name replaces the default template", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insert code here...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "The version is older than the installed style.", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "Write style for: ", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "this URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox Export", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox Import", + "description": "" + }, + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?", + "description": "" + }, + "exportSavedSuccess": { + "message": "File saved with success", + "description": "" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first.", + "description": "" + }, + "connectingDropbox": { + "message": "Connecting Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", + "description": "" + }, + "gettingStyles": { + "message": "Getting all styles...", + "description": "" + }, + "zipStyles": { + "message": "Zipping styles...", + "description": "" + }, + "unzipStyles": { + "message": "Unzipping styles...", + "description": "" + }, + "readingStyles": { + "message": "Reading styles...", + "description": "" + }, + "uploadingFile": { + "message": "Uploading File...", + "description": "" + }, + "addStyleLabel": { + "message": "Write new style", + "description": "Label for the button to go to the add style page" + } +} \ No newline at end of file diff --git a/_locales/zh/messages.json b/_locales/zh/messages.json index d7afa2a1..3325b482 100644 --- a/_locales/zh/messages.json +++ b/_locales/zh/messages.json @@ -1,1763 +1,1586 @@ { - "addStyleLabel": { - "message": "新建样式", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "添加样式", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "添加部分", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "应用于:$applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "添加样式", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "透明度", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "添加部分", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "应用于:$applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "更多", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "域名", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "〔URL〕⠅ 具体固定网址。URL可额外匹配到URL#hash,但反之不行。\n〔前缀〕⠅ url-prefix 以此前缀为起始开头的任何链接。\n〔域名〕⠅ domain 也默认匹配旗下子域名, 域名下任何链接。\n〔正则〕⠅ RegExp 1) 这里的正则会隐形附加 ^ $ 故只能为完整匹配模式, 且在使用懒惰正则也要注意这点;\n      2) 可以不转义 / (导出导入也会自动CSS转义符)\n\n⚠ 1) 这里不支持 * 通配符; 2) 黑名单排除也可到Popup里的 ⠇ 菜单里操作; 3) 在匹配时也要注意iframe框架URL与地址栏URL是不同的哦。\n详见github.com/openstyles/stylus/wiki/Writing-styles", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "应用于:", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "显示应用于部件", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "对经过压缩的 CSS 无效", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "正则", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "删除", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "无法移除最后一个“应用于”项目", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "指定", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "所有页面", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL ", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "前缀", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "应用全部更新", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "作者", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "备份", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "拖拽JSON备份文件到本页面也可导入。", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "导出所有样式", + "description": "" + }, + "checkAllUpdates": { + "message": "检测全部更新", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "我没有修改过任何样式,再检查一次!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "检查更新", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "正在检查更新...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "点击卸载", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "括弧配对", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "自动完成", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "颜色器", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "用Tab智能缩进", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "键盘映射", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "自动换行", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "高亮", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "仅选择区域", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "光标token字段", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "双击可最大化/恢复高度", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "双击选中token字段", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中", + "description": "" + }, + "cm_smartIndent": { + "message": "智能缩进", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "缩进宽度", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "主题", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "右击: 循环跳转到所在行", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "转换格式: HEX → RGB → HSL\n反向转换: Shift+单击 或 PgUp/PgDn", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "打开颜色器", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "即时生效", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "实时预览+自动保存", + "description": "" + }, + "configureStyle": { + "message": "配置", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "通过userstyles.org配置选项", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "取消", + "description": "" + }, + "confirmClose": { + "message": "关闭", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "使用默认值", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "删除", + "description": "" + }, + "confirmDiscardChanges": { + "message": "确定要放弃修改吗?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "否", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "确认", + "description": "" + }, + "confirmSave": { + "message": "保存", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "停止", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "是", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "已复制到粘贴板", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "复制到粘贴板", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "在此自定义本地名称才不影响在线更新", + "description": "" + }, + "customNameResetHint": { + "message": "切换为样式的原始名称", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$天前", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$时前", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$月前", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$年前", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "安装日期", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "更新日期", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "默认", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "确定要删除此样式吗 ??", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "删除", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Stylus 是广受好评的 CSS&UserCSS 用户样式容器! 能够自定义网页样式和在线安装分享等等...", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "禁用所有样式", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "禁用", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "拖放JSON备份文件到管理器页面即可导入!", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "删除", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "跳转至行(或行:列)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "编辑样式", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "编辑", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "修改样式“$stylename$”", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "启用", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "排除当前域名", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "排除当前链接", + "description": "" + }, + "exportLabel": { + "message": "导出", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "反馈", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "主页", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "外部链接", + "description": "Label for external links" + }, + "externalSupport": { + "message": "支持", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "UserCSS 外部文档", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "共$numTotal$个,已显示 $numShown$ 个", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "没有样式匹配当前的过滤器选项", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "查找样式", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "查找该域名的在线样式", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "嵌入此页", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "将搜索结果嵌入到此页面显示", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "添加", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "创建副本", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "禁用", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "已启用", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "错误", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "历史", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "下一个", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "上一个", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "重置", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "已保存", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "标题", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "未知", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "帮助", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "输入命令名称", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "按下热键", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "追加导入", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "以追加的方式来导入", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "导入", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "潜在问题之 @preprocessor 预处理", + "description": "" + }, + "importReplaceLabel": { + "message": "覆盖替换导入", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "完全覆盖的替换导入", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "个样式已被添加", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "已忽略相同样式", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "忽略无效的代码", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "已更新的所有信息和代码", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "代码已更新", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "升级信息", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "样式导入完成", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "导入的样式无效。", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "个样式被还原", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "样式导入被取消", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "安装样式", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "样式安装完成", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "重新安装样式", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "更新样式", + "description": "Label for update button" + }, + "installUpdate": { + "message": "安装更新", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "当前样式更新自 $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "检查更新", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "许可证", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "帮助", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "获取样式", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "翻译", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint 不支持 $preprocessorname$ 预处理器", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "设置 $linter$ 规则", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "配置此Linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "由于配置无效所以未保存:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "问题", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "$link$ 找到了这些问题:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "无效的 JSON 格式", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "查看完整的规则清单", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "查看文件时发生错误", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "动态刷新", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "显示 \"应用于\" 的favicon图标", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "显示为灰色图标", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "过滤器", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "样式管理器", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "显示 \"应用于\" 的数量", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "新建为UserCSS", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "新版管理器", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "只显示 未启用 ", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "只显示 已启用 ", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "只显示 外部安装", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "只显示 本地创建", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(此样式无法通过 userstyles.org 页面进行安装)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "只显示 非UserCSS", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "只显示 可升级的 ", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "只显示 UserCSS", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus管理器", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "计数器角标", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "无效 @var 复选框:赋值必须为 0 或 1 ", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "无效 @var 颜色:$color$不是颜色", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "无效 @var $type$:必须是单个数字或数组", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "无效 @var $type$:多个单位被定义", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "无效的 @var $type$: 数组中包含了过多项", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "无效 @var $type$:默认值为空", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "无效的 @var $type$: 默认值低于最小值", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "无效的 @var $type$: 默认值大于最大值", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "无效的 @var $type$: 默认值不是一个数字或范围", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "无效的 @var $type$: '$units$' 不是有效的单位", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "无效的 @var 选择: 默认值必须是数组或对象", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "无效的 @var 选择: 列表项为空", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "无效的 @var 选择: 项的标签为空", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "无效的 @var 选择: 定义了多个默认项", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "无效的 @var 选择: 项的名称是重复的", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "无效的 @var 选择: 列表中不存在任何项", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "需要一个数字", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "需要一个带引号的字符串", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "需要一个单词", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "需要字母:$chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "需要 EOT 数据", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "缺少必要的元数据:$keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "未知的元数据:$key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "未知的 @$varkey$ 类型: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "未知的预处理器 @preprocessor:$preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "此网站没有样式。", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "行:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "管理器", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "选项", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "打开管理器", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "操作", + "description": "" + }, + "optionsAdvanced": { + "message": "高级设置", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "向编辑器右键菜单添加“删除”", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "给 iframe 注入 stylus-iframe=\"父域名\"", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "给每个iframe内嵌框架的html注入 stylus-iframe=\"父域名hostname\" 属性(值),\n\n用途: 用作iframe选择器来一键确定 iframe 父窗(window.top) 页面 的唯一选择器.\n\n示例 html[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\n详见源码:github.com/openstyles/stylus/blob/master/content/apply.js#L270", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "将新样式的格式设为UserCSS", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "启用CSP补丁以使样式资源生效", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "XHR即时注入模式", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(术语叫FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供Web扩展的样式同步的API接口,因此Stylus提供了此选项来变相实现, 利用 “已弃用的” XMLHttpRequest 这个同步API来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就OK了, 而网页此时仍在从服务器下载中.\n有关FOUC报告,你可以查看此讨论https://crbug.com/853986\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。 不过也可以手动搞定: 右键单击警告并将其隐藏,将防止再次显示警告。", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "计数器背景色 (一键全禁用时)", + "description": "" + }, + "optionsBadgeNormal": { + "message": "计数器背景色", + "description": "" + }, + "optionsCheck": { + "message": "检查样式更新", + "description": "" + }, + "optionsCheckUpdate": { + "message": "检查并安装所有可用的更新", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "计数器角标", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "图标风格", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup ", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "检测更新", + "description": "" + }, + "optionsCustomizeSync": { + "message": "同步到云端", + "description": "" + }, + "optionsHeading": { + "message": "选项", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "高对比度暗色图标", + "description": "" + }, + "optionsIconLight": { + "message": "低对比度亮色图标", + "description": "" + }, + "optionsOpen": { + "message": "打开", + "description": "" + }, + "optionsOpenManager": { + "message": "管理器", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup 弹框的宽度(px)", + "description": "" + }, + "optionsReset": { + "message": "重置所有选项为默认值", + "description": "" + }, + "optionsResetButton": { + "message": "恢复默认值", + "description": "" + }, + "optionsStylusThemes": { + "message": "查找 Stylus UI 主题ᐝ", + "description": "" + }, + "optionsSubheading": { + "message": "附加选项", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "从旧版的 Stylus 或 Stylish 中导入备份样式时,\n请手动检测升级一次,以确保所有样式都可更新到最新版本。", + "description": "" + }, + "optionsUpdateInterval": { + "message": "每隔 N 小时 自动检测更新(0 为禁用)", + "description": "" + }, + "optionsSyncNone": { + "message": "无", + "description": "" + }, + "optionsSyncConnect": { + "message": "连接", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "断开连接", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "现在同步", + "description": "" + }, + "optionsSyncLogin": { + "message": "登录", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "正在获取样式 $loaded$ 中的 $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "正在上传样式 $loaded$ 中的 $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "同步中...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "连接中...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "已连接", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "正在断开连接...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "已断开连接", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again.", + "description": "" + }, + "paginationCurrent": { + "message": "当前页数", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "已找到的样式总页数", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "下一页", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "上一页", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "总页面", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus 未能成功解析 UserCSS:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "样式切换后实时排序", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "在两边增加白色边框", + "description": "" + }, + "popupBordersTooltip": { + "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "查看Popup列表快捷键", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "右击 || Shift+左击: 打开管理器且筛选当前URL(不含iframe)", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "操作菜单", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "使用简易编辑器窗口(无omnibox栏)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "新窗口打开编辑器(或直接拖拽ꖅ)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "此选项可不管,只因它能动态跟随记忆\n编辑器标签页的拖出/拖入的状态 即:\n拖出单独窗口时, ON 该选项.\n拖入合并窗口时, OFF该选项.\n\"简易编辑器窗口\" 只在新窗口才简易简洁", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "样式列表置顶", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "计数器角标 (或图标右键)", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "实时预览", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "无需保存即可临时预览样式效果", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "重启 Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "替换", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "全部替换", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "替换为", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "导入所有样式", + "description": "" + }, + "search": { + "message": "搜索", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "大小写敏感", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "全局搜索", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "已找到", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "在代码和应用中匹配的数量", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "/regex/ 用 / 包裹语法来正则搜索", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "总的安装次数", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "没有找到与此页面相关的样式。", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "The style is installed but it doesn't apply to the current site URL.", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", + "description": "" + }, + "searchResultRating": { + "message": "评价", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "最后更新日期", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "本周安装次数", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "全部", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "代码", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " 或 聚焦搜索框;    清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n\n●搜索语法:\n空格隔开 : \"且\" 同时包含,不分顺序。\n 要用 \"或\" 包含, 请使用正则 /A|B/\n\"精确搜索\" :用双引号包裹(跟网页搜索一样) 如 <\"head ~ div\">\n/正则搜索/ :js语法 用 / / 包裹及正则属性标记 如\n\n●搜索范围选择器\n`元数据`: 包含有 样式名称、“应用于”、安装/更新URL、以及UserCSS中整个元数据块(即==UserStyle==那些)。\n\n`按URL`: 查找适用于完全指定URL的样式,如 http://www.example.org/", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "按URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "元数据", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "名称", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "添加新部分", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "代码", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "删除此部分", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "撤销删除", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "章节", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "快捷键", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "设置快捷键", + "description": "" + }, + "sortDateNewestFirst": { + "message": "最新的优先", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "最旧的优先", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "选择对已安装的样式应用的排序规则", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "标题升序", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "标题降序", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "默认用「标题升序」排序(A - Z)\n反之, 「标题降序」则是(Z - A)\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "自定义排序帮助信息", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "正则表达式无效。", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "格式化", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "右键格式化按钮 或 下面的快捷键\n可实现一键格式化而不显示此弹框", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "缩进 @media、@supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "保留新增空行", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "返回管理器", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "您已对此样式进行了更改,但尚未保存。", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "启用", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "导入 Mozilla 格式失败", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "粘贴 Mozilla 格式代码", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "要将“$stylename$”安装到 Stylus 中吗?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "安装用户样式失败!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "输入名称", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla 格式", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "正则表达式错误,样式无法正常运行", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "部分正则表达式无法生效。", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "多个部分代码无法正常处理正则表达式", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "正则测试", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "匹配到标签页的正则", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "忽略无效的正则表达式", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "没有匹配到标签页的正则", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "没有完全匹配,因此忽略", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "已打开标签页的正则匹配(点击URL可跳转)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "保存", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla 格式的样式", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "是否更新 “$stylename$”?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "样式已经在编辑器外被修改。需要重新加载样式吗?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus 无法介入到此类页面", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "浏览器出于安全而限制扩展介入到\n非自身的chrome-extension://、chrome://、官方扩展商店页", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "不能保存该值,请尝试减少文本数量。", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "Sync failed", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "切换ON/OFF", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "撤销", + "description": "Button label" + }, + "undoGlobal": { + "message": "撤销 (全局)", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox 禁止访问该站点。", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "无法介入到此页面", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "! Stylus 无法介入到官方商店页面 !\n若是文件页面 或 小号无痕页面 请检查:\n1) 右键 - Stylus图标 并点击-\"管理扩展程序\"\n2) 勾选 - \"允许访问文件网址\" 以在 file:// 工作\n3) 勾选 - \"在无痕模式下启用\" 以在无痕页面和小号标签页工作 (有的浏览器带有小号功能、如CentBrowser)", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "没有找到更新。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "更新失败: 服务器响应代码为 $code$。", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "更新失败: 无法访问服务器。", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "检测升级的历史记录", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "安装更新(将覆盖本地修改的样式)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "强制升级将覆盖所有本地修改的样式", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "此样式已在本地修改过。", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "样式已是最新版本。", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "更新已完成。", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "更新已安装:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "在代码中指定 @name 来设置名称", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "使用当前的 UserStyle 替换为新的UserCSS默认模板 ??", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "该赋值为空的保存可设置默认模板", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "在此插入代码...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "当前样式版本比已安装样式版本旧。", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "新建样式给:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "导出至 Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。", + "description": "" + }, + "retrieveDropboxSync": { + "message": "从 Dropbox 导入", + "description": "" + }, + "overwriteFileExport": { + "message": "是否覆盖现有文件?", + "description": "" + }, + "exportSavedSuccess": { + "message": "文件保存成功", + "description": "" + }, + "noFileToImport": { + "message": "要导入你的样式,你应该先导出。", + "description": "" + }, + "connectingDropbox": { + "message": "正在连接至 Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序", + "description": "" + }, + "gettingStyles": { + "message": "正在获取所有样式...", + "description": "" + }, + "zipStyles": { + "message": "正在压缩样式...", + "description": "" + }, + "unzipStyles": { + "message": "正在解压样式...", + "description": "" + }, + "readingStyles": { + "message": "正在读取样式...", + "description": "" + }, + "uploadingFile": { + "message": "正在上传文件...", + "description": "" + }, + "addStyleLabel": { + "message": "新建样式", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "更多", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "域名", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "〔URL〕⠅ 具体固定网址。URL可额外匹配到URL#hash,但反之不行。\n〔前缀〕⠅ url-prefix 以此前缀为起始开头的任何链接。\n〔域名〕⠅ domain 也默认匹配旗下子域名, 域名下任何链接。\n〔正则〕⠅ RegExp 1) 这里的正则会隐形附加 ^ $ 故只能为完整匹配模式, 且在使用懒惰正则也要注意这点;\n      2) 可以不转义 / (导出导入也会自动CSS转义符)\n\n⚠ 1) 这里不支持 * 通配符; 2) 黑名单排除也可到Popup里的 ⠇ 菜单里操作; 3) 在匹配时也要注意iframe框架URL与地址栏URL是不同的哦。\n详见github.com/openstyles/stylus/wiki/Writing-styles", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "应用于:", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "显示应用于部件", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "对经过压缩的 CSS 无效", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "正则", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "删除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "无法移除最后一个“应用于”项目", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "所有页面", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL ", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "前缀", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "应用全部更新", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "备份", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "拖拽JSON备份文件到本页面也可导入。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "导出所有样式", - "description": "" - }, - "checkAllUpdates": { - "message": "检测全部更新", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "我没有修改过任何样式,再检查一次!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "检查更新", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "正在检查更新...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "点击卸载", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "括弧配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "自动完成", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "颜色器", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "用Tab智能缩进", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "键盘映射", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "自动换行", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "高亮", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "仅选择区域", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "光标token字段", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "双击可最大化/恢复高度", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "双击选中token字段", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中", - "description": "" - }, - "cm_smartIndent": { - "message": "智能缩进", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "缩进宽度", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "主题", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "右击: 循环跳转到所在行", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "转换格式: HEX → RGB → HSL\n反向转换: Shift+单击 或 PgUp/PgDn", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "打开颜色器", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "即时生效", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "实时预览+自动保存", - "description": "" - }, - "configureStyle": { - "message": "配置", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "通过userstyles.org配置选项", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "取消", - "description": "" - }, - "confirmClose": { - "message": "关闭", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "使用默认值", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "删除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "确定要放弃修改吗?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "否", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "确认", - "description": "" - }, - "confirmSave": { - "message": "保存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "停止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "是", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "已复制到粘贴板", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "复制到粘贴板", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "在此自定义本地名称才不影响在线更新", - "description": "" - }, - "customNameResetHint": { - "message": "切换为样式的原始名称", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$天前", - "description": "Day suffix in a short relative date, for example: 8d", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrHour": { - "message": "$value$时前", - "description": "Hour suffix in a short relative date, for example: 8h", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrMonth": { - "message": "$value$月前", - "description": "Month suffix in a short relative date, for example: 8m", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrYear": { - "message": "$value$年前", - "description": "Year suffix in a short relative date, for example: 8y", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateInstalled": { - "message": "安装日期", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日期", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "默认", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "确定要删除此样式吗 ??", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "删除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus 是广受好评的 CSS&UserCSS 用户样式容器! 能够自定义网页样式和在线安装分享等等...", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "禁用所有样式", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "禁用", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "拖放JSON备份文件到管理器页面即可导入!", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "删除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "跳转至行(或行:列)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "编辑样式", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "编辑", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "修改样式“$stylename$”", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "启用", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "排除当前域名", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "排除当前链接", - "description": "" - }, - "exportLabel": { - "message": "导出", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "反馈", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "主页", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部链接", - "description": "Label for external links" - }, - "externalSupport": { - "message": "支持", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "UserCSS 外部文档", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "共$numTotal$个,已显示 $numShown$ 个", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "没有样式匹配当前的过滤器选项", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "查找样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "查找该域名的在线样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "嵌入此页", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "将搜索结果嵌入到此页面显示", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "添加", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "创建副本", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "禁用", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "已启用", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "错误", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "历史", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "下一个", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "上一个", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "重置", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "已保存", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "标题", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "未知", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "帮助", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "输入命令名称", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "按下热键", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "追加导入", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "以追加的方式来导入", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "导入", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "潜在问题之 @preprocessor 预处理", - "description": "" - }, - "importReplaceLabel": { - "message": "覆盖替换导入", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "完全覆盖的替换导入", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "个样式已被添加", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "已忽略相同样式", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "忽略无效的代码", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "已更新的所有信息和代码", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "代码已更新", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "升级信息", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "样式导入完成", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "导入的样式无效。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "个样式被还原", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "样式导入被取消", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "安装样式", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "样式安装完成", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "重新安装样式", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新样式", - "description": "Label for update button" - }, - "installUpdate": { - "message": "安装更新", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "当前样式更新自 $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "检查更新", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "许可证", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "帮助", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "获取样式", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "翻译", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint 不支持 $preprocessorname$ 预处理器", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "设置 $linter$ 规则", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "配置此Linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "由于配置无效所以未保存:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "问题", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ 找到了这些问题:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "无效的 JSON 格式", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "查看完整的规则清单", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "查看文件时发生错误", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "动态刷新", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "显示 \"应用于\" 的favicon图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "显示为灰色图标", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "过滤器", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "样式管理器", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "显示 \"应用于\" 的数量", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "新建为UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新版管理器", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "只显示 未启用 ", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "只显示 已启用 ", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "只显示 外部安装", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "只显示 本地创建", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(此样式无法通过 userstyles.org 页面进行安装)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "只显示 非UserCSS", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "只显示 可升级的 ", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "只显示 UserCSS", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus管理器", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "计数器角标", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "无效 @var 复选框:赋值必须为 0 或 1 ", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "无效 @var 颜色:$color$不是颜色", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "无效 @var $type$:必须是单个数字或数组", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "无效 @var $type$:多个单位被定义", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "无效的 @var $type$: 数组中包含了过多项", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "无效 @var $type$:默认值为空", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "无效的 @var $type$: 默认值低于最小值", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "无效的 @var $type$: 默认值大于最大值", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "无效的 @var $type$: 默认值不是一个数字或范围", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "无效的 @var $type$: '$units$' 不是有效的单位", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "无效的 @var 选择: 默认值必须是数组或对象", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "无效的 @var 选择: 列表项为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "无效的 @var 选择: 项的标签为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "无效的 @var 选择: 定义了多个默认项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "无效的 @var 选择: 项的名称是重复的", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "无效的 @var 选择: 列表中不存在任何项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "需要一个数字", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "需要一个带引号的字符串", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "需要一个单词", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "需要字母:$chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "需要 EOT 数据", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "缺少必要的元数据:$keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "未知的元数据:$key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "未知的 @$varkey$ 类型: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "未知的预处理器 @preprocessor:$preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "此网站没有样式。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理器", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "选项", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "打开管理器", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "操作", - "description": "" - }, - "optionsAdvanced": { - "message": "高级设置", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "向编辑器右键菜单添加“删除”", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "给 iframe 注入 stylus-iframe=\"父域名\"", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "给每个iframe内嵌框架的html注入 stylus-iframe=\"父域名hostname\" 属性(值),\n\n用途: 用作iframe选择器来一键确定 iframe 父窗(window.top) 页面 的唯一选择器.\n\n示例 html[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\n详见源码:github.com/openstyles/stylus/blob/master/content/apply.js#L270", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "将新样式的格式设为UserCSS", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "启用CSP补丁以使样式资源生效", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "XHR即时注入模式", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(术语叫FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供Web扩展的样式同步的API接口,因此Stylus提供了此选项来变相实现, 利用 “已弃用的” XMLHttpRequest 这个同步API来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就OK了, 而网页此时仍在从服务器下载中.\n有关FOUC报告,你可以查看此讨论https://crbug.com/853986\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。 不过也可以手动搞定: 右键单击警告并将其隐藏,将防止再次显示警告。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "计数器背景色 (一键全禁用时)", - "description": "" - }, - "optionsBadgeNormal": { - "message": "计数器背景色", - "description": "" - }, - "optionsCheck": { - "message": "检查样式更新", - "description": "" - }, - "optionsCheckUpdate": { - "message": "检查并安装所有可用的更新", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "计数器角标", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "图标风格", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "检测更新", - "description": "" - }, - "optionsCustomizeSync": { - "message": "同步到云端", - "description": "" - }, - "optionsHeading": { - "message": "选项", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "高对比度暗色图标", - "description": "" - }, - "optionsIconLight": { - "message": "低对比度亮色图标", - "description": "" - }, - "optionsOpen": { - "message": "打开", - "description": "" - }, - "optionsOpenManager": { - "message": "管理器", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup 弹框的宽度(px)", - "description": "" - }, - "optionsReset": { - "message": "重置所有选项为默认值", - "description": "" - }, - "optionsResetButton": { - "message": "恢复默认值", - "description": "" - }, - "optionsStylusThemes": { - "message": "查找 Stylus UI 主题ᐝ", - "description": "" - }, - "optionsSubheading": { - "message": "附加选项", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "从旧版的 Stylus 或 Stylish 中导入备份样式时,\n请手动检测升级一次,以确保所有样式都可更新到最新版本。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "每隔 N 小时 自动检测更新(0 为禁用)", - "description": "" - }, - "optionsSyncNone": { - "message": "无", - "description": "" - }, - "optionsSyncConnect": { - "message": "连接", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "断开连接", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "现在同步", - "description": "" - }, - "optionsSyncLogin": { - "message": "登录", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "正在获取样式 $loaded$ 中的 $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "正在上传样式 $loaded$ 中的 $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "同步中...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "连接中...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "已连接", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "正在断开连接...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "已断开连接", - "description": "" - }, - "paginationCurrent": { - "message": "当前页数", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "已找到的样式总页数", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "下一页", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "上一页", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "总页面", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus 未能成功解析 UserCSS:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "样式切换后实时排序", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "在两边增加白色边框", - "description": "" - }, - "popupBordersTooltip": { - "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "查看Popup列表快捷键", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "右击 || Shift+左击: 打开管理器且筛选当前URL(不含iframe)", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "操作菜单", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "使用简易编辑器窗口(无omnibox栏)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "新窗口打开编辑器(或直接拖拽ꖅ)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "此选项可不管,只因它能动态跟随记忆\n编辑器标签页的拖出/拖入的状态 即:\n拖出单独窗口时, ON 该选项.\n拖入合并窗口时, OFF该选项.\n\"简易编辑器窗口\" 只在新窗口才简易简洁", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "样式列表置顶", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "计数器角标 (或图标右键)", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "实时预览", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "无需保存即可临时预览样式效果", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "重启 Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "替换", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "全部替换", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "替换为", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "导入所有样式", - "description": "" - }, - "search": { - "message": "搜索", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "大小写敏感", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "全局搜索", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "已找到", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "在代码和应用中匹配的数量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "/regex/ 用 / 包裹语法来正则搜索", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "总的安装次数", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "没有找到与此页面相关的样式。", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultRating": { - "message": "评价", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "最后更新日期", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "本周安装次数", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "全部", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "代码", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " 或 聚焦搜索框;    清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n\n●搜索语法:\n空格隔开 : \"且\" 同时包含,不分顺序。\n 要用 \"或\" 包含, 请使用正则 /A|B/\n\"精确搜索\" :用双引号包裹(跟网页搜索一样) 如 <\"head ~ div\">\n/正则搜索/ :js语法 用 / / 包裹及正则属性标记 如\n\n●搜索范围选择器\n`元数据`: 包含有 样式名称、“应用于”、安装/更新URL、以及UserCSS中整个元数据块(即==UserStyle==那些)。\n\n`按URL`: 查找适用于完全指定URL的样式,如 http://www.example.org/", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "按URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "元数据", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名称", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "添加新部分", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "代码", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "删除此部分", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "撤销删除", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "章节", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "快捷键", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "设置快捷键", - "description": "" - }, - "sortDateNewestFirst": { - "message": "最新的优先", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "最旧的优先", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "选择对已安装的样式应用的排序规则", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "标题升序", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "标题降序", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "默认用「标题升序」排序(A - Z)\n反之, 「标题降序」则是(Z - A)\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "自定义排序帮助信息", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正则表达式无效。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "格式化", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "右键格式化按钮 或 下面的快捷键\n可实现一键格式化而不显示此弹框", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "缩进 @media、@supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "保留新增空行", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "返回管理器", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "您已对此样式进行了更改,但尚未保存。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "启用", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "导入 Mozilla 格式失败", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "粘贴 Mozilla 格式代码", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "要将“$stylename$”安装到 Stylus 中吗?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "安装用户样式失败!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "输入名称", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla 格式", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "正则表达式错误,样式无法正常运行", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "部分正则表达式无法生效。", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "多个部分代码无法正常处理正则表达式", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正则测试", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "匹配到标签页的正则", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "忽略无效的正则表达式", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "没有匹配到标签页的正则", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "没有完全匹配,因此忽略", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "已打开标签页的正则匹配(点击URL可跳转)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "保存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla 格式的样式", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "是否更新 “$stylename$”?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "样式已经在编辑器外被修改。需要重新加载样式吗?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus 无法介入到此类页面", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "浏览器出于安全而限制扩展介入到\n非自身的chrome-extension://、chrome://、官方扩展商店页", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "不能保存该值,请尝试减少文本数量。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "切换ON/OFF", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "撤销", - "description": "Button label" - }, - "undoGlobal": { - "message": "撤销 (全局)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox 禁止访问该站点。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "无法介入到此页面", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "! Stylus 无法介入到官方商店页面 !\n若是文件页面 或 小号无痕页面 请检查:\n1) 右键 - Stylus图标 并点击-\"管理扩展程序\"\n2) 勾选 - \"允许访问文件网址\" 以在 file:// 工作\n3) 勾选 - \"在无痕模式下启用\" 以在无痕页面和小号标签页工作 (有的浏览器带有小号功能、如CentBrowser)", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "没有找到更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新失败: 服务器响应代码为 $code$。", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "更新失败: 无法访问服务器。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "检测升级的历史记录", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "安装更新(将覆盖本地修改的样式)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "强制升级将覆盖所有本地修改的样式", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "此样式已在本地修改过。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "样式已是最新版本。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新已完成。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新已安装:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "在代码中指定 @name 来设置名称", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "使用当前的 UserStyle 替换为新的UserCSS默认模板 ??", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "该赋值为空的保存可设置默认模板", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "在此插入代码...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "当前样式版本比已安装样式版本旧。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "新建样式给:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "导出至 Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "从 Dropbox 导入", - "description": "" - }, - "overwriteFileExport": { - "message": "是否覆盖现有文件?", - "description": "" - }, - "exportSavedSuccess": { - "message": "文件保存成功", - "description": "" - }, - "noFileToImport": { - "message": "要导入你的样式,你应该先导出。", - "description": "" - }, - "connectingDropbox": { - "message": "正在连接至 Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序", - "description": "" - }, - "gettingStyles": { - "message": "正在获取所有样式...", - "description": "" - }, - "zipStyles": { - "message": "正在压缩样式...", - "description": "" - }, - "unzipStyles": { - "message": "正在解压样式...", - "description": "" - }, - "readingStyles": { - "message": "正在读取样式...", - "description": "" - }, - "uploadingFile": { - "message": "正在上传文件...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 0c824658..e080913e 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -1,1771 +1,1586 @@ { - "addStyleLabel": { - "message": "新建样式", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "添加样式", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "添加部分", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "应用于:$applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "添加样式", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "透明度", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "添加部分", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "应用于:$applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "更多", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "域名", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "使用「应用于」控件来限制此部分中的代码所应用到的 URL。", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "应用于:", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "显示应用于部件", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "对经过压缩的 CSS 无效", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "正则表达式", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "删除", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "无法移除最后一个“应用于”项目", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "指定", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "所有页面", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "URL ", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "前缀", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "应用全部更新", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "作者", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "备份", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "选择备份文件,或将 JSON 备份文件拖放到本页面,即可导入备份。", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "导出所有样式", + "description": "" + }, + "checkAllUpdates": { + "message": "全部检查更新", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "我没有修改过任何样式,再检查一次!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "检查更新", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "正在检查更新...", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "点击卸载", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "括弧配对", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "键入时自动补全", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "CSS 颜色选择器", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "使用 Tab 智能缩进", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "键盘映射", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "自动换行", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "高亮", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "仅选择区域", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "光标所在 token 字段", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "双击以最大化或恢复高度", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "双击选中 token 字段", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中", + "description": "" + }, + "cm_smartIndent": { + "message": "智能缩进", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "缩进宽度", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "主题", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "右击:循环跳转到所在行", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "颜色格式转换:HEX -> RGB -> HSL 。\nShift + 单击则反向转换。\n也可以使用 PgUp (PageUp) 与 PgDn (PageDown) 键。", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "打开颜色选择器", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "正在变更", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "自动保存并应用修改", + "description": "" + }, + "configureStyle": { + "message": "配置", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "通过 userstyles.org 配置选项", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "取消", + "description": "" + }, + "confirmClose": { + "message": "关闭", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "使用默认值", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "删除", + "description": "" + }, + "confirmDiscardChanges": { + "message": "确定要放弃修改吗?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "否", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "确认", + "description": "" + }, + "confirmSave": { + "message": "保存", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "停止", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "是", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "已复制到粘贴板", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "复制到粘贴板", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "在此自定义本地名称才不影响在线更新", + "description": "" + }, + "customNameResetHint": { + "message": "切换为样式的原始名称", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$天前", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$时前", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$月前", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$年前", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "安装日期", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "更新日期", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "默认", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "确定要删除此样式吗?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "删除", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "Stylus 是一个调整网页外观的用户样式管理器。它可让您轻松地为许多热门网站网站安装主题和皮肤。", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "禁用所有样式", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "禁用", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "把 JSON 备份文件拖放到该页面任意位置即可导入", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "删除", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "跳转至行(或行:列)", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "编辑样式", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "编辑", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "修改样式“$stylename$”", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "启用", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "排除当前域名", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "排除当前链接", + "description": "" + }, + "exportLabel": { + "message": "导出", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "反馈", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "主页", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "外部链接", + "description": "Label for external links" + }, + "externalSupport": { + "message": "支持", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "UserCSS 外部文档", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "共 $numTotal$ 个,已显示 $numShown$ 个", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "没有样式匹配当前的过滤器选项", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "查找更多样式", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "查找适合此网站的更多样式", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "嵌入到此页面", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "将搜索结果嵌入到此页面显示", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "添加", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "创建副本", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "已禁用", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "已启用", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "错误", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "历史", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "继续", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "后退", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "重置", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "已保存", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "标题", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "未知", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "帮助", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "输入命令名称", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "按下热键", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "追加导入", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "以追加的方式来导入", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "导入", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?", + "description": "" + }, + "importPreprocessorTitle": { + "message": "潜在问题之 @preprocessor 预处理", + "description": "" + }, + "importReplaceLabel": { + "message": "覆盖替换导入", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "放弃当前样式的内容,使用已导入样式覆盖它", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "个样式已被添加", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "已忽略相同样式", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "忽略无效的代码", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "已更新的所有信息和代码", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "代码已更新", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "升级信息", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "样式导入完成", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "导入的样式无效。", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "个样式被还原", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "样式导入被取消", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "安装样式", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "样式安装完成", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "重新安装样式", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "更新样式", + "description": "Label for update button" + }, + "installUpdate": { + "message": "安装更新", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "当前样式更新自 $url$", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "检查更新", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "许可证", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "帮助", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "获取样式", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "翻译", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint 不支持 $preprocessorname$ 预处理器", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "设置 $linter$ 规则", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "点击以配置此 Linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "由于配置无效所以未保存:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "问题", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "$link$ 找到了这些问题:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "无效的 JSON 格式", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "查看完整的规则清单", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "查看文件时发生错误", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "动态刷新", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "显示 \"应用于\" 的favicon图标", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "显示为灰色图标", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "过滤器", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "已安装的样式", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "显示 \"应用于\" 的数量", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "作为 UserCSS", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "新的样式管理界面", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "只显示已禁用的样式", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "只显示已启用的样式", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "只显示外部安装的样式", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "只显示本地创建的样式", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(此样式无法通过 userstyles.org 页面进行安装)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "只显示非 UserCSS 样式", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "只显示更新记录或问题", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "只显示 UserCSS 的样式", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "计数器角标", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "无效 @var 复选框:赋值必须为 0 或 1 ", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "无效 @var 颜色:$color$不是颜色", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "无效 @var $type$:必须是单个数字或数组", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "无效 @var $type$:多个单位被定义", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "无效的 @var $type$: 数组中包含了过多项", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "无效 @var $type$:默认值为空", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "无效的 @var $type$: 默认值低于最小值", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "无效的 @var $type$: 默认值大于最大值", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "无效的 @var $type$: 默认值不是一个数字或范围", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "无效的 @var $type$: '$units$' 不是有效的单位", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "无效的 @var 选择: 默认值必须是数组或对象", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "无效的 @var 选择: 列表项为空", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "无效的 @var 选择: 项的标签为空", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "无效的 @var 选择: 定义了多个默认项", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "无效的 @var 选择: 项的名称是重复的", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "无效的 @var 选择: 列表中不存在任何项", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "需要一个数字", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "需要一个带引号的字符串", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "需要一个单词", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "需要字母:$chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "需要 EOT 数据", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "缺少必要的元数据:$keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "未知的元数据:$key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "未知的 @$varkey$ 类型: $vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "未知的预处理器 @preprocessor:$preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "此网站没有样式。", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "行:", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "管理样式", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "选项", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "打开样式管理器", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "操作", + "description": "" + }, + "optionsAdvanced": { + "message": "高级设置", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "向编辑器右键菜单添加“删除”", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "给 iframe 注入 stylus-iframe=\"父域名\"", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "给每个iframe框架的html注入window.top父域名的内联属性(值)\n即 html[stylus-iframe=\"hostname\"] \n\n用途: 确定或排除 iframe选择器以避免伤及无辜.\nhtml:not([stylus-iframe]) {...}\nhtml[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\ngithub.com/openstyles/stylus/blob/master/content/apply.js#L270", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "将新样式的格式设为 UserCSS", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "启用CSP补丁以使样式资源生效", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "XHR 即时注入模式", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome 内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供 Web 扩展的样式同步的API接口,因此 Stylus 提供了此选项来变相实现, 利用「已弃用」的 XMLHttpRequest 这个同步 API 来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就完成了, 此时网页还在从服务器下载。\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。右键单击警告并将其隐藏,将防止再次显示警告。", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "禁用时的背景颜色", + "description": "" + }, + "optionsBadgeNormal": { + "message": "背景颜色", + "description": "" + }, + "optionsCheck": { + "message": "检查样式更新", + "description": "" + }, + "optionsCheckUpdate": { + "message": "检查并安装所有可用的更新", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "计数器角标", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "工具栏图标风格", + "description": "" + }, + "optionsCustomizePopup": { + "message": "Popup ", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "检测更新", + "description": "" + }, + "optionsCustomizeSync": { + "message": "同步到云端", + "description": "" + }, + "optionsHeading": { + "message": "选项", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "高对比度暗色图标", + "description": "" + }, + "optionsIconLight": { + "message": "低对比度亮色图标", + "description": "" + }, + "optionsOpen": { + "message": "打开", + "description": "" + }, + "optionsOpenManager": { + "message": "管理样式", + "description": "" + }, + "optionsPopupWidth": { + "message": "Popup 弹框总宽度(px)", + "description": "" + }, + "optionsReset": { + "message": "重置所有选项为默认值", + "description": "" + }, + "optionsResetButton": { + "message": "恢复默认值", + "description": "" + }, + "optionsStylusThemes": { + "message": "查找 Stylus UI 主题ᐝ", + "description": "" + }, + "optionsSubheading": { + "message": "附加选项", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "从旧版本的 Stylus 或 Stylish 中导入样式备份时,请在样式管理器中手动检测升级一次,以确保所有样式都可更新到最新版本。", + "description": "" + }, + "optionsUpdateInterval": { + "message": "每隔 N 小时 自动检测更新(0 为禁用)", + "description": "" + }, + "optionsSyncNone": { + "message": "无", + "description": "" + }, + "optionsSyncConnect": { + "message": "连接", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "断开连接", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "现在同步", + "description": "" + }, + "optionsSyncLogin": { + "message": "登录", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "正在获取样式 $loaded$ 中的 $total$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "正在上传样式 $loaded$ 中的 $total$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "同步中...", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "连接中...", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "已连接", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "正在断开连接...", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "已断开连接", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "会话已过期,请重新登录。", + "description": "" + }, + "paginationCurrent": { + "message": "当前页数", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "已找到的样式总页数", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "下一页", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "上一页", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "总页面", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus 未能成功解析 UserCSS:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "切换后立即重新排序", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "在两边增加白色边框", + "description": "" + }, + "popupBordersTooltip": { + "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "单击查看可用的快捷键", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "右击或 Shift+左击:打开管理器且筛选当前URL(不含iframe)", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "操作菜单", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "使用简易编辑器窗口(无 omnibox 地址栏)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "在新窗口打开编辑器", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "可以通过将编辑器标签页拖出为单独窗口来启用,将被拖出的编辑器标签页拖入其他窗口即可禁用。", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "样式列表置顶", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "当前网站已启用样式数量", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "实时预览", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "无需保存即可临时应用样式预览效果。\n保存以使更改永久生效。", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "重启 Stylus", + "description": "Context menu reload" + }, + "replace": { + "message": "替换", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "全部替换", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "替换为", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "导入所有样式", + "description": "" + }, + "search": { + "message": "搜索", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "大小写敏感", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "全局搜索", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "已找到", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "在代码和应用中匹配的数量", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "/regex/ 用 / 包裹语法来正则搜索", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "总安装次数", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "没有找到与此页面相关的样式。", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "样式已安装但不适于当前 URL", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "尝试请求该用户样式的作者添加 URL。\n\n您也可以在管理器中打开样式自己编辑,\n但请注意,这会禁用此样式的自动更新。", + "description": "" + }, + "searchResultRating": { + "message": "评价", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "最后更新日期", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "本周安装次数", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "全部", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS 源码", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " 或 以聚焦至搜索框; 清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n默认纯文本搜索,可按任何顺序搜索所有以空格分隔的术语。\n精确搜索:使用双引号包裹住想要搜索的内容,例如 <\"head ~ div\">\n正则表达式:包括斜杠和标记,例如 \n搜索范围选择器中的 「匹配 URL」:查找适用于已指定 URL 的样式,例如 https://www.example.org/\n搜索范围选择器中的 「元数据」:含 样式名称、应用于、安装/更新URL、以及 UserCSS 中的整个元数据块(即==UserStyle==那些)但不包括代码里的注释内容。", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "匹配 URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "元数据", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "名称", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "添加新部分", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "代码", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "删除此部分", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "撤销删除", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "章节", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "快捷键", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "设置快捷键", + "description": "" + }, + "sortDateNewestFirst": { + "message": "最新的优先", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "最旧的优先", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "选择对已安装的样式应用的排序规则", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "标题升序", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "标题降序", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "默认用「标题升序」(A - Z) 、「标题降序」则反之 (Z - A) \n「安装日期」 不等同于 样式的本地🆔 排序\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "自定义排序", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "正则表达式无效。", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "格式化", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "提示: 你可以不显示此面板, 而是用右键“美化”按钮 或用下面定义的快捷键来美化.", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "缩进 @media、@supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "保留新增空行", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "返回管理页面", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "您已对此样式进行了更改,但尚未保存。", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "启用", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "导入 Mozilla 格式失败", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "粘贴 Mozilla 格式代码", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "要将“$stylename$”安装到 Stylus 中吗?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "安装用户样式失败!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "输入名称", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla 格式", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "正则表达式错误,样式无法正常运行", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "部分正则表达式无法生效。", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "多个部分代码无法正常处理正则表达式", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "正则测试", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "匹配的标签页", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "忽略无效的正则表达式", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "没有发现任何网页标签与正则表达式匹配", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "没有完全匹配,因此忽略", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "匹配的标签页列表(点击链接可切换到该标签)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "保存", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla 格式的样式", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "是否更新 “$stylename$”?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "样式已经在编辑器外被修改。需要重新加载样式吗?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus 不能在此类页面上工作", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "出于安全考虑,浏览器禁止扩展程序影响其内置页面(例如 chrome://version,Chrome 61 后的标准新标签页,about:addons 等等)以及其他扩展程序的页面。每个浏览器也限制了对于自己扩展程序库的介入(例如 Chrome 网上应用店、Firefox 附加组件(addons.mozilla.org))。", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "不能保存该值,请尝试减少文本数量。", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "同步失败", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "同步失败\n请尝试在 Stylus 选项里重新登录\n先点击「断开连接」,再点击「连接」。", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "启用/禁用样式", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "撤销", + "description": "Button label" + }, + "undoGlobal": { + "message": "撤销 (全局)", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox 禁止访问该站点。", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "无法读取页面,请尝试刷新。", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "如果需要改变 file:// 协议的样式,则需要在 chrome://extensions 页面中的 Stylus 扩展选项里面,打开「允许访问文件网址」权限", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "没有找到更新。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "更新失败: 服务器响应代码为 $code$。", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "更新失败: 无法访问服务器。", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "检测升级的历史记录", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "安装更新(将覆盖本地修改的样式)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "强制升级将覆盖所有本地修改的样式", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "此样式已在本地修改过。", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "样式已是最新版本。", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "更新已完成。", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "更新已安装:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "在代码中指定 @name 来设置名称", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "使用这些代码替换新 UserCSS 样式的默认模板?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "该赋值为空的保存可设置默认模板", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "在此插入代码...", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "当前样式版本比已安装样式版本旧。", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "新建样式给:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "URL", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "导出至 Dropbox", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。", + "description": "" + }, + "retrieveDropboxSync": { + "message": "从 Dropbox 导入", + "description": "" + }, + "overwriteFileExport": { + "message": "是否覆盖现有文件?", + "description": "" + }, + "exportSavedSuccess": { + "message": "文件保存成功", + "description": "" + }, + "noFileToImport": { + "message": "要导入你的样式,你应该先导出。", + "description": "" + }, + "connectingDropbox": { + "message": "正在连接至 Dropbox...", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序", + "description": "" + }, + "gettingStyles": { + "message": "正在获取所有样式...", + "description": "" + }, + "zipStyles": { + "message": "正在压缩样式...", + "description": "" + }, + "unzipStyles": { + "message": "正在解压样式...", + "description": "" + }, + "readingStyles": { + "message": "正在读取样式...", + "description": "" + }, + "uploadingFile": { + "message": "正在上传文件...", + "description": "" + }, + "addStyleLabel": { + "message": "新建样式", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "更多", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "域名", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "〔URL〕⠅ 具体网址, 额外匹配到URL#hash,但反之不行。\n〔前缀〕⠅ url-prefix 以此为起始开头的任何链接。\n〔域名〕⠅ domain 匹配该域名及旗下子域名及其任何链接。\n〔正则〕⠅ RegExp\n     1) Stylus会隐形附加 开始与结束的正则元数据, 故只能为完整匹配模式, 故在用懒惰正则要注意这点;\n     2) 可不转义 / 符号(导出导入时会自动CSS转义符转换)\n\n⚠匹配时要注意iframe框架URL⚔地址栏URL是不同。\nØ 内置的正则测试工具不能测试iframe的URL\nØ 不支持 * 通配符.\n⚠黑名单排除用正则或Popup列表的⠇菜单操作.\n详见github.com/openstyles/stylus/wiki/Writing-styles", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "应用于:", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "显示应用于部件", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "对经过压缩的 CSS 无效", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "正则", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "删除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "无法移除最后一个“应用于”项目", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "所有页面", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL ", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "前缀", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "应用全部更新", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "备份", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "拖拽JSON备份文件到本页面也可导入。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "导出所有样式", - "description": "" - }, - "checkAllUpdates": { - "message": "检测全部更新", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "我没有修改过任何样式,再检查一次!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "检查更新", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "正在检查更新...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "点击卸载", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "括弧配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "自动完成", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "颜色器", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "用Tab智能缩进", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "键盘映射", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "自动换行", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "高亮", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "仅选择区域", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "光标token字段", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "双击可最大化/恢复高度", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "双击选中token字段", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中", - "description": "" - }, - "cm_smartIndent": { - "message": "智能缩进", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "缩进宽度", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "主题", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "右击: 循环跳转到所在行", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "转换格式: HEX → RGB → HSL\n反向转换: Shift+单击 或 PgUp/PgDn", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "打开颜色器", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "即时生效", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "实时预览+自动保存", - "description": "" - }, - "configureStyle": { - "message": "配置", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "通过userstyles.org配置选项", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "取消", - "description": "" - }, - "confirmClose": { - "message": "关闭", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "使用默认值", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "删除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "确定要放弃修改吗?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "否", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "确认", - "description": "" - }, - "confirmSave": { - "message": "保存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "停止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "是", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "已复制到粘贴板", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "复制到粘贴板", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "在此自定义本地名称才不影响在线更新", - "description": "" - }, - "customNameResetHint": { - "message": "切换为样式的原始名称", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$天前", - "description": "Day suffix in a short relative date, for example: 8d", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrHour": { - "message": "$value$时前", - "description": "Hour suffix in a short relative date, for example: 8h", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrMonth": { - "message": "$value$月前", - "description": "Month suffix in a short relative date, for example: 8m", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrYear": { - "message": "$value$年前", - "description": "Year suffix in a short relative date, for example: 8y", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateInstalled": { - "message": "安装日期", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日期", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "默认", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "确定要删除此样式吗 ??", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "删除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus 是广受好评的 CSS&UserCSS 用户样式容器! 能够自定义网页样式和在线安装分享等等...", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "禁用所有样式", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "禁用", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "拖放JSON备份文件到管理器页面即可导入!", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "删除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "跳转至行(或行:列)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "编辑样式", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "编辑", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "修改样式“$stylename$”", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "启用", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "排除当前域名", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "排除当前链接", - "description": "" - }, - "exportLabel": { - "message": "导出", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "反馈", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "主页", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部链接", - "description": "Label for external links" - }, - "externalSupport": { - "message": "支持", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "UserCSS 外部文档", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "共$numTotal$个,已显示 $numShown$ 个", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "没有样式匹配当前的过滤器选项", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "查找样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "查找该域名的在线样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "嵌入此页", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "将搜索结果嵌入到此页面显示", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "添加", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "创建副本", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "禁用", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "已启用", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "错误", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "历史", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "下一个", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "上一个", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "重置", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "已保存", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "标题", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "未知", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "帮助", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "输入命令名称", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "按下热键", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "追加导入", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "以追加的方式来导入", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "导入", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "潜在问题之 @preprocessor 预处理", - "description": "" - }, - "importReplaceLabel": { - "message": "覆盖替换导入", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "完全覆盖的替换导入", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "个样式已被添加", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "已忽略相同样式", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "忽略无效的代码", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "已更新的所有信息和代码", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "代码已更新", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "升级信息", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "样式导入完成", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "导入的样式无效。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "个样式被还原", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "样式导入被取消", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "安装样式", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "样式安装完成", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "重新安装样式", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新样式", - "description": "Label for update button" - }, - "installUpdate": { - "message": "安装更新", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "当前样式更新自 $url$", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "检查更新", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "许可证", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "帮助", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "获取样式", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "翻译", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint 不支持 $preprocessorname$ 预处理器", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "设置 $linter$ 规则", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "配置此Linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "由于配置无效所以未保存:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "问题", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ 找到了这些问题:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "无效的 JSON 格式", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "查看完整的规则清单", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "查看文件时发生错误", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "动态刷新", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "显示 \"应用于\" 的favicon图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "显示为灰色图标", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "过滤器", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "样式管理器", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "显示 \"应用于\" 的数量", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "新建为UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新版管理器", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "只显示 未启用 ", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "只显示 已启用 ", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "只显示 外部安装", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "只显示 本地创建", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(此样式无法通过 userstyles.org 页面进行安装)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "只显示 非UserCSS", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "只显示 可升级的 ", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "只显示 UserCSS", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus管理器", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "计数器角标", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "无效 @var 复选框:赋值必须为 0 或 1 ", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "无效 @var 颜色:$color$不是颜色", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "无效 @var $type$:必须是单个数字或数组", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "无效 @var $type$:多个单位被定义", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "无效的 @var $type$: 数组中包含了过多项", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "无效 @var $type$:默认值为空", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "无效的 @var $type$: 默认值低于最小值", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "无效的 @var $type$: 默认值大于最大值", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "无效的 @var $type$: 默认值不是一个数字或范围", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "无效的 @var $type$: '$units$' 不是有效的单位", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "无效的 @var 选择: 默认值必须是数组或对象", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "无效的 @var 选择: 列表项为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "无效的 @var 选择: 项的标签为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "无效的 @var 选择: 定义了多个默认项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "无效的 @var 选择: 项的名称是重复的", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "无效的 @var 选择: 列表中不存在任何项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "需要一个数字", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "需要一个带引号的字符串", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "需要一个单词", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "需要字母:$chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "需要 EOT 数据", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "缺少必要的元数据:$keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "未知的元数据:$key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "未知的 @$varkey$ 类型: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "未知的预处理器 @preprocessor:$preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "此网站没有样式。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理器", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "选项", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "打开管理器", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "操作", - "description": "" - }, - "optionsAdvanced": { - "message": "高级设置", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "向编辑器右键菜单添加“删除”", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "给 iframe 注入 stylus-iframe=\"父域名\"", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "给每个iframe框架的html注入window.top父域名的内联属性(值)\n即 html[stylus-iframe=\"hostname\"] \n\n用途: 确定或排除 iframe选择器以避免伤及无辜.\nhtml:not([stylus-iframe]) {...}\nhtml[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\ngithub.com/openstyles/stylus/blob/master/content/apply.js#L270", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "将新样式的格式设为UserCSS", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "启用CSP补丁以使样式资源生效", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "XHR即时注入模式", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(术语叫FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供Web扩展的样式同步的API接口,因此Stylus提供了此选项来变相实现, 利用 “已弃用的” XMLHttpRequest 这个同步API来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就OK了, 而网页此时仍在从服务器下载中.\n有关FOUC报告,你可以查看此讨论https://crbug.com/853986\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。 不过也可以手动搞定: 右键单击警告并将其隐藏,将防止再次显示警告。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "计数器背景色 (一键全禁用时)", - "description": "" - }, - "optionsBadgeNormal": { - "message": "计数器背景色", - "description": "" - }, - "optionsCheck": { - "message": "检查样式更新", - "description": "" - }, - "optionsCheckUpdate": { - "message": "检查并安装所有可用的更新", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "计数器角标", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "图标风格", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "检测更新", - "description": "" - }, - "optionsCustomizeSync": { - "message": "同步到云端", - "description": "" - }, - "optionsHeading": { - "message": "选项", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "高对比度暗色图标", - "description": "" - }, - "optionsIconLight": { - "message": "低对比度亮色图标", - "description": "" - }, - "optionsOpen": { - "message": "打开", - "description": "" - }, - "optionsOpenManager": { - "message": "管理器", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup 弹框总宽度(px)", - "description": "" - }, - "optionsReset": { - "message": "重置所有选项为默认值", - "description": "" - }, - "optionsResetButton": { - "message": "恢复默认值", - "description": "" - }, - "optionsStylusThemes": { - "message": "查找 Stylus UI 主题ᐝ", - "description": "" - }, - "optionsSubheading": { - "message": "附加选项", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "从旧版的 Stylus 或 Stylish 中导入备份样式时,\n请手动检测升级一次,以确保所有样式都可更新到最新版本。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "每隔 N 小时 自动检测更新(0 为禁用)", - "description": "" - }, - "optionsSyncNone": { - "message": "无", - "description": "" - }, - "optionsSyncConnect": { - "message": "连接", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "断开连接", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "现在同步", - "description": "" - }, - "optionsSyncLogin": { - "message": "登录", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "正在获取样式 $loaded$ 中的 $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "正在上传样式 $loaded$ 中的 $total$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "同步中...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "连接中...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "已连接", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "正在断开连接...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "已断开连接", - "description": "" - }, - "paginationCurrent": { - "message": "当前页数", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "已找到的样式总页数", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "下一页", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "上一页", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "总页面", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus 未能成功解析 UserCSS:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "样式切换后实时排序", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "在两边增加白色边框", - "description": "" - }, - "popupBordersTooltip": { - "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "查看Popup列表快捷键", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "右击 || Shift+左击: 打开管理器且筛选当前URL(不含iframe)", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "操作菜单", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "使用简易编辑器窗口(无omnibox栏)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "新窗口打开编辑器(或直接拖拽ꖅ)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "此选项可不管,只因它能动态跟随记忆\n编辑器标签页的拖出/拖入的状态 即:\n拖出单独窗口时, ON 该选项.\n拖入合并窗口时, OFF该选项.\n\"简易编辑器窗口\" 只在新窗口才简易简洁", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "样式列表置顶", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "计数器角标 (或图标右键)", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "实时预览", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "无需保存即可临时预览样式效果", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "重启 Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "替换", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "全部替换", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "替换为", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "导入所有样式", - "description": "" - }, - "search": { - "message": "搜索", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "大小写敏感", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "全局搜索", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "已找到", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "在代码和应用中匹配的数量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "/regex/ 用 / 包裹语法来正则搜索", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "总的安装次数", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "没有找到与此页面相关的样式。", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "样式已安装但不适于当前URL", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "尝试请求该用户样式的作者添加URL。\n\n您也可以在管理器中打开样式并自己编辑,\n但请注意,它会禁用此样式的自动更新。", - "description": "" - }, - "searchResultRating": { - "message": "评价", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "最后更新日期", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "本周安装次数", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "全部", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "代码", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " 或 聚焦搜索框;    清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n\n●搜索语法:\n空格隔开 : \"且\" 同时包含,不分顺序。\n 要用 \"或\" 包含, 请使用正则 /A|B/\n\"精确搜索\" :用双引号包裹(跟网页搜索一样) 如 <\"head ~ div\">\n/正则搜索/ :js语法 用 / / 包裹及正则属性标记 如\n\n●搜索范围选择器\n`元数据` (默认): 含 样式名称、应用于、安装/更新URL、以及UserCSS中的整个元数据块(即==UserStyle==那些) 但不包括代码里的注释内容\n\n`按URL`: 查找适用于完全指定URL的样式,如 http://www.example.org/", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "元数据", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名称", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "添加新部分", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "代码", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "删除此部分", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "撤销删除", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "章节", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "快捷键", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "设置快捷键", - "description": "" - }, - "sortDateNewestFirst": { - "message": "最新的优先", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "最旧的优先", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "选择对已安装的样式应用的排序规则", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "标题升序", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "标题降序", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "默认用「标题升序」(A - Z) 、「标题降序」则反之 (Z - A) \n「安装日期」 不等同于 样式的本地🆔 排序\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "自定义排序帮助信息", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正则表达式无效。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "格式化", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "右键格式化按钮 或 下面的快捷键\n可实现一键格式化而不显示此弹框", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "缩进 @media、@supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "保留新增空行", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "返回管理器", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "您已对此样式进行了更改,但尚未保存。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "启用", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "导入 Mozilla 格式失败", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "粘贴 Mozilla 格式代码", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "要将“$stylename$”安装到 Stylus 中吗?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "安装用户样式失败!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "输入名称", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla 格式", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "正则表达式错误,样式无法正常运行", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "部分正则表达式无法生效。", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "多个部分代码无法正常处理正则表达式", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正则测试", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "匹配到标签页的正则", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "忽略无效的正则表达式", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "没有匹配到标签页的正则", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "没有完全匹配,因此忽略", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "已打开标签页的正则匹配(点击URL可跳转)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "保存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla 格式的样式", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "是否更新 “$stylename$”?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "样式已经在编辑器外被修改。需要重新加载样式吗?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus 无法介入到此类页面", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "浏览器出于安全而限制扩展介入到\n非自身的chrome-extension://、chrome://、官方扩展商店页", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "不能保存该值,请尝试减少文本数量。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "切换ON/OFF", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "撤销", - "description": "Button label" - }, - "undoGlobal": { - "message": "撤销 (全局)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox 禁止访问该站点。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "无法介入到此页面", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "! Stylus 无法介入到官方商店页面 !\n若是文件页面 或 小号无痕页面 请检查:\n1) 右键 - Stylus图标 并点击-\"管理扩展程序\"\n2) 勾选 - \"允许访问文件网址\" 以在 file:// 工作\n3) 勾选 - \"在无痕模式下启用\" 以在无痕页面和小号标签页工作 (有的浏览器带有小号功能、如CentBrowser)", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "没有找到更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新失败: 服务器响应代码为 $code$。", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "更新失败: 无法访问服务器。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "检测升级的历史记录", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "安装更新(将覆盖本地修改的样式)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "强制升级将覆盖所有本地修改的样式", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "此样式已在本地修改过。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "样式已是最新版本。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新已完成。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新已安装:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "在代码中指定 @name 来设置名称", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "使用当前的 UserStyle 替换为新的UserCSS默认模板 ??", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "该赋值为空的保存可设置默认模板", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "在此插入代码...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "当前样式版本比已安装样式版本旧。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "新建样式给:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "导出至 Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "从 Dropbox 导入", - "description": "" - }, - "overwriteFileExport": { - "message": "是否覆盖现有文件?", - "description": "" - }, - "exportSavedSuccess": { - "message": "文件保存成功", - "description": "" - }, - "noFileToImport": { - "message": "要导入你的样式,你应该先导出。", - "description": "" - }, - "connectingDropbox": { - "message": "正在连接至 Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序", - "description": "" - }, - "gettingStyles": { - "message": "正在获取所有样式...", - "description": "" - }, - "zipStyles": { - "message": "正在压缩样式...", - "description": "" - }, - "unzipStyles": { - "message": "正在解压样式...", - "description": "" - }, - "readingStyles": { - "message": "正在读取样式...", - "description": "" - }, - "uploadingFile": { - "message": "正在上传文件...", - "description": "" - } } \ No newline at end of file diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index 4124c496..bedf116e 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -1,1763 +1,1586 @@ { - "addStyleLabel": { - "message": "編寫新樣式", - "description": "Label for the button to go to the add style page" - }, - "addStyleTitle": { - "message": "新增樣式", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "不透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "新增", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "適用於: $applies$", - "description": "Text on the manage screen to describe what the style applies to", - "placeholders": { - "applies": { - "content": "$1" - } + "addStyleTitle": { + "message": "新增樣式", + "description": "Title of the page for adding styles" + }, + "alphaChannel": { + "message": "不透明度", + "description": "Label of color's opacity" + }, + "appliesAdd": { + "message": "新增", + "description": "Label for the button to add an 'applies' entry" + }, + "appliesDisplay": { + "message": "適用於: $applies$", + "description": "Text on the manage screen to describe what the style applies to" + }, + "appliesDisplayTruncatedSuffix": { + "message": "以及更多", + "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" + }, + "appliesDomainOption": { + "message": "該域名上的網址", + "description": "Option to make the style apply to the entered string as a domain" + }, + "appliesHelp": { + "message": "使用「適用於」控件來限制這個樣式段適用的網址。", + "description": "Help text for 'applies to' section" + }, + "appliesLabel": { + "message": "適用於", + "description": "Label for 'applies to' fields on the edit/add screen" + }, + "appliesLineWidgetLabel": { + "message": "顯示「套用至」資訊", + "description": "Label for the checkbox to display applies-to information in the single editor" + }, + "appliesLineWidgetWarning": { + "message": "無法與最小化的 CSS 一起運作", + "description": "A warning that applies-to information won't show properly with minified CSS" + }, + "appliesRegexpOption": { + "message": "比對正規表示式的網址", + "description": "Option to make the style apply to the entered string as a regular expression" + }, + "appliesRemove": { + "message": "移除", + "description": "Label for the button to remove an 'applies' entry" + }, + "appliesRemoveError": { + "message": "無法移除最後的「套用到」項目", + "description": "Error displayed when the last 'applies' is going to be removed" + }, + "appliesSpecify": { + "message": "指定", + "description": "Label for the button to make a style apply only to specific sites" + }, + "appliesToEverything": { + "message": "全部", + "description": "Text displayed for styles that apply to all sites" + }, + "appliesUrlOption": { + "message": "網址", + "description": "Option to make the style apply to the entered string as a URL" + }, + "appliesUrlPrefixOption": { + "message": "含以下前綴的網址", + "description": "Option to make the style apply to the entered string as a URL prefix" + }, + "applyAllUpdates": { + "message": "應用所有更新", + "description": "Label for the button to apply all detected updates" + }, + "author": { + "message": "作者", + "description": "Label for the style author" + }, + "backupButtons": { + "message": "備份", + "description": "Heading for backup" + }, + "backupMessage": { + "message": "選取檔案並拖曳到此頁面。", + "description": "Message for backup" + }, + "bckpInstStyles": { + "message": "匯出樣式", + "description": "" + }, + "checkAllUpdates": { + "message": "檢查所有樣式更新", + "description": "Label for the button to check all styles for updates" + }, + "checkAllUpdatesForce": { + "message": "再次檢查,我沒有編輯任何樣式!", + "description": "Label for the button to apply all detected updates" + }, + "checkForUpdate": { + "message": "檢查更新", + "description": "Label for the button to check a single style for an update" + }, + "checkingForUpdate": { + "message": "檢查中…", + "description": "Text to display when checking a style for an update" + }, + "clickToUninstall": { + "message": "點選以解除安裝", + "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" + }, + "cm_autoCloseBrackets": { + "message": "自動關閉括號與引號", + "description": "Label for the checkbox in the style editor." + }, + "cm_autoCloseBracketsTooltip": { + "message": "當輸入開放的 ()[]{}''\"\" 時自動新增另一邊的標點符號", + "description": "Label for the checkbox in the style editor." + }, + "cm_autocompleteOnTyping": { + "message": "在輸入時自動完成", + "description": "Label for the checkbox in the style editor." + }, + "cm_colorpicker": { + "message": "用於 CSS 色彩的色彩選擇器", + "description": "Label for the checkbox controlling colorpicker option for the style editor." + }, + "cm_indentWithTabs": { + "message": "用 Tab 鍵智慧縮排", + "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." + }, + "cm_keyMap": { + "message": "鍵盤映射", + "description": "Label for the drop-down list controlling the keymap for the style editor." + }, + "cm_lineWrapping": { + "message": "自動換行", + "description": "Label for the checkbox controlling word wrap option for the style editor." + }, + "cm_linter": { + "message": "CSS Linter", + "description": "Select the linter to check for CSS issues" + }, + "cm_matchHighlight": { + "message": "突顯", + "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." + }, + "cm_matchHighlightSelection": { + "message": "僅段", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" + }, + "cm_matchHighlightToken": { + "message": "在游標下的 Token", + "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" + }, + "cm_resizeGripHint": { + "message": "按兩下以最大化/還原高度", + "description": "Tooltip for the resize grip in style editor" + }, + "cm_selectByTokens": { + "message": "按兩下選取 token", + "description": "Label for the checkbox in the editor." + }, + "cm_selectByTokensTooltip": { + "message": "Token 的範例:.foo-bar-2 #aabbcc 0.32 !important\n當停用時:將會選取被標點符號分隔的字詞。", + "description": "" + }, + "cm_smartIndent": { + "message": "使用智慧縮排", + "description": "Label for the checkbox controlling smart indentation option for the style editor." + }, + "cm_tabSize": { + "message": "Tab 大小", + "description": "Label for the text box controlling tab size option for the style editor." + }, + "cm_theme": { + "message": "主題", + "description": "Label for the style editor's CSS theme." + }, + "colorpickerPaletteHint": { + "message": "右鍵點擊其中ㄧ部份以循環其原始碼", + "description": "" + }, + "colorpickerSwitchFormatTooltip": { + "message": "切換格式:HEX → RGB → HSL。\nShift 並點選則為反向進行。\n也可以使用 PgUp (PageUp) 與 PgDn (PageDown) 鍵。", + "description": "Tooltip for the switch button in the color picker popup in the style editor." + }, + "colorpickerTooltip": { + "message": "開啟色彩選擇器", + "description": "Tooltip for the colored squares shown before CSS colors in the style editor." + }, + "configOnChange": { + "message": "正在變更", + "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" + }, + "configOnChangeTooltip": { + "message": "自動儲存與套用變更", + "description": "" + }, + "configureStyle": { + "message": "設定", + "description": "Label for the button to configure usercss userstyle" + }, + "configureStyleOnHomepage": { + "message": "在首頁上設定", + "description": "Label for the button to configure userstyles.org userstyle" + }, + "confirmCancel": { + "message": "取消", + "description": "" + }, + "confirmClose": { + "message": "關閉", + "description": "'Close' button in a confirm dialog" + }, + "confirmDefault": { + "message": "使用預設值", + "description": "'Set to default' button in a confirm dialog" + }, + "confirmDelete": { + "message": "刪除", + "description": "" + }, + "confirmDiscardChanges": { + "message": "放棄變更?", + "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" + }, + "confirmNo": { + "message": "否", + "description": "'No' button in a confirm dialog" + }, + "confirmOK": { + "message": "確定", + "description": "" + }, + "confirmSave": { + "message": "儲存", + "description": "'Save' button in a confirm dialog" + }, + "confirmStop": { + "message": "停止", + "description": "'Stop' button in a confirm dialog" + }, + "confirmYes": { + "message": "是", + "description": "'Yes' button in a confirm dialog" + }, + "copied": { + "message": "已複製到剪貼簿", + "description": "Message shown when content has been copied to the clipboard" + }, + "copy": { + "message": "複製到剪貼簿", + "description": "Tooltip for elements which can be copied" + }, + "customNameHint": { + "message": "在此輸入自訂名稱以在使用者介面中重新命名樣式而不會中斷其更新", + "description": "" + }, + "customNameResetHint": { + "message": "停止使用自訂的名稱,切換到樣式自己的名稱", + "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" + }, + "dateAbbrDay": { + "message": "$value$天", + "description": "Day suffix in a short relative date, for example: 8d" + }, + "dateAbbrHour": { + "message": "$value$小時", + "description": "Hour suffix in a short relative date, for example: 8h" + }, + "dateAbbrMonth": { + "message": "$value$月", + "description": "Month suffix in a short relative date, for example: 8m" + }, + "dateAbbrYear": { + "message": "$value$年", + "description": "Year suffix in a short relative date, for example: 8y" + }, + "dateInstalled": { + "message": "安裝日期", + "description": "Option text for the user to sort the style by install date" + }, + "dateUpdated": { + "message": "更新日期", + "description": "Option text for the user to sort the style by last update date" + }, + "dbError": { + "message": "使用 Stylus 資料庫時出現錯誤。你想訪問可能包含解決辦法的網頁嗎?", + "description": "Prompt when a DB error is encountered" + }, + "defaultTheme": { + "message": "預設", + "description": "Default CodeMirror CSS theme option on the edit style page" + }, + "deleteStyleConfirm": { + "message": "確定要刪除這個樣式嗎?", + "description": "Confirmation before deleting a style" + }, + "deleteStyleLabel": { + "message": "删除", + "description": "Label for the button to delete a style" + }, + "description": { + "message": "用Stylus(一個用戶樣式管理器)重塑網頁。 Stylus 讓你能為诸多主流網站輕鬆的安裝主題和皮膚。", + "description": "Extension description" + }, + "disableAllStyles": { + "message": "停用所有樣式", + "description": "Label for the checkbox that turns all enabled styles off." + }, + "disableStyleLabel": { + "message": "停用", + "description": "Label for the button to disable a style" + }, + "dragDropMessage": { + "message": "將您的備份檔拖曳到此頁面的任何地方以匯入。", + "description": "Drag'n'drop message" + }, + "dragDropUsercssTabstrip": { + "message": "要安裝檔案,請將其放到分頁上(顯示分頁標題的區域)。", + "description": "Message popup shown when erroneously dropping a usercss file into the manager page" + }, + "editDeleteText": { + "message": "删除", + "description": "Label for the context menu item in the editor to delete selected text" + }, + "editGotoLine": { + "message": "跳到行(或 line:col )", + "description": "Go to line or line:column on Ctrl-G in style code editor" + }, + "editStyleHeading": { + "message": "編輯樣式", + "description": "Title of the page for editing styles" + }, + "editStyleLabel": { + "message": "編輯", + "description": "Label for the button to go to the edit style page" + }, + "editStyleTitle": { + "message": "編輯樣式 $stylename$", + "description": "Title of the page for editing styles" + }, + "enableStyleLabel": { + "message": "啟用", + "description": "Label for the button to enable a style" + }, + "excludeStyleByDomainLabel": { + "message": "排除目前的網域", + "description": "" + }, + "excludeStyleByUrlLabel": { + "message": "排除目前的 URL", + "description": "" + }, + "exportLabel": { + "message": "匯出", + "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" + }, + "externalFeedback": { + "message": "回饋", + "description": "Label for the external link to send feedback for the style" + }, + "externalHomepage": { + "message": "首頁", + "description": "Label for the external link to style's homepage" + }, + "externalLink": { + "message": "外部連結", + "description": "Label for external links" + }, + "externalSupport": { + "message": "支援", + "description": "Label for the external link to style's support site" + }, + "externalUsercssDocument": { + "message": "Usercss 的文件", + "description": "Label for the external link to usercss documentation" + }, + "filteredStyles": { + "message": "$numShown$ 個已顯示,總共 $numTotal$ 個", + "description": "TL note - make this message short" + }, + "filteredStylesAllHidden": { + "message": "目前套用的過濾器未符合樣式", + "description": "Text shown when no styles match currently applied filter in the style manager" + }, + "findStyles": { + "message": "尋找樣式", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesForSite": { + "message": "查找更多適合此網站的樣式", + "description": "Text for a link that gets a list of styles for the current site" + }, + "findStylesInline": { + "message": "嵌入", + "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" + }, + "findStylesInlineTooltip": { + "message": "在此視窗中顯示搜尋結果。", + "description": "Text for a checkbox that displays search results within the Stylus popup." + }, + "genericAdd": { + "message": "新增", + "description": "Used in various places for an action that adds something" + }, + "genericClone": { + "message": "複製", + "description": "Used in various places for an action that clones something" + }, + "genericDisabledLabel": { + "message": "已停用", + "description": "Used in various lists/options to indicate that something is disabled" + }, + "genericEnabledLabel": { + "message": "已啟用", + "description": "Used in various lists/options to indicate that something is enabled" + }, + "genericError": { + "message": "錯誤", + "description": "Used in various places to indicate some error occurred." + }, + "genericHistoryLabel": { + "message": "歷史", + "description": "Used in various places to show a history log of something" + }, + "genericNext": { + "message": "下一步", + "description": "Used in various places to select/perform the next step/action" + }, + "genericPrevious": { + "message": "上一步", + "description": "Used in various places to select/perform the previous step/action" + }, + "genericResetLabel": { + "message": "重設", + "description": "Used in various parts of UI to indicate that something may be reset to its original state" + }, + "genericSavedMessage": { + "message": "已儲存", + "description": "Used in various parts of the UI to indicate that something was saved" + }, + "genericTitle": { + "message": "標題", + "description": "Used in various parts of the UI to indicate the title of something" + }, + "genericUnknown": { + "message": "未知", + "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" + }, + "helpAlt": { + "message": "說明", + "description": "Alternate text for help buttons" + }, + "helpKeyMapCommand": { + "message": "鍵入命令名稱", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "helpKeyMapHotkey": { + "message": "按下快速鍵", + "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" + }, + "hostDisabled": { + "message": "由於所用目前版本瀏覽器的臭蟲,此主機已被停用", + "description": "Tooltip for cloud host disabled" + }, + "importAppendLabel": { + "message": "追加到樣式", + "description": "Label for the button to import a style and append to the existing sections" + }, + "importAppendTooltip": { + "message": "追加導入的樣式到當前樣式", + "description": "Tooltip for the button to import a style and append to the existing sections" + }, + "importLabel": { + "message": "匯入", + "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" + }, + "importPreprocessor": { + "message": "使用 @preprocessor 的樣是在經典模式下無法運作。您可以將編輯器切換到 Usercss 模式:1) 開啟樣式管理程式,2) 啟用「做為 Usercss」對話框,3) 點擊「編寫新樣式」\n", + "description": "" + }, + "importPreprocessorTitle": { + "message": "@preprocessor 引起的潛在問題", + "description": "" + }, + "importReplaceLabel": { + "message": "覆蓋樣式", + "description": "Label for the button to import and overwrite current style" + }, + "importReplaceTooltip": { + "message": "棄用當前樣式內容并用導入樣式覆蓋", + "description": "Label for the button to import and overwrite current style" + }, + "importReportLegendAdded": { + "message": "已加入", + "description": "Text after the number of styles added in the report shown after importing styles" + }, + "importReportLegendIdentical": { + "message": "已跳過相同的", + "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" + }, + "importReportLegendInvalid": { + "message": "已跳過無效的", + "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" + }, + "importReportLegendUpdatedBoth": { + "message": "後設資訊與程式碼均已更新", + "description": "Text after the number of styles updated entirely in the report shown after importing styles" + }, + "importReportLegendUpdatedCode": { + "message": "已更新的程式碼", + "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" + }, + "importReportLegendUpdatedMeta": { + "message": "已更新後設資訊", + "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" + }, + "importReportTitle": { + "message": "匯入樣式已完成", + "description": "Title of the report shown after importing styles" + }, + "importReportUnchanged": { + "message": "沒有變更。", + "description": "Message in the report shown after importing styles" + }, + "importReportUndone": { + "message": "樣式已被復原", + "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" + }, + "importReportUndoneTitle": { + "message": "匯入已被復原", + "description": "Title of the message box shown after undoing the import of styles" + }, + "installButton": { + "message": "安裝樣式", + "description": "Label for install button" + }, + "installButtonInstalled": { + "message": "樣式已安裝", + "description": "Text displayed when the style is successfully installed" + }, + "installButtonReinstall": { + "message": "重新安裝樣式", + "description": "Label for reinstall button" + }, + "installButtonUpdate": { + "message": "更新樣式", + "description": "Label for update button" + }, + "installUpdate": { + "message": "安裝更新", + "description": "Label for the button to install an update for a single style" + }, + "installUpdateFrom": { + "message": "目前從 $url$ 更新樣式", + "description": "Label to describe where the style gets update" + }, + "installUpdateFromLabel": { + "message": "檢查更新", + "description": "Label for the checkbox to save current URL for update check" + }, + "license": { + "message": "授權條款", + "description": "Label for the license" + }, + "linkGetHelp": { + "message": "取得協助", + "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" + }, + "linkGetStyles": { + "message": "取得樣式", + "description": "Help link text on the manage page e.g. https://userstyles.org" + }, + "linkStylusWiki": { + "message": "Wiki", + "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" + }, + "linkTranslate": { + "message": "翻譯", + "description": "Transifex link text on the manage page" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint 不支援 $preprocessorname$ 預處理器", + "description": "The label to display when the preprocessor isn't compatible with CSSLint" + }, + "linterCSSLintSettings": { + "message": "(設定規則為:0 = 停用;1 = 警告;2 = 錯誤)", + "description": "CSSLint rule config values" + }, + "linterConfigPopupTitle": { + "message": "設定 $linter$ 規則設定", + "description": "Stylelint or CSSLint popup header" + }, + "linterConfigTooltip": { + "message": "點選以設定此 linter", + "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" + }, + "linterInvalidConfigError": { + "message": "因為無效的設定所以未儲存:", + "description": "Invalid linter config will show a message followed by a list of invalid entries" + }, + "linterIssues": { + "message": "問題", + "description": "Label for the CSS linter issues block on the style edit page" + }, + "linterIssuesHelp": { + "message": "這些問題被 $link$ 找到了:", + "description": "Help popup message for the selected CSS linter issues block on the style edit page" + }, + "linterJSONError": { + "message": "無效的 JSON 格式", + "description": "Setting linter config with invalid JSON" + }, + "linterResetMessage": { + "message": "要復原意外的重設,在文字方塊按下 Ctrl-Z(或 Cmd-Z)", + "description": "Reset button tooltip to inform user on how to undo an accidental reset" + }, + "linterRulesLink": { + "message": "見完整的規則清單", + "description": "Stylelint or CSSLint rules label added immediately before a link" + }, + "liveReloadError": { + "message": "觀看檔案時發生錯誤", + "description": "The label of live-reload error" + }, + "liveReloadInstallHint": { + "message": "保持此分頁開啟以根據外部變更自動更新樣式。", + "description": "The label of live-reload feature" + }, + "liveReloadInstallHintFF": { + "message": "保持此分頁與原始分頁開啟以根據外部變更自動更新樣式。", + "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" + }, + "liveReloadLabel": { + "message": "即時重新整理", + "description": "The label of live-reload feature" + }, + "manageFavicons": { + "message": "Favicons 要套用到的欄位", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFaviconsGray": { + "message": "灰階淡出", + "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" + }, + "manageFaviconsHelp": { + "message": "Stylus 使用外部服務 https://www.google.com/s2/favicons", + "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" + }, + "manageFilters": { + "message": "過濾器", + "description": "Label for filters container" + }, + "manageHeading": { + "message": "已安裝的樣式", + "description": "Heading for the manage page" + }, + "manageMaxTargets": { + "message": "已套用項目的數量", + "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" + }, + "manageNewStyleAsUsercss": { + "message": "做為 Usercss", + "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" + }, + "manageNewUI": { + "message": "新的管理介面配置", + "description": "Label for the checkbox that toggles the new UI on manage page" + }, + "manageOnlyDisabled": { + "message": "僅已停用的樣式", + "description": "Checkbox to show only disabled styles" + }, + "manageOnlyEnabled": { + "message": "只顯示已啟用的樣式", + "description": "Checkbox to show only enabled styles" + }, + "manageOnlyExternal": { + "message": "僅外部樣式", + "description": "Checkbox to show only externally installed styles i.e. updatable" + }, + "manageOnlyLocal": { + "message": "僅本機建立的樣式", + "description": "Checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyLocalTooltip": { + "message": "(不是透過 userstyles.org 網頁安裝的樣式)", + "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" + }, + "manageOnlyNonUsercss": { + "message": "僅非 Usercss 樣式", + "description": "Checkbox to show only non-Usercss (standard) styles" + }, + "manageOnlyUpdates": { + "message": "僅有更新或是有問題的", + "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" + }, + "manageOnlyUsercss": { + "message": "僅 Usercss 樣式", + "description": "Checkbox to show only Usercss styles" + }, + "manageTitle": { + "message": "Stylus", + "description": "Title for the manage page" + }, + "menuShowBadge": { + "message": "顯示生效的樣式數目", + "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." + }, + "meta_invalidCheckboxDefault": { + "message": "無效的 @var 勾選框:值必須為 0 或 1", + "description": "Error displayed when the value of @var checkbox is invalid" + }, + "meta_invalidColor": { + "message": "無效的 @var 顏色:$color$ 不是顏色", + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidRange": { + "message": "無效的 @var $type$:值必須為數字或陣列", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "無效的 @var $type$:定義了多個單位", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "無效的 @var $type$:陣列包含太多項目", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "無效的 @var $type$:在陣列中的項目必須為數字、字串或空值", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeDefault": { + "message": "無效的 @var $type$:預設值為 null", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "無效的 @var $type$:預設值低於最低值", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMax": { + "message": "無效的 @var $type$:預設值大於最低值", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeStep": { + "message": "無效的 @var $type$:預設值為不是一個多步驟", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeUnits": { + "message": "無效的 @var $type$:'$units$' 不是有效單位", + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidSelect": { + "message": "無效的 @var 選擇:預設值必須為陣列或物件", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValue": { + "message": "無效的 @var 選擇:在陣列/物件中的值必須為字串", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectEmptyOptions": { + "message": "無效的 @var 選擇:選項清單為空", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectLabel": { + "message": "無效的 @var 選擇:選項標籤為空", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "無效的 @var 選擇:定義了多個預設選項", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectNameDuplicated": { + "message": "無效的 @var 選擇:選項名稱重複", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidSelectValueMismatch": { + "message": "無效的 @var 選擇:值不存在於選項清單中", + "description": "Error displayed when the value of @var select is invalid" + }, + "meta_invalidURLProtocol": { + "message": "無效的 URL 協定。僅允許 http 與 https:$protocol$", + "description": "Error displayed when the protocol of the URL is invalid" + }, + "meta_invalidVersion": { + "message": "無效的版本號。值不符合 SemVer 模式:$version$", + "description": "Error displayed when @version is invalid" + }, + "meta_invalidNumber": { + "message": "預期為數字", + "description": "Error displayed when the value is expected to be a number" + }, + "meta_invalidString": { + "message": "預期為帶引號的字串", + "description": "Error displayed when the value is expected to be a quoted string" + }, + "meta_invalidWord": { + "message": "預期為單字", + "description": "Error displayed when the value is expected to be a word" + }, + "meta_missingChar": { + "message": "預期字元:$chars$", + "description": "Error displayed when the value is expected to be some characters" + }, + "meta_missingEOT": { + "message": "預期為 EOT 資料", + "description": "Error displayed when the value is expected to be an EOT list" + }, + "meta_missingMandatory": { + "message": "遺失必要的詮釋資料:$keys$", + "description": "Error displayed when mandatory keys are missing" + }, + "meta_unknownJSONLiteral": { + "message": "無效的 JSON:$literal$ 不是有效的 JSON 文字", + "description": "Error displayed when JSON value is invalid" + }, + "meta_unknownMeta": { + "message": "未知的詮釋資料:$key$", + "description": "Error displayed when unknown metadata is parsed" + }, + "meta_unknownVarType": { + "message": "未知的 @$varkey$ 類型:$vartype$", + "description": "Error displayed when unknown variable type is parsed" + }, + "meta_unknownPreprocessor": { + "message": "未知的 @preprocessor:$preprocessor$", + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "noStylesForSite": { + "message": "目前網站沒有安裝任何樣式。", + "description": "Text displayed when no styles are installed for the current site" + }, + "numberedLine": { + "message": "行", + "description": "Will be followed by one or more line numbers in the editor." + }, + "openManage": { + "message": "管理已安裝樣式", + "description": "Link to open the manage page." + }, + "openOptions": { + "message": "選項", + "description": "Go to Options UI" + }, + "openStylesManager": { + "message": "開啟樣式管理員", + "description": "Label for the style maanger opener in the browser action context menu." + }, + "optionsActions": { + "message": "動作", + "description": "" + }, + "optionsAdvanced": { + "message": "進階", + "description": "" + }, + "optionsAdvancedContextDelete": { + "message": "在編輯器的右鍵選單中加入「刪除」", + "description": "" + }, + "optionsAdvancedExposeIframes": { + "message": "透過 HTML[stylus-iframe] 公開 iframes", + "description": "" + }, + "optionsAdvancedExposeIframesNote": { + "message": "公開每個 iframe 中的頂級頁面網域。\n啟用編寫特別用於 iframe 的 CSS,如這個:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", + "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "以 usercss 編寫新樣式", + "description": "" + }, + "optionsAdvancedPatchCsp": { + "message": "修補 CSP 以允許樣式資源", + "description": "" + }, + "optionsAdvancedPatchCspNote": { + "message": "如果樣式包含無法在有嚴格 CSP內容安全策略)的網站上載入的圖片或字型,請啟用此選項。\n\n啟用此設定將會放寬 CSP 限制,允許基本的樣式內容載入。此選項僅適用於了解潛在的安全問題,且接受監視其允許內容責任的進階使用者。閱讀關於以 CSS 為基礎的攻擊來取得更多資訊。\n\n另外請注意,如果已經有另一個已安裝的附加元件先修改了網路回應,則無法保證此設定可起作用。", + "description": "" + }, + "optionsAdvancedStyleViaXhr": { + "message": "即時注入模式", + "description": "" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在瀏覽時遇到無樣式內容 (FOUC) 的閃爍(在深色主題下尤其明顯),請啟用此選項。\n\n技術上的原因是 Chrome/Chromium 通常以無意義的嘗試延遲擴充功能的非同步通訊來改善網頁的載入速度,這可能會導致樣式較慢才被套用。為了避免這種狀況,因為擴充功能無法使用同步 API,Stylus 提供了此選項以利用「已棄用」的同步 XMLHttpRequest 網路 API 來擷取可套用的樣式。應該不會有任何有害的影響,因為在從伺服器下載頁面的同時,請求也會在幾毫秒內完成。\n\n儘管如此,Chromium 還是會在開發者工具的主控台中顯示警告。右鍵點擊警告,然後隱藏它們,這樣警告就不會再顯示。", + "description": "" + }, + "optionsBadgeDisabled": { + "message": "停用時的背景色彩", + "description": "" + }, + "optionsBadgeNormal": { + "message": "背景色彩", + "description": "" + }, + "optionsCheck": { + "message": "更新樣式", + "description": "" + }, + "optionsCheckUpdate": { + "message": "檢查並安裝所有可用的更新", + "description": "" + }, + "optionsCustomizeBadge": { + "message": "在工具列圖示上的徽章", + "description": "" + }, + "optionsCustomizeIcon": { + "message": "工具列圖示", + "description": "" + }, + "optionsCustomizePopup": { + "message": "彈出式視窗", + "description": "" + }, + "optionsCustomizeUpdate": { + "message": "更新", + "description": "" + }, + "optionsCustomizeSync": { + "message": "同步到雲端", + "description": "" + }, + "optionsHeading": { + "message": "選項", + "description": "Heading for options section on manage page." + }, + "optionsIconDark": { + "message": "暗色瀏覽器主題", + "description": "" + }, + "optionsIconLight": { + "message": "亮色瀏覽器主題", + "description": "" + }, + "optionsOpen": { + "message": "開啟", + "description": "" + }, + "optionsOpenManager": { + "message": "管理樣式", + "description": "" + }, + "optionsPopupWidth": { + "message": "彈出視窗寬度(以像素計)", + "description": "" + }, + "optionsReset": { + "message": "重設選項為預設值", + "description": "" + }, + "optionsResetButton": { + "message": "重設選項", + "description": "" + }, + "optionsStylusThemes": { + "message": "尋找 Sytlus UI 佈景主題", + "description": "" + }, + "optionsSubheading": { + "message": "更多選項", + "description": "Subheading for options section on manage page." + }, + "optionsUpdateImportNote": { + "message": "當從舊版本或是從 Stylish 匯入樣式備份時,在樣式管理員中手動進行一次更新檢查,以確保所有樣式都被更新。", + "description": "" + }, + "optionsUpdateInterval": { + "message": "使用者樣式自動更新間隔(以小時計,指定為 0 以停用)", + "description": "" + }, + "optionsSyncNone": { + "message": "無", + "description": "" + }, + "optionsSyncConnect": { + "message": "連線", + "description": "" + }, + "optionsSyncDisconnect": { + "message": "斷線", + "description": "" + }, + "optionsSyncSyncNow": { + "message": "立刻同步", + "description": "" + }, + "optionsSyncLogin": { + "message": "登入", + "description": "" + }, + "optionsSyncStatusPull": { + "message": "正在拉取樣式 $total$ 中的 $loaded$", + "description": "" + }, + "optionsSyncStatusPush": { + "message": "正在拉取樣式 $total$ 中的 $loaded$", + "description": "" + }, + "optionsSyncStatusSyncing": { + "message": "正在同步……", + "description": "" + }, + "optionsSyncStatusConnecting": { + "message": "正在連線……", + "description": "" + }, + "optionsSyncStatusConnected": { + "message": "已連線", + "description": "" + }, + "optionsSyncStatusDisconnecting": { + "message": "正在斷線……", + "description": "" + }, + "optionsSyncStatusDisconnected": { + "message": "已斷線", + "description": "" + }, + "optionsSyncStatusRelogin": { + "message": "工作階段已過期,請再次登入。", + "description": "" + }, + "paginationCurrent": { + "message": "目前頁面", + "description": "Tooltip for the current page index in search results" + }, + "paginationEstimated": { + "message": "估計頁數", + "description": "Tooltip for the total page count in search results" + }, + "paginationNext": { + "message": "下一頁", + "description": "Tooltip for the '->' (next page) button in search results" + }, + "paginationPrevious": { + "message": "上一頁", + "description": "Tooltip for the '<-' button in search results" + }, + "paginationTotal": { + "message": "總頁面", + "description": "" + }, + "parseUsercssError": { + "message": "Stylus 解析 usercss 失敗:", + "description": "The error message to show when stylus failed to parse usercss" + }, + "popupAutoResort": { + "message": "復原在切換後的彈出式視窗樣式", + "description": "Label for the checkbox controlling popup resorting." + }, + "popupBorders": { + "message": "在邊邊新增白色邊框", + "description": "" + }, + "popupBordersTooltip": { + "message": "對新 Chrome 中的暗色主題很有用,因為其不再繪製邊框", + "description": "" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>、<0>,數字鍵盤也可以 — 切換第 N 個樣式(0 是切換到第 10 個)\n- 切換以該字母為名稱第一個字的樣式\n 開啟編輯器而非切換\n 啟用列出的樣式\n 停用列出的樣式\n 與 <`> (倒引號)— 切換初始啟用的樣式;不要在彈出式視窗開啟時套用到後來啟用的樣式,這樣您就可以在測試完後復原初始選擇:僅停用全部,然後切換。 \n更多資訊請見 wiki", + "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." + }, + "popupHotkeysTooltip": { + "message": "點選以檢視可用的快速鍵", + "description": "Tooltip displayed when hovering the right edge of the extension popup" + }, + "popupManageTooltip": { + "message": "Shift + 點選或右鍵 + 點選以在管理員中開啟目前頁面可用的樣式", + "description": "Tooltip for the 'Manage' button in the popup." + }, + "popupMenuButtonTooltip": { + "message": "動作選單", + "description": "Tooltip for menu button in popup." + }, + "popupOpenEditInPopup": { + "message": "使用簡易視窗(無多功能方框)", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindow": { + "message": "在新視窗開啟編輯器", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupOpenEditInWindowTooltip": { + "message": "也透過從瀏覽器視窗分離編輯器分頁來啟用,\n並透過將單獨的編輯器分頁附加到其他視窗中來停用。", + "description": "Label for the checkbox controlling 'edit' action behavior in the popup." + }, + "popupStylesFirst": { + "message": "在工具欄按鈕命令行前列出樣式", + "description": "Label for the checkbox controlling section order in the popup." + }, + "prefShowBadge": { + "message": "在工具欄按鈕上顯示當前網站已生效的樣式表數目。", + "description": "Label for the checkbox controlling toolbar badge text." + }, + "previewLabel": { + "message": "即時預覽", + "description": "Label for the checkbox in style editor to enable live preview while editing." + }, + "previewTooltip": { + "message": "不儲存而暫時套用變更。\n儲存樣式以永久變更。", + "description": "Tooltip for the checkbox in style editor to enable live preview while editing." + }, + "reload": { + "message": "重新載入 Stylus 附加元件", + "description": "Context menu reload" + }, + "replace": { + "message": "取代", + "description": "Label before the replace input field in the editor shown on Ctrl-H" + }, + "replaceAll": { + "message": "取代所有", + "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" + }, + "replaceWith": { + "message": "取代為", + "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." + }, + "retrieveBckp": { + "message": "匯入樣式", + "description": "" + }, + "search": { + "message": "搜尋", + "description": "Label before the search input field in the editor shown on Ctrl-F" + }, + "searchCaseSensitive": { + "message": "區分大小寫", + "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" + }, + "searchGlobalStyles": { + "message": "同時搜尋全域樣式", + "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" + }, + "searchNumberOfResults": { + "message": "符合數量", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchNumberOfResults2": { + "message": "在程式碼與套用到的值的符合數量", + "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" + }, + "searchStyleQueryHint": { + "message": "搜尋樣式名稱時是區分大小寫的:\nsome words - 以任意順序搜尋所有文字\n\"some phrase\" - 精確符合引號內的詞語\n2020 - 如此年份顯示在2020年更新的樣式", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, + "searchRegexp": { + "message": "使用/re/語法正規表示式搜尋", + "description": "Label after the search input field in the editor shown on Ctrl-F" + }, + "searchResultInstallCount": { + "message": "總安裝", + "description": "Text for label that shows the number of times a search result was installed" + }, + "searchResultNoneFound": { + "message": "找不到此頁面相關的樣式", + "description": "Error text in the popup when inline search didn't find any site-specific styles" + }, + "searchResultNotMatching": { + "message": "樣式已安裝,但不會套用到目前網站的 URL。", + "description": "" + }, + "searchResultNotMatchingNote": { + "message": "嘗試要求此使用者樣式的作者新增 URL。\n\n您也可以在管理程式中開啟樣式,然後自行編輯,\n但請注意,這樣做會停用此樣式的自動更新。", + "description": "" + }, + "searchResultRating": { + "message": "評價", + "description": "Text for label that shows the search result's rating" + }, + "searchResultUpdated": { + "message": "已更新", + "description": "Text for label that shows the search result's last update date" + }, + "searchResultWeeklyCount": { + "message": "每週安裝", + "description": "Text for label that shows the number of times a search result was installed during last week" + }, + "searchStylesAll": { + "message": "全部", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesCode": { + "message": "CSS 程式碼", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesHelp": { + "message": " 或 鍵可將焦點置於搜尋欄。\n預設的模式為純文字搜尋,以任意順序搜尋所有以空格分隔的詞語。\n精確字詞:將字詞以雙引號包起來,例如 <\".header ~ div\">\n正規表達式:包含斜線與標誌,如 \n範圍選擇器中的「按 URL」:尋找適用於完全指定 URL 的樣式,如 https://www.example.org/\n範圍選擇器中的「詮釋資料」:搜尋名稱、「套用至」說明、安裝 URL、更新 URL 與整個 usercss 樣式的詮釋資料區塊。", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" + }, + "searchStylesMatchUrl": { + "message": "按 URL", + "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." + }, + "searchStylesMeta": { + "message": "詮釋資料", + "description": "Option for `find styles` scope selector in the manager." + }, + "searchStylesName": { + "message": "名稱", + "description": "Option for `find styles` scope selector in the manager." + }, + "sectionAdd": { + "message": "再加入一個樣式段", + "description": "Label for the button to add a section" + }, + "sectionCode": { + "message": "代碼", + "description": "Label for the code for a section" + }, + "sectionRemove": { + "message": "移除樣式段", + "description": "Label for the button to remove a section" + }, + "sectionRestore": { + "message": "復原已移除的部份", + "description": "Label for the button to restore a removed section" + }, + "sections": { + "message": "樣式段", + "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" + }, + "shortcuts": { + "message": "快速鍵", + "description": "Go to shortcut configuration" + }, + "shortcutsNote": { + "message": "自訂鍵盤快速鍵", + "description": "" + }, + "sortDateNewestFirst": { + "message": "最新的優先", + "description": "Text added to indicate that sorting a date would add the newest entries at the top" + }, + "sortDateOldestFirst": { + "message": "最舊的優先", + "description": "Text added to indicate that sorting a date would add the oldest entries at the top" + }, + "sortLabel": { + "message": "選取適用於已安裝樣式的排序方式", + "description": "Title on the sort select to indicate it is used for sorting entries" + }, + "sortLabelTitleAsc": { + "message": "標題遞增", + "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" + }, + "sortLabelTitleDesc": { + "message": "標題遞減", + "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" + }, + "sortStylesHelp": { + "message": "從下拉選單中選取要套用於已安裝項目的排序類型。預設使用標題遞增排序(A 到 Z)。「標題遞減」則會套用遞減排序(Z 到 A)。\n還有其他的排序方式。您可以想像對一個多欄的表格進行排序,並且每次選取(加號之間)都代表了一欄或一組。\n舉例來說,若設定為「啟用(第一)+標題」,將會把所有已啟用的項目都排列在頂部,然後再以標題遞增(A 到 Z)的順序來分別套用到已啟用與已停用的項目。", + "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" + }, + "sortStylesHelpTitle": { + "message": "排序內容", + "description": "Label for the sort info popup on the Manage styles page" + }, + "styleBadRegexp": { + "message": "正規表示式無效。", + "description": "Validation message for a bad regexp in a style" + }, + "styleBeautify": { + "message": "美化", + "description": "Label for the CSS-beautifier button on the edit style page" + }, + "styleBeautifyHint": { + "message": "提示:右鍵點選「美化」按鈕或使用下面定義的鍵盤快捷鍵來美化而不顯示此面板", + "description": "Hint shown inside the CSS-beautifier panel" + }, + "styleBeautifyIndentConditional": { + "message": "縮排 @media, @supports", + "description": "CSS-beautifier option" + }, + "styleBeautifyPreserveNewlines": { + "message": "保留新行", + "description": "CSS-beautifier option" + }, + "styleCancelEditLabel": { + "message": "返回到管理頁面", + "description": "Label for cancel button for style editing" + }, + "styleChangesNotSaved": { + "message": "你已經修改了此樣式,但尚未保存。", + "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" + }, + "styleEnabledLabel": { + "message": "已啟用", + "description": "Label for the enabled state of styles" + }, + "styleFromMozillaFormatError": { + "message": "從 Mozilla 格式匯入失敗", + "description": "Label for the import error" + }, + "styleFromMozillaFormatPrompt": { + "message": "貼上 Mozilla 格式代碼", + "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" + }, + "styleInstall": { + "message": "安裝 '$stylename$' 到 Stylus ?", + "description": "Confirmation when installing a style" + }, + "styleInstallFailed": { + "message": "安裝使用者樣式失敗!\n$error$", + "description": "Warning when installation failed" + }, + "styleInstallOverwrite": { + "message": "「$stylename$」已安裝。要覆寫嗎?\n版本:$oldVersion$→$newVersion$", + "description": "Confirmation when re-installing a style" + }, + "styleMissingName": { + "message": "輸入名稱", + "description": "Error displayed when user saves without providing a name" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla格式", + "description": "Heading for the section with buttons to import/export Mozilla format of the style" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "因為不正確的 'regexp()' 使用導致未套用", + "description": "Tooltip in the popup for styles that were not applied at all" + }, + "styleRegexpInvalidExplanation": { + "message": "部份 'regexp()' 規則可能不再能被編譯。", + "description": "" + }, + "styleRegexpPartialExplanation": { + "message": "這個樣式使用部份符合的正規表示式,違反了 CSS4 @document 規範,其需要完整的 URL 符合。授影響的 CSS 不會討用在頁面上。這個樣式由 Chrome 版 Stylish 所建立,其在早期版本不正確地檢查 'regexp()' 規則(已知的臭蟲)。", + "description": "" + }, + "styleRegexpProblemTooltip": { + "message": "因為不正確的 'regexp()' 使用導致未套用的樣式段數量", + "description": "Tooltip in the popup for styles that were applied only partially" + }, + "styleRegexpTestButton": { + "message": "正規表示式測試", + "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" + }, + "styleRegexpTestFull": { + "message": "符合的分頁", + "description": "RegExp test report: label for the fully matching expressions" + }, + "styleRegexpTestInvalid": { + "message": "已跳過無效的正規表示式", + "description": "RegExp test report: label for the invalid expressions" + }, + "styleRegexpTestNone": { + "message": "沒有符合的分頁", + "description": "RegExp test report: label for expressions that didn't match any tabs" + }, + "styleRegexpTestNote": { + "message": "注意:使用單個 \\ 來在正規表示式的輸入欄位中逃脫,其將會根據在 CSS 中的引用字串的規定,自動在樣式代碼中轉換為 \\\\。", + "description": "RegExp test report: a note displayed at the bottom of the dialog" + }, + "styleRegexpTestPartial": { + "message": "不完全符合,因而跳過", + "description": "RegExp test report: label for the partially matching expressions" + }, + "styleRegexpTestTitle": { + "message": "符合的已開啟分頁清單(在 URL 上點選以將焦點轉移至它的分頁)", + "description": "RegExp test report: title of the report" + }, + "styleSaveLabel": { + "message": "儲存", + "description": "Label for save button for style editing" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla格式的樣式代碼能在火狐版Stylus使用,也可以提交至 userstyles.org 。", + "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla格式樣式表", + "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" + }, + "styleUpdate": { + "message": "你確定你要更新 '$stylename$' ?", + "description": "Confirmation when updating a style" + }, + "styleUpdateDiscardChanges": { + "message": "樣式已在編輯器外變更。您想要重新載入樣式嗎?", + "description": "Confirmation to update the style in the editor" + }, + "stylusUnavailableForURL": { + "message": "Stylus 不能在諸如此類的網頁上生效。", + "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "stylusUnavailableForURLdetails": { + "message": "作為安全措施,瀏覽器禁止擴充套件影響其內建頁面(如 chrome://version、截至 Chrome 61 為止的新分頁、about:addons 以及其他頁面)以及其他擴充套件的頁面。每個瀏覽器也都限制對它們自己的擴充套件庫的存取(如 Chrome 線上應用程式商店或是 Firefox 附加元件庫等)。", + "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" + }, + "syncStorageErrorSaving": { + "message": "無法儲存值。嘗試減少文字量。", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, + "syncError": { + "message": "同步失敗", + "description": "Tooltip for the toolbar icon" + }, + "syncErrorRelogin": { + "message": "同步失敗。\n重是在 Stylus 選項重新登入:\n先點擊「斷線」,然後「連線」。", + "description": "Tooltip for the toolbar icon" + }, + "toggleStyle": { + "message": "切換樣式", + "description": "Label for the checkbox to enable/disable a style" + }, + "undo": { + "message": "還原", + "description": "Button label" + }, + "undoGlobal": { + "message": "還原(全域)", + "description": "CSS-beautify global Undo button label" + }, + "unreachableAMO": { + "message": "Firefox 禁止存取頁面。", + "description": "Note in the popup displayed when opened on addons.mozilla.org" + }, + "unreachableAMOHint": { + "message": "要允許存取,開啟 ,在清單上點選右鍵,點選「新增」,然後再點選「布林」,貼上 並點選確定→→確定,然後重新整理 頁面。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintNewFF": { + "message": "在 Firefox 60 或更新的版本中,您也必須將 AMO 的網域從 中的 移除。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" + }, + "unreachableAMOHintOldFF": { + "message": "僅 Firefox 59 或更新版本才能讓您設定允許 WebExtensions 在如同這個一樣的有 CSP 保護的頁面上新增樣式元素。", + "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" + }, + "unreachableContentScript": { + "message": "無法與頁面通訊。嘗試重新載入分頁。", + "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" + }, + "unreachableFileHint": { + "message": "Stylus 僅在您於 chrome://extensions 啟用了 Stylus 擴充套件中對應的勾選框時才能存取 file:// 的 URL。", + "description": "Note in the toolbar popup for file:// URLs" + }, + "InaccessibleFileHint": { + "message": "Stylus 無法存取某些檔案類型(如 PDF 與 JSON 檔案)。", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "樣式都是最新的。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "一些可更新的樣式不會檢查以避免遺失可能有的本機編輯。更新可以強制獨立檢查,或是對所有樣式都執行檢查(本機編輯將會被覆寫)。", + "description": "Text that displays when an update all check completed and no updates are available" + }, + "updateCheckFailBadResponseCode": { + "message": "更新失敗: 伺服器傳回代碼 $code$。", + "description": "Text that displays when an update check failed because the response code indicates an error" + }, + "updateCheckFailServerUnreachable": { + "message": "更新失敗: 無法訪問伺服器。", + "description": "Text that displays when an update check failed because the update server is unreachable" + }, + "updateCheckHistory": { + "message": "更新檢查的歷史", + "description": "" + }, + "updateCheckManualUpdateForce": { + "message": "安裝更新(本機編輯將會被覆寫)", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckManualUpdateHint": { + "message": "強制更新覆蓋任何本機編輯。", + "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedLocallyEdited": { + "message": "這個樣式已在本機編輯。", + "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "這個樣式可能在本機被編輯過。", + "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" + }, + "updateCheckSucceededNoUpdate": { + "message": "樣式已是最新的。", + "description": "Text that displays when an update check completed and no update is available" + }, + "updateCompleted": { + "message": "更新完成。", + "description": "Text that displays when an update completed" + }, + "updatesCurrentlyInstalled": { + "message": "更新已安裝的:", + "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." + }, + "usercssAvoidOverwriting": { + "message": "請變更 @name 或 @namespace 的值以避免覆寫既有的樣式。", + "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." + }, + "usercssConfigIncomplete": { + "message": "在設定對話框顯示後,樣式已更新或刪除。這個變數將不會儲存,以避免損毀樣式的詮釋資料。", + "description": "" + }, + "usercssEditorNamePlaceholder": { + "message": "在程式碼中指定 @name", + "description": "Placeholder text for the empty name input field when creating a new Usercss style" + }, + "usercssReplaceTemplateConfirmation": { + "message": "為新的 Usercss 樣式取代預設的範本為目前的程式碼?", + "description": "" + }, + "usercssReplaceTemplateName": { + "message": "清空 @name 取代目前範本", + "description": "The text shown after @name when creating a new Usercss style" + }, + "usercssReplaceTemplateSectionBody": { + "message": "在此插入程式碼……", + "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" + }, + "versionInvalidOlder": { + "message": "版本舊於已安裝的樣式。", + "description": "Displayed when the version of style is older than the installed one" + }, + "writeStyleFor": { + "message": "編寫樣式給:", + "description": "Label for toolbar pop-up that precedes the links to write a new style" + }, + "writeStyleForURL": { + "message": "此網址", + "description": "Text for link in toolbar pop-up to write a new style for the current URL" + }, + "syncDropboxStyles": { + "message": "Dropbox 匯出", + "description": "" + }, + "syncDropboxDeprecated": { + "message": "Dropbox 匯入/匯出已被選項頁面中的更進階的樣式同步所取代。", + "description": "" + }, + "retrieveDropboxSync": { + "message": "Dropbox 匯入", + "description": "" + }, + "overwriteFileExport": { + "message": "您想要覆寫既有的檔案嗎?", + "description": "" + }, + "exportSavedSuccess": { + "message": "檔案儲存成功", + "description": "" + }, + "noFileToImport": { + "message": "要匯入您的樣式,您必須先匯出。", + "description": "" + }, + "connectingDropbox": { + "message": "正在連線至 Dropbox……", + "description": "" + }, + "connectingDropboxNotAllowed": { + "message": "連線到 Dropbox 僅在直接從 webstore 安裝的應用程式中可用", + "description": "" + }, + "gettingStyles": { + "message": "正在取得所有樣式……", + "description": "" + }, + "zipStyles": { + "message": "正在壓縮樣式……", + "description": "" + }, + "unzipStyles": { + "message": "正在解壓縮樣式……", + "description": "" + }, + "readingStyles": { + "message": "正在讀取樣式……", + "description": "" + }, + "uploadingFile": { + "message": "正在上傳檔案……", + "description": "" + }, + "addStyleLabel": { + "message": "編寫新樣式", + "description": "Label for the button to go to the add style page" } - }, - "appliesDisplayTruncatedSuffix": { - "message": "以及更多", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "該域名上的網址", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "使用「適用於」控件來限制這個樣式段適用的網址。", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "適用於", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "顯示「套用至」資訊", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "無法與最小化的 CSS 一起運作", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "比對正規表示式的網址", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "移除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "無法移除最後的「套用到」項目", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "全部", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "網址", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "含以下前綴的網址", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "應用所有更新", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "備份", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "選取檔案並拖曳到此頁面。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "匯出樣式", - "description": "" - }, - "checkAllUpdates": { - "message": "檢查所有樣式更新", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "再次檢查,我沒有編輯任何樣式!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "檢查更新", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "檢查中…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "點選以解除安裝", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "自動關閉括號與引號", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "當輸入開放的 ()[]{}''\"\" 時自動新增另一邊的標點符號", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "在輸入時自動完成", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "用於 CSS 色彩的色彩選擇器", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "用 Tab 鍵智慧縮排", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "鍵盤映射", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "自動換行", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_matchHighlight": { - "message": "突顯", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "僅段", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "在游標下的 Token", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "按兩下以最大化/還原高度", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "按兩下選取 token", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Token 的範例:.foo-bar-2 #aabbcc 0.32 !important\n當停用時:將會選取被標點符號分隔的字詞。", - "description": "" - }, - "cm_smartIndent": { - "message": "使用智慧縮排", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab 大小", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "主題", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "右鍵點擊其中ㄧ部份以循環其原始碼", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "切換格式:HEX → RGB → HSL。\nShift 並點選則為反向進行。\n也可以使用 PgUp (PageUp) 與 PgDn (PageDown) 鍵。", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "開啟色彩選擇器", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "正在變更", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "自動儲存與套用變更", - "description": "" - }, - "configureStyle": { - "message": "設定", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "在首頁上設定", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "取消", - "description": "" - }, - "confirmClose": { - "message": "關閉", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "使用預設值", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "刪除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "放棄變更?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "否", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "確定", - "description": "" - }, - "confirmSave": { - "message": "儲存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "停止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "是", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "已複製到剪貼簿", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "複製到剪貼簿", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "在此輸入自訂名稱以在使用者介面中重新命名樣式而不會中斷其更新", - "description": "" - }, - "customNameResetHint": { - "message": "停止使用自訂的名稱,切換到樣式自己的名稱", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$天", - "description": "Day suffix in a short relative date, for example: 8d", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrHour": { - "message": "$value$小時", - "description": "Hour suffix in a short relative date, for example: 8h", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrMonth": { - "message": "$value$月", - "description": "Month suffix in a short relative date, for example: 8m", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateAbbrYear": { - "message": "$value$年", - "description": "Year suffix in a short relative date, for example: 8y", - "placeholders": { - "value": { - "content": "$1" - } - } - }, - "dateInstalled": { - "message": "安裝日期", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日期", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "使用 Stylus 資料庫時出現錯誤。你想訪問可能包含解決辦法的網頁嗎?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "預設", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "確定要刪除這個樣式嗎?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "删除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "用Stylus(一個用戶樣式管理器)重塑網頁。 Stylus 讓你能為诸多主流網站輕鬆的安裝主題和皮膚。", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "停用所有樣式", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "停用", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "將您的備份檔拖曳到此頁面的任何地方以匯入。", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "要安裝檔案,請將其放到分頁上(顯示分頁標題的區域)。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "删除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "跳到行(或 line:col )", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "編輯樣式", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "編輯", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "編輯樣式 $stylename$", - "description": "Title of the page for editing styles", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "enableStyleLabel": { - "message": "啟用", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "排除目前的網域", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "排除目前的 URL", - "description": "" - }, - "exportLabel": { - "message": "匯出", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "回饋", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "首頁", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部連結", - "description": "Label for external links" - }, - "externalSupport": { - "message": "支援", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss 的文件", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ 個已顯示,總共 $numTotal$ 個", - "description": "TL note - make this message short", - "placeholders": { - "numTotal": { - "content": "$2" - }, - "numShown": { - "content": "$1" - } - } - }, - "filteredStylesAllHidden": { - "message": "目前套用的過濾器未符合樣式", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "尋找樣式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "查找更多適合此網站的樣式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "嵌入", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "在此視窗中顯示搜尋結果。", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "新增", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "複製", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "已停用", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "已啟用", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "錯誤", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "歷史", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "下一步", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "上一步", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "重設", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "已儲存", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "標題", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "未知", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "說明", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "鍵入命令名稱", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "按下快速鍵", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "由於所用目前版本瀏覽器的臭蟲,此主機已被停用", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "追加到樣式", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "追加導入的樣式到當前樣式", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "匯入", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "使用 @preprocessor 的樣是在經典模式下無法運作。您可以將編輯器切換到 Usercss 模式:1) 開啟樣式管理程式,2) 啟用「做為 Usercss」對話框,3) 點擊「編寫新樣式」\n", - "description": "" - }, - "importPreprocessorTitle": { - "message": "@preprocessor 引起的潛在問題", - "description": "" - }, - "importReplaceLabel": { - "message": "覆蓋樣式", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "棄用當前樣式內容并用導入樣式覆蓋", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "已加入", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "已跳過相同的", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "已跳過無效的", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "後設資訊與程式碼均已更新", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "已更新的程式碼", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "已更新後設資訊", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "匯入樣式已完成", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "沒有變更。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "樣式已被復原", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "匯入已被復原", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "安裝樣式", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "樣式已安裝", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "重新安裝樣式", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新樣式", - "description": "Label for update button" - }, - "installUpdate": { - "message": "安裝更新", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "目前從 $url$ 更新樣式", - "description": "Label to describe where the style gets update", - "placeholders": { - "url": { - "content": "$1" - } - } - }, - "installUpdateFromLabel": { - "message": "檢查更新", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "授權條款", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "取得協助", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "取得樣式", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkTranslate": { - "message": "翻譯", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint 不支援 $preprocessorname$ 預處理器", - "description": "The label to display when the preprocessor isn't compatible with CSSLint", - "placeholders": { - "preprocessorname": { - "content": "$1" - } - } - }, - "linterCSSLintSettings": { - "message": "(設定規則為:0 = 停用;1 = 警告;2 = 錯誤)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "設定 $linter$ 規則設定", - "description": "Stylelint or CSSLint popup header", - "placeholders": { - "linter": { - "content": "$1" - } - } - }, - "linterConfigTooltip": { - "message": "點選以設定此 linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "因為無效的設定所以未儲存:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "問題", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "這些問題被 $link$ 找到了:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page", - "placeholders": { - "link": { - "content": "$1" - } - } - }, - "linterJSONError": { - "message": "無效的 JSON 格式", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "要復原意外的重設,在文字方塊按下 Ctrl-Z(或 Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "見完整的規則清單", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "觀看檔案時發生錯誤", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "保持此分頁開啟以根據外部變更自動更新樣式。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "保持此分頁與原始分頁開啟以根據外部變更自動更新樣式。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "即時重新整理", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons 要套用到的欄位", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "灰階淡出", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus 使用外部服務 https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "過濾器", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "已安裝的樣式", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "已套用項目的數量", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "做為 Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新的管理介面配置", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "僅已停用的樣式", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "只顯示已啟用的樣式", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "僅外部樣式", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "僅本機建立的樣式", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(不是透過 userstyles.org 網頁安裝的樣式)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "僅非 Usercss 樣式", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "僅有更新或是有問題的", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "僅 Usercss 樣式", - "description": "Checkbox to show only Usercss styles" - }, - "menuShowBadge": { - "message": "顯示生效的樣式數目", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "無效的 @var 勾選框:值必須為 0 或 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "無效的 @var 顏色:$color$ 不是顏色", - "description": "Error displayed when the value of @var color is invalid", - "placeholders": { - "color": { - "content": "$1" - } - } - }, - "meta_invalidRange": { - "message": "無效的 @var $type$:值必須為數字或陣列", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "無效的 @var $type$:定義了多個單位", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "無效的 @var $type$:陣列包含太多項目", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "無效的 @var $type$:在陣列中的項目必須為數字、字串或空值", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeDefault": { - "message": "無效的 @var $type$:預設值為 null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMin": { - "message": "無效的 @var $type$:預設值低於最低值", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeMax": { - "message": "無效的 @var $type$:預設值大於最低值", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeStep": { - "message": "無效的 @var $type$:預設值為不是一個多步驟", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeUnits": { - "message": "無效的 @var $type$:'$units$' 不是有效單位", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - }, - "units": { - "content": "$2" - } - } - }, - "meta_invalidSelect": { - "message": "無效的 @var 選擇:預設值必須為陣列或物件", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "無效的 @var 選擇:在陣列/物件中的值必須為字串", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "無效的 @var 選擇:選項清單為空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "無效的 @var 選擇:選項標籤為空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "無效的 @var 選擇:定義了多個預設選項", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "無效的 @var 選擇:選項名稱重複", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "無效的 @var 選擇:值不存在於選項清單中", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "無效的 URL 協定。僅允許 http 與 https:$protocol$", - "description": "Error displayed when the protocol of the URL is invalid", - "placeholders": { - "protocol": { - "content": "$1" - } - } - }, - "meta_invalidVersion": { - "message": "無效的版本號。值不符合 SemVer 模式:$version$", - "description": "Error displayed when @version is invalid", - "placeholders": { - "version": { - "content": "$1" - } - } - }, - "meta_invalidNumber": { - "message": "預期為數字", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "預期為帶引號的字串", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "預期為單字", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "預期字元:$chars$", - "description": "Error displayed when the value is expected to be some characters", - "placeholders": { - "chars": { - "content": "$1" - } - } - }, - "meta_missingEOT": { - "message": "預期為 EOT 資料", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "遺失必要的詮釋資料:$keys$", - "description": "Error displayed when mandatory keys are missing", - "placeholders": { - "keys": { - "content": "$1" - } - } - }, - "meta_unknownJSONLiteral": { - "message": "無效的 JSON:$literal$ 不是有效的 JSON 文字", - "description": "Error displayed when JSON value is invalid", - "placeholders": { - "literal": { - "content": "$1" - } - } - }, - "meta_unknownMeta": { - "message": "未知的詮釋資料:$key$", - "description": "Error displayed when unknown metadata is parsed", - "placeholders": { - "key": { - "content": "$1" - } - } - }, - "meta_unknownVarType": { - "message": "未知的 @$varkey$ 類型:$vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } - }, - "meta_unknownPreprocessor": { - "message": "未知的 @preprocessor:$preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", - "placeholders": { - "preprocessor": { - "content": "$1" - } - } - }, - "noStylesForSite": { - "message": "目前網站沒有安裝任何樣式。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理已安裝樣式", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "選項", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "開啟樣式管理員", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "動作", - "description": "" - }, - "optionsAdvanced": { - "message": "進階", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "在編輯器的右鍵選單中加入「刪除」", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "透過 HTML[stylus-iframe] 公開 iframes", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "公開每個 iframe 中的頂級頁面網域。\n啟用編寫特別用於 iframe 的 CSS,如這個:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "以 usercss 編寫新樣式", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "修補 CSP 以允許樣式資源", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "如果樣式包含無法在有嚴格 CSP內容安全策略)的網站上載入的圖片或字型,請啟用此選項。\n\n啟用此設定將會放寬 CSP 限制,允許基本的樣式內容載入。此選項僅適用於了解潛在的安全問題,且接受監視其允許內容責任的進階使用者。閱讀關於以 CSS 為基礎的攻擊來取得更多資訊。\n\n另外請注意,如果已經有另一個已安裝的附加元件先修改了網路回應,則無法保證此設定可起作用。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "即時注入模式", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "如果在瀏覽時遇到無樣式內容 (FOUC) 的閃爍(在深色主題下尤其明顯),請啟用此選項。\n\n技術上的原因是 Chrome/Chromium 通常以無意義的嘗試延遲擴充功能的非同步通訊來改善網頁的載入速度,這可能會導致樣式較慢才被套用。為了避免這種狀況,因為擴充功能無法使用同步 API,Stylus 提供了此選項以利用「已棄用」的同步 XMLHttpRequest 網路 API 來擷取可套用的樣式。應該不會有任何有害的影響,因為在從伺服器下載頁面的同時,請求也會在幾毫秒內完成。\n\n儘管如此,Chromium 還是會在開發者工具的主控台中顯示警告。右鍵點擊警告,然後隱藏它們,這樣警告就不會再顯示。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "停用時的背景色彩", - "description": "" - }, - "optionsBadgeNormal": { - "message": "背景色彩", - "description": "" - }, - "optionsCheck": { - "message": "更新樣式", - "description": "" - }, - "optionsCheckUpdate": { - "message": "檢查並安裝所有可用的更新", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "在工具列圖示上的徽章", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "工具列圖示", - "description": "" - }, - "optionsCustomizePopup": { - "message": "彈出式視窗", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "更新", - "description": "" - }, - "optionsCustomizeSync": { - "message": "同步到雲端", - "description": "" - }, - "optionsHeading": { - "message": "選項", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "暗色瀏覽器主題", - "description": "" - }, - "optionsIconLight": { - "message": "亮色瀏覽器主題", - "description": "" - }, - "optionsOpen": { - "message": "開啟", - "description": "" - }, - "optionsOpenManager": { - "message": "管理樣式", - "description": "" - }, - "optionsPopupWidth": { - "message": "彈出視窗寬度(以像素計)", - "description": "" - }, - "optionsReset": { - "message": "重設選項為預設值", - "description": "" - }, - "optionsResetButton": { - "message": "重設選項", - "description": "" - }, - "optionsStylusThemes": { - "message": "尋找 Sytlus UI 佈景主題", - "description": "" - }, - "optionsSubheading": { - "message": "更多選項", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "當從舊版本或是從 Stylish 匯入樣式備份時,在樣式管理員中手動進行一次更新檢查,以確保所有樣式都被更新。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "使用者樣式自動更新間隔(以小時計,指定為 0 以停用)", - "description": "" - }, - "optionsSyncNone": { - "message": "無", - "description": "" - }, - "optionsSyncConnect": { - "message": "連線", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "斷線", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "立刻同步", - "description": "" - }, - "optionsSyncLogin": { - "message": "登入", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "正在拉取樣式 $total$ 中的 $loaded$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusPush": { - "message": "正在拉取樣式 $total$ 中的 $loaded$", - "description": "", - "placeholders": { - "loaded": { - "content": "$1" - }, - "total": { - "content": "$2" - } - } - }, - "optionsSyncStatusSyncing": { - "message": "正在同步……", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "正在連線……", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "已連線", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "正在斷線……", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "已斷線", - "description": "" - }, - "paginationCurrent": { - "message": "目前頁面", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "估計頁數", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "下一頁", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "上一頁", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "總頁面", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus 解析 usercss 失敗:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "復原在切換後的彈出式視窗樣式", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "在邊邊新增白色邊框", - "description": "" - }, - "popupBordersTooltip": { - "message": "對新 Chrome 中的暗色主題很有用,因為其不再繪製邊框", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>、<0>,數字鍵盤也可以 — 切換第 N 個樣式(0 是切換到第 10 個)\n- 切換以該字母為名稱第一個字的樣式\n 開啟編輯器而非切換\n 啟用列出的樣式\n 停用列出的樣式\n 與 <`> (倒引號)— 切換初始啟用的樣式;不要在彈出式視窗開啟時套用到後來啟用的樣式,這樣您就可以在測試完後復原初始選擇:僅停用全部,然後切換。 \n更多資訊請見 wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "點選以檢視可用的快速鍵", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift + 點選或右鍵 + 點選以在管理員中開啟目前頁面可用的樣式", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "動作選單", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "使用簡易視窗(無多功能方框)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "在新視窗開啟編輯器", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "也透過從瀏覽器視窗分離編輯器分頁來啟用,\n並透過將單獨的編輯器分頁附加到其他視窗中來停用。", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "在工具欄按鈕命令行前列出樣式", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "在工具欄按鈕上顯示當前網站已生效的樣式表數目。", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "即時預覽", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "不儲存而暫時套用變更。\n儲存樣式以永久變更。", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "重新載入 Stylus 附加元件", - "description": "Context menu reload" - }, - "replace": { - "message": "取代", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "取代所有", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "取代為", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "匯入樣式", - "description": "" - }, - "search": { - "message": "搜尋", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "區分大小寫", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "同時搜尋全域樣式", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "符合數量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "在程式碼與套用到的值的符合數量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "搜尋樣式名稱時是區分大小寫的:\nsome words - 以任意順序搜尋所有文字\n\"some phrase\" - 精確符合引號內的詞語\n2020 - 如此年份顯示在2020年更新的樣式", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "使用/re/語法正規表示式搜尋", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "總安裝", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "找不到此頁面相關的樣式", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "樣式已安裝,但不會套用到目前網站的 URL。", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "嘗試要求此使用者樣式的作者新增 URL。\n\n您也可以在管理程式中開啟樣式,然後自行編輯,\n但請注意,這樣做會停用此樣式的自動更新。", - "description": "" - }, - "searchResultRating": { - "message": "評價", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "已更新", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "每週安裝", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "全部", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS 程式碼", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " 或 鍵可將焦點置於搜尋欄。\n預設的模式為純文字搜尋,以任意順序搜尋所有以空格分隔的詞語。\n精確字詞:將字詞以雙引號包起來,例如 <\".header ~ div\">\n正規表達式:包含斜線與標誌,如 \n範圍選擇器中的「按 URL」:尋找適用於完全指定 URL 的樣式,如 https://www.example.org/\n範圍選擇器中的「詮釋資料」:搜尋名稱、「套用至」說明、安裝 URL、更新 URL 與整個 usercss 樣式的詮釋資料區塊。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "按 URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "詮釋資料", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名稱", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "再加入一個樣式段", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "代碼", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "移除樣式段", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "復原已移除的部份", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "樣式段", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "快速鍵", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "自訂鍵盤快速鍵", - "description": "" - }, - "sortDateNewestFirst": { - "message": "最新的優先", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "最舊的優先", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "選取適用於已安裝樣式的排序方式", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "標題遞增", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "標題遞減", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "從下拉選單中選取要套用於已安裝項目的排序類型。預設使用標題遞增排序(A 到 Z)。「標題遞減」則會套用遞減排序(Z 到 A)。\n還有其他的排序方式。您可以想像對一個多欄的表格進行排序,並且每次選取(加號之間)都代表了一欄或一組。\n舉例來說,若設定為「啟用(第一)+標題」,將會把所有已啟用的項目都排列在頂部,然後再以標題遞增(A 到 Z)的順序來分別套用到已啟用與已停用的項目。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "排序內容", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正規表示式無效。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "美化", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "提示:右鍵點選「美化」按鈕或使用下面定義的鍵盤快捷鍵來美化而不顯示此面板", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "縮排 @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "保留新行", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "返回到管理頁面", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "你已經修改了此樣式,但尚未保存。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "已啟用", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "從 Mozilla 格式匯入失敗", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "貼上 Mozilla 格式代碼", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "安裝 '$stylename$' 到 Stylus ?", - "description": "Confirmation when installing a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleInstallFailed": { - "message": "安裝使用者樣式失敗!\n$error$", - "description": "Warning when installation failed", - "placeholders": { - "error": { - "content": "$1" - } - } - }, - "styleInstallOverwrite": { - "message": "「$stylename$」已安裝。要覆寫嗎?\n版本:$oldVersion$→$newVersion$", - "description": "Confirmation when re-installing a style", - "placeholders": { - "stylename": { - "content": "$1" - }, - "newVersion": { - "content": "$3" - }, - "oldVersion": { - "content": "$2" - } - } - }, - "styleMissingName": { - "message": "輸入名稱", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla格式", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "因為不正確的 'regexp()' 使用導致未套用", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "部份 'regexp()' 規則可能不再能被編譯。", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "這個樣式使用部份符合的正規表示式,違反了 CSS4 @document 規範,其需要完整的 URL 符合。授影響的 CSS 不會討用在頁面上。這個樣式由 Chrome 版 Stylish 所建立,其在早期版本不正確地檢查 'regexp()' 規則(已知的臭蟲)。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "因為不正確的 'regexp()' 使用導致未套用的樣式段數量", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正規表示式測試", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "符合的分頁", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "已跳過無效的正規表示式", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "沒有符合的分頁", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注意:使用單個 \\ 來在正規表示式的輸入欄位中逃脫,其將會根據在 CSS 中的引用字串的規定,自動在樣式代碼中轉換為 \\\\。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "不完全符合,因而跳過", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "符合的已開啟分頁清單(在 URL 上點選以將焦點轉移至它的分頁)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "儲存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla格式的樣式代碼能在火狐版Stylus使用,也可以提交至 userstyles.org 。", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla格式樣式表", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "你確定你要更新 '$stylename$' ?", - "description": "Confirmation when updating a style", - "placeholders": { - "stylename": { - "content": "$1" - } - } - }, - "styleUpdateDiscardChanges": { - "message": "樣式已在編輯器外變更。您想要重新載入樣式嗎?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus 不能在諸如此類的網頁上生效。", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "作為安全措施,瀏覽器禁止擴充套件影響其內建頁面(如 chrome://version、截至 Chrome 61 為止的新分頁、about:addons 以及其他頁面)以及其他擴充套件的頁面。每個瀏覽器也都限制對它們自己的擴充套件庫的存取(如 Chrome 線上應用程式商店或是 Firefox 附加元件庫等)。", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "無法儲存值。嘗試減少文字量。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "toggleStyle": { - "message": "切換樣式", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "還原", - "description": "Button label" - }, - "undoGlobal": { - "message": "還原(全域)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox 禁止存取頁面。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "要允許存取,開啟 ,在清單上點選右鍵,點選「新增」,然後再點選「布林」,貼上 並點選確定→→確定,然後重新整理 頁面。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "在 Firefox 60 或更新的版本中,您也必須將 AMO 的網域從 中的 移除。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "僅 Firefox 59 或更新版本才能讓您設定允許 WebExtensions 在如同這個一樣的有 CSP 保護的頁面上新增樣式元素。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "無法與頁面通訊。嘗試重新載入分頁。", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus 僅在您於 chrome://extensions 啟用了 Stylus 擴充套件中對應的勾選框時才能存取 file:// 的 URL。", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus 無法存取某些檔案類型(如 PDF 與 JSON 檔案)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "樣式都是最新的。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "一些可更新的樣式不會檢查以避免遺失可能有的本機編輯。更新可以強制獨立檢查,或是對所有樣式都執行檢查(本機編輯將會被覆寫)。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新失敗: 伺服器傳回代碼 $code$。", - "description": "Text that displays when an update check failed because the response code indicates an error", - "placeholders": { - "code": { - "content": "$1" - } - } - }, - "updateCheckFailServerUnreachable": { - "message": "更新失敗: 無法訪問伺服器。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "更新檢查的歷史", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "安裝更新(本機編輯將會被覆寫)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "強制更新覆蓋任何本機編輯。", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "這個樣式已在本機編輯。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "這個樣式可能在本機被編輯過。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "樣式已是最新的。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新完成。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新已安裝的:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "請變更 @name 或 @namespace 的值以避免覆寫既有的樣式。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "在設定對話框顯示後,樣式已更新或刪除。這個變數將不會儲存,以避免損毀樣式的詮釋資料。", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "在程式碼中指定 @name", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "為新的 Usercss 樣式取代預設的範本為目前的程式碼?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "清空 @name 取代目前範本", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "在此插入程式碼……", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "版本舊於已安裝的樣式。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "編寫樣式給:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "此網址", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox 匯出", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox 匯入/匯出已被選項頁面中的更進階的樣式同步所取代。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox 匯入", - "description": "" - }, - "overwriteFileExport": { - "message": "您想要覆寫既有的檔案嗎?", - "description": "" - }, - "exportSavedSuccess": { - "message": "檔案儲存成功", - "description": "" - }, - "noFileToImport": { - "message": "要匯入您的樣式,您必須先匯出。", - "description": "" - }, - "connectingDropbox": { - "message": "正在連線至 Dropbox……", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "連線到 Dropbox 僅在直接從 webstore 安裝的應用程式中可用", - "description": "" - }, - "gettingStyles": { - "message": "正在取得所有樣式……", - "description": "" - }, - "zipStyles": { - "message": "正在壓縮樣式……", - "description": "" - }, - "unzipStyles": { - "message": "正在解壓縮樣式……", - "description": "" - }, - "readingStyles": { - "message": "正在讀取樣式……", - "description": "" - }, - "uploadingFile": { - "message": "正在上傳檔案……", - "description": "" - } } \ No newline at end of file From 3e415460c66a0779621d7b0b19e8a9a3b465cbd4 Mon Sep 17 00:00:00 2001 From: Rob Garrison Date: Tue, 23 Feb 2021 21:37:53 -0600 Subject: [PATCH 151/291] 1.5.16 --- manifest.json | 2 +- package-lock.json | 4 ++-- package.json | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/manifest.json b/manifest.json index b8727389..780d8dc2 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name": "Stylus", - "version": "1.5.15", + "version": "1.5.16", "minimum_chrome_version": "55", "description": "__MSG_description__", "homepage_url": "https://add0n.com/stylus.html", diff --git a/package-lock.json b/package-lock.json index 0c4030a3..f2340b16 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "Stylus", - "version": "1.5.15", + "version": "1.5.16", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "Stylus", - "version": "1.5.15", + "version": "1.5.16", "license": "GPL-3.0-only", "dependencies": { "codemirror": "5.59.3", diff --git a/package.json b/package.json index 72d6063e..92ea0126 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Stylus", - "version": "1.5.15", + "version": "1.5.16", "description": "Redesign the web with Stylus, a user styles manager", "license": "GPL-3.0-only", "repository": "openstyles/stylus", From 14efa1f052a109e803aaef6de7e2ab669cb39e64 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 24 Feb 2021 11:27:39 +0300 Subject: [PATCH 152/291] fix locales --- _locales/ar/messages.json | 1739 ++------------------ _locales/bg/messages.json | 2142 +++++++----------------- _locales/bg_BG/messages.json | 1860 ++++----------------- _locales/ca/messages.json | 1586 ------------------ _locales/cs/messages.json | 2580 ++++++++++++----------------- _locales/da/messages.json | 1682 ++----------------- _locales/de/messages.json | 2896 +++++++++++++++------------------ _locales/el/messages.json | 2330 +++++++++----------------- _locales/en/messages.json | 338 ++-- _locales/en_GB/messages.json | 1646 +------------------ _locales/es/messages.json | 2828 ++++++++++++++------------------ _locales/et/messages.json | 2724 +++++++++++++------------------ _locales/fi/messages.json | 1751 ++------------------ _locales/fr/messages.json | 2833 ++++++++++++++------------------ _locales/fy/messages.json | 1679 ++----------------- _locales/gl/messages.json | 1634 +------------------ _locales/he/messages.json | 2637 ++++++++++++------------------ _locales/hr/messages.json | 1586 ------------------ _locales/hu/messages.json | 2824 ++++++++++++++------------------ _locales/it/messages.json | 2392 +++++++++------------------ _locales/ja/messages.json | 2926 +++++++++++++++------------------ _locales/ko/messages.json | 2860 +++++++++++++++----------------- _locales/nl/messages.json | 2930 +++++++++++++++------------------ _locales/pl/messages.json | 2964 ++++++++++++++++------------------ _locales/pt_BR/messages.json | 2387 +++++++++------------------ _locales/pt_PT/messages.json | 2511 +++++++++++----------------- _locales/ro/messages.json | 2448 ++++++++++------------------ _locales/ru/messages.json | 2854 +++++++++++++++----------------- _locales/sr/messages.json | 1896 ++++------------------ _locales/sv/messages.json | 2808 ++++++++++++++------------------ _locales/te/messages.json | 1634 +------------------ _locales/tr/messages.json | 2259 ++++++++------------------ _locales/uk/messages.json | 1586 ------------------ _locales/zh/messages.json | 2955 ++++++++++++++++----------------- _locales/zh_CN/messages.json | 2964 ++++++++++++++++------------------ _locales/zh_TW/messages.json | 2964 ++++++++++++++++------------------ 36 files changed, 27018 insertions(+), 55615 deletions(-) delete mode 100644 _locales/ca/messages.json delete mode 100644 _locales/hr/messages.json delete mode 100644 _locales/uk/messages.json diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json index e86eaa11..0952c039 100644 --- a/_locales/ar/messages.json +++ b/_locales/ar/messages.json @@ -1,1586 +1,157 @@ { - "addStyleTitle": { - "message": "إضافة نمط", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "إضافة", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "ينطبق على: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "والمزيد", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "عناوين URL في النطاق", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "استخدم عناصر تحكم 'ينطبق على' لتقييد عناوين URL التي ينطبق عليها الرمز في هذا القسم.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "ينطبق على", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "عناوين URL التي تطابق regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "إزالة", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "تحديد", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "كل شيء", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "عنوان URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "عناوين URL البادئة بـ", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Apply all updates", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "البحث عن تحديثات لكل الأنماط", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "البحث عن تحديث", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "جارٍ البحث...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "هل تريد بالتأكيد حذف هذا النمط؟", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "حذف", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "يمكنك تغيير نمط الويب باستخدام Stylus، وهي أداة لإدارة أنماط المستخدم. وتتيح Stylus لك بسهولة تثبيت المظاهر والأشكال الخارجية لكل من Google، وFacebook وYouTube وOrkut فضلاً عن الكثير جدًا من مواقع الويب الأخرى.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "تعطيل", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "تعديل النمط", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "تعديل", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "تعديل النمط $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "تمكين", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "البحث عن المزيد من الأنماط لموقع الويب هذا", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "مساعدة", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "تثبيت التحديث", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "الأنماط المثبتة", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "لم يتم تثبيت أي أنماط لموقع الويب هذا.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "إدارة الأنماط المثبتة", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "إضافة قسم آخر", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "الرمز", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "إزالة القسم", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "رجوع للإدارة", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "لقد أجريت تغييرات على هذا النمط بدون حفظها.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "ممكّن", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "هل تريد تثبيت '$stylename$' في Stylus؟", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "أدخل اسمًا", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "حفظ", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "يمكن استخدام تنسيق موزيلا للرمز باستخدام Stylus للمتصفح فايرفوكس ويمكن إرساله إلى userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "أخفق التحديث - استجاب الخادم بالرمز $code$", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "أخفق التحديث - الخادم يتعذر الوصول إليه.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "النمط محدّث.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "اكتمل التحديث.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "كتابة نمط جديد", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "كتابة نمط جديد" + }, + "addStyleTitle": { + "message": "إضافة نمط" + }, + "appliesAdd": { + "message": "إضافة" + }, + "appliesDisplay": { + "message": "ينطبق على: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "والمزيد" + }, + "appliesDomainOption": { + "message": "عناوين URL في النطاق" + }, + "appliesHelp": { + "message": "استخدم عناصر تحكم 'ينطبق على' لتقييد عناوين URL التي ينطبق عليها الرمز في هذا القسم." + }, + "appliesLabel": { + "message": "ينطبق على" + }, + "appliesRegexpOption": { + "message": "عناوين URL التي تطابق regexp" + }, + "appliesRemove": { + "message": "إزالة" + }, + "appliesSpecify": { + "message": "تحديد" + }, + "appliesToEverything": { + "message": "كل شيء" + }, + "appliesUrlOption": { + "message": "عنوان URL" + }, + "appliesUrlPrefixOption": { + "message": "عناوين URL البادئة بـ" + }, + "checkAllUpdates": { + "message": "البحث عن تحديثات لكل الأنماط" + }, + "checkForUpdate": { + "message": "البحث عن تحديث" + }, + "checkingForUpdate": { + "message": "جارٍ البحث..." + }, + "deleteStyleConfirm": { + "message": "هل تريد بالتأكيد حذف هذا النمط؟" + }, + "deleteStyleLabel": { + "message": "حذف" + }, + "description": { + "message": "يمكنك تغيير نمط الويب باستخدام Stylus، وهي أداة لإدارة أنماط المستخدم. وتتيح Stylus لك بسهولة تثبيت المظاهر والأشكال الخارجية لكل من Google، وFacebook وYouTube وOrkut فضلاً عن الكثير جدًا من مواقع الويب الأخرى." + }, + "disableStyleLabel": { + "message": "تعطيل" + }, + "editStyleHeading": { + "message": "تعديل النمط" + }, + "editStyleLabel": { + "message": "تعديل" + }, + "editStyleTitle": { + "message": "تعديل النمط $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "تمكين" + }, + "findStylesForSite": { + "message": "البحث عن المزيد من الأنماط لموقع الويب هذا" + }, + "helpAlt": { + "message": "مساعدة" + }, + "installUpdate": { + "message": "تثبيت التحديث" + }, + "manageHeading": { + "message": "الأنماط المثبتة" + }, + "noStylesForSite": { + "message": "لم يتم تثبيت أي أنماط لموقع الويب هذا." + }, + "openManage": { + "message": "إدارة الأنماط المثبتة" + }, + "sectionAdd": { + "message": "إضافة قسم آخر" + }, + "sectionCode": { + "message": "الرمز" + }, + "sectionRemove": { + "message": "إزالة القسم" + }, + "styleCancelEditLabel": { + "message": "رجوع للإدارة" + }, + "styleChangesNotSaved": { + "message": "لقد أجريت تغييرات على هذا النمط بدون حفظها." + }, + "styleEnabledLabel": { + "message": "ممكّن" + }, + "styleInstall": { + "message": "هل تريد تثبيت '$stylename$' في Stylus؟", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "أدخل اسمًا" + }, + "styleSaveLabel": { + "message": "حفظ" + }, + "styleToMozillaFormatHelp": { + "message": "يمكن استخدام تنسيق موزيلا للرمز باستخدام Stylus للمتصفح فايرفوكس ويمكن إرساله إلى userstyles.org." + }, + "updateCheckFailBadResponseCode": { + "message": "أخفق التحديث - استجاب الخادم بالرمز $code$", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "أخفق التحديث - الخادم يتعذر الوصول إليه." + }, + "updateCheckSucceededNoUpdate": { + "message": "النمط محدّث." + }, + "updateCompleted": { + "message": "اكتمل التحديث." + } +} diff --git a/_locales/bg/messages.json b/_locales/bg/messages.json index cf6b1b43..0c1ca1b6 100644 --- a/_locales/bg/messages.json +++ b/_locales/bg/messages.json @@ -1,1586 +1,560 @@ { - "addStyleTitle": { - "message": "Добавяне на стил", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Добавяне", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Приложимо за: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "и още", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Адреси на домейна", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Използвайте 'Приложимо за', за да ограничите адресите, за които се отнася кода в отдела.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Приложимо за", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Адреси, съвпадащи с регулярен израз", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Премахване", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Уточняване", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Всичко", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "Адрес", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Адреси, започващи с", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Прилагане на всички обновления", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Резервни копия", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Изберете файл или го влачете до страницата.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Изнасяне на стилове", - "description": "" - }, - "checkAllUpdates": { - "message": "Проверка на всички стилове за обновления", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Повторна проверка", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Проверка за обновления", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверяване...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Автоматично завършване при въвеждане", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Подпрозорци с умен отстъп", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Клавиши", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Пренасяне", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Осветяване", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Само избраното", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Низа под показалеца", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Щракнете два пъти за възстановяване/увеличаване на височината", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Умен отстъп", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Табулация", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Отказ", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Изтриване", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Не", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "Добре", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Спиране", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Възникна грешка с базата от данни. Искате ли да посетите страницата с възможни решения?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "по подразбиране", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Сигурни ли сте, че искате да изтриете стила?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Изтриване", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Пресъздайте стила на Мрежата със Стайлус, разширението за стилове. То ви позволява лесно да инсталиране теми за много сайтове.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Изключване на всички стилове", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Изключване", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Пуснете резервното копие където и да е по страницата, за да го внесете.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Изтриване", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Отиване на ред", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Редактиране на стила", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Редактиране", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Редактиране на стила $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Включване", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Изнасяне", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Още стилове за този сайт", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Изключено", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Хронология", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Помощ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Въведете име", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Натиснете клавиш", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Прибавяне към стила", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Прибавяне на внесения стил към текущия", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Внасяне", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Презаписване на стила", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Презаписване на съдържанието на текщия стил с това от внесения", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "добавени", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "пропуснати еднакви", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "пропуснати невалидни", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "с обновени код и метаданни", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "с обновен код", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "с обновени метаданни", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Внасянето на стилове завърши", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Нищо не беше променено.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "върнати стила", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Внасянето беше отменено", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Инсталиране на обновлението", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Помощ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Вземете стилове", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Проблеми", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Проблеми, намерени от $link$ при следните правила:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Иконки на приложимите сайтовете", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Сиви", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Разширението използва външна услуга https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Филтри", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Инсталирани стилове", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Брой на видимите приложими адреси", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Нов интерфейс за управление", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Само включените стилове", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Само местно създадените стилове", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(стиловете, които не са инсталирани през userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Само стилове с обновления или проблеми", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Стилове", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Брой на активните стилове", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Няма инсталирани стилове за сайта.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Управление", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Управление на стиловете", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Действия", - "description": "" - }, - "optionsAdvanced": { - "message": "Разширени", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Добавяне на 'Изтриване' в контекстното меню на редактора", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Разкриване на 'iframes' чрез HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Цвят на фона, когато е изключено", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Цвят на фона", - "description": "" - }, - "optionsCheck": { - "message": "Обновяване на стиловете", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Проверка и инсталиране на наличните обновления", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Значка на иконката на лентата", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Иконка на лентата със сечива", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Падащ прозорец", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Обновления", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Настройки", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Тъмни теми", - "description": "" - }, - "optionsIconLight": { - "message": "Светли теми", - "description": "" - }, - "optionsOpen": { - "message": "Отваряне", - "description": "" - }, - "optionsOpenManager": { - "message": "Управление на стиловете", - "description": "" - }, - "optionsPopupWidth": { - "message": "Ширина на падащия прозорец (в пиксели)", - "description": "" - }, - "optionsReset": { - "message": "Зануляване на настройки на първоначалните стойности", - "description": "" - }, - "optionsResetButton": { - "message": "Зануляване на настройките", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Още настройки", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "При внасянето на резервни копия от стари версии или от Стайлиш направете ръчна проверка за обновления, за да сте сигурни, че стиловете са актуални.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Стилове преди командите", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Брой на активните стилове за текущия сайт", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Заместване", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Заместване на всички", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Заместване с", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Внасяне на стилове", - "description": "" - }, - "search": { - "message": "Търсене", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Използвайте синтаксиса /re/ за търсене с регулярни изрази", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Добавяне на друг отдел", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Код", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Премахване на отдела", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Клавишни комбинации", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Задаване на клавишни комбинации", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Регулярният израз не е правилен.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Разкрасяване", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Отстъп на @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Назад към стиловете", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Направили сте промени по стила без да ги запазите.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Включено", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Поставете кода във формат на Мозила", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Да се инсталира ли '$stylename$'?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Въведете име", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Формат на Мозила", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Стилът не е приложен поради неправилно използване на регулярни изрази", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Има правила на регулярни изрази, които не могат да бъдат компилирани.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Стилът използва частично съвпадащи регулярни изрази и нарушава Спецификацията @document, която изисква пълно съвпадение на адреса. Засегнатите отдели не са приложени. Стилът вероятно е създаден в Stylish-for-Chrome, което неправилно проверява правилата на 'regexp()' още от първата версия (познат дефект).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Брой на неприложените отдели поради неправилно използване на регулярни изрази", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Тест на регулярния израз", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Съвпадащи подпрозорци", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Неправилните регулярни изрази са пропуснати", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Няма съвпадащи подпрозорци", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Не съвпада напълно, затова е пропуснато", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Списък със съвпадащи отворени подпрозорци (щракнете на адреса, за да се фокусира на подпрозореца)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Запазване", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Форматът на Мозила може да се подаде в userstyles.org и да се използва със Стайлиш (Stylish)", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Стил във формат на Мозила", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Сигурни ли сте, че искате да обновите '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Разширението не работи на такива страници.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Като предпазна мярка, четецът забранява на разширенията да влияят на вградените страници (например chrome://version, about:addons, стандартната страница от Хром 61 и други), както и на страниците на други разширения. Достъпът до магазина с добавки на всеки четец също е ограничен.", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Превключване на стила", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Отмяна", - "description": "Button label" - }, - "undoGlobal": { - "message": "Отмяна във всички отдели", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Няма връзка със страницата. Презаредете подпрозореца.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Разширението ще има достъп до адреси от типа file:// само ако включите съответната отметка на страницата chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Няма намерени обновления.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Някои от стиловете не са проверени, за да не се загубят местните редакции. Обновленията могат да бъдат принудени с индивидуална проверка или с пускането на още една проверка за всички (местните промени ще бъдат презаписани).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Неуспешно обновяване: сървърът отговори с код $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Неуспешно обновяване: няма връзка със сървъра.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Хронология на проверките", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Инсталиране на обновлението (местните редакции ще бъдат презаписани)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Принудителното обновяване ще презапише местните редакции.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Стилът е бил местно редактиран.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Стилът може да е бил местно редактиран.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Стилът е обновен.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Обновяването е завършено.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Инсталирани обновления:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Писане на стил за: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "този адрес", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Писане на нов стил", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Писане на нов стил" + }, + "addStyleTitle": { + "message": "Добавяне на стил" + }, + "appliesAdd": { + "message": "Добавяне" + }, + "appliesDisplay": { + "message": "Приложимо за: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "и още" + }, + "appliesDomainOption": { + "message": "Адреси на домейна" + }, + "appliesHelp": { + "message": "Използвайте 'Приложимо за', за да ограничите адресите, за които се отнася кода в отдела." + }, + "appliesLabel": { + "message": "Приложимо за" + }, + "appliesRegexpOption": { + "message": "Адреси, съвпадащи с регулярен израз" + }, + "appliesRemove": { + "message": "Премахване" + }, + "appliesSpecify": { + "message": "Уточняване" + }, + "appliesToEverything": { + "message": "Всичко" + }, + "appliesUrlOption": { + "message": "Адрес" + }, + "appliesUrlPrefixOption": { + "message": "Адреси, започващи с" + }, + "applyAllUpdates": { + "message": "Прилагане на всички обновления" + }, + "backupButtons": { + "message": "Резервни копия" + }, + "backupMessage": { + "message": "Изберете файл или го влачете до страницата." + }, + "bckpInstStyles": { + "message": "Изнасяне на стилове" + }, + "checkAllUpdates": { + "message": "Проверка на всички стилове за обновления" + }, + "checkAllUpdatesForce": { + "message": "Повторна проверка" + }, + "checkForUpdate": { + "message": "Проверка за обновления" + }, + "checkingForUpdate": { + "message": "Проверяване..." + }, + "cm_autocompleteOnTyping": { + "message": "Автоматично завършване при въвеждане" + }, + "cm_indentWithTabs": { + "message": "Подпрозорци с умен отстъп" + }, + "cm_keyMap": { + "message": "Клавиши" + }, + "cm_lineWrapping": { + "message": "Пренасяне" + }, + "cm_matchHighlight": { + "message": "Осветяване" + }, + "cm_matchHighlightSelection": { + "message": "Само избраното" + }, + "cm_matchHighlightToken": { + "message": "Низа под показалеца" + }, + "cm_resizeGripHint": { + "message": "Щракнете два пъти за възстановяване/увеличаване на височината" + }, + "cm_smartIndent": { + "message": "Умен отстъп" + }, + "cm_tabSize": { + "message": "Табулация" + }, + "cm_theme": { + "message": "Тема" + }, + "confirmCancel": { + "message": "Отказ" + }, + "confirmDelete": { + "message": "Изтриване" + }, + "confirmNo": { + "message": "Не" + }, + "confirmOK": { + "message": "Добре" + }, + "confirmStop": { + "message": "Спиране" + }, + "confirmYes": { + "message": "Да" + }, + "dbError": { + "message": "Възникна грешка с базата от данни. Искате ли да посетите страницата с възможни решения?" + }, + "defaultTheme": { + "message": "по подразбиране" + }, + "deleteStyleConfirm": { + "message": "Сигурни ли сте, че искате да изтриете стила?" + }, + "deleteStyleLabel": { + "message": "Изтриване" + }, + "description": { + "message": "Пресъздайте стила на Мрежата със Стайлус, разширението за стилове. То ви позволява лесно да инсталиране теми за много сайтове." + }, + "disableAllStyles": { + "message": "Изключване на всички стилове" + }, + "disableStyleLabel": { + "message": "Изключване" + }, + "dragDropMessage": { + "message": "Пуснете резервното копие където и да е по страницата, за да го внесете." + }, + "editDeleteText": { + "message": "Изтриване" + }, + "editGotoLine": { + "message": "Отиване на ред" + }, + "editStyleHeading": { + "message": "Редактиране на стила" + }, + "editStyleLabel": { + "message": "Редактиране" + }, + "editStyleTitle": { + "message": "Редактиране на стила $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Включване" + }, + "exportLabel": { + "message": "Изнасяне" + }, + "findStylesForSite": { + "message": "Още стилове за този сайт" + }, + "genericDisabledLabel": { + "message": "Изключено" + }, + "genericHistoryLabel": { + "message": "Хронология" + }, + "helpAlt": { + "message": "Помощ" + }, + "helpKeyMapCommand": { + "message": "Въведете име" + }, + "helpKeyMapHotkey": { + "message": "Натиснете клавиш" + }, + "importAppendLabel": { + "message": "Прибавяне към стила" + }, + "importAppendTooltip": { + "message": "Прибавяне на внесения стил към текущия" + }, + "importLabel": { + "message": "Внасяне" + }, + "importReplaceLabel": { + "message": "Презаписване на стила" + }, + "importReplaceTooltip": { + "message": "Презаписване на съдържанието на текщия стил с това от внесения" + }, + "importReportLegendAdded": { + "message": "добавени" + }, + "importReportLegendIdentical": { + "message": "пропуснати еднакви" + }, + "importReportLegendInvalid": { + "message": "пропуснати невалидни" + }, + "importReportLegendUpdatedBoth": { + "message": "с обновени код и метаданни" + }, + "importReportLegendUpdatedCode": { + "message": "с обновен код" + }, + "importReportLegendUpdatedMeta": { + "message": "с обновени метаданни" + }, + "importReportTitle": { + "message": "Внасянето на стилове завърши" + }, + "importReportUnchanged": { + "message": "Нищо не беше променено." + }, + "importReportUndone": { + "message": "върнати стила" + }, + "importReportUndoneTitle": { + "message": "Внасянето беше отменено" + }, + "installUpdate": { + "message": "Инсталиране на обновлението" + }, + "linkGetHelp": { + "message": "Помощ" + }, + "linkGetStyles": { + "message": "Вземете стилове" + }, + "linterIssues": { + "message": "Проблеми" + }, + "linterIssuesHelp": { + "message": "Проблеми, намерени от $link$ при следните правила:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "manageFavicons": { + "message": "Иконки на приложимите сайтовете" + }, + "manageFaviconsGray": { + "message": "Сиви" + }, + "manageFaviconsHelp": { + "message": "Разширението използва външна услуга https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Филтри" + }, + "manageHeading": { + "message": "Инсталирани стилове" + }, + "manageMaxTargets": { + "message": "Брой на видимите приложими адреси" + }, + "manageNewUI": { + "message": "Нов интерфейс за управление" + }, + "manageOnlyEnabled": { + "message": "Само включените стилове" + }, + "manageOnlyLocal": { + "message": "Само местно създадените стилове" + }, + "manageOnlyLocalTooltip": { + "message": "(стиловете, които не са инсталирани през userstyles.org)" + }, + "manageOnlyUpdates": { + "message": "Само стилове с обновления или проблеми" + }, + "manageTitle": { + "message": "Стилове" + }, + "menuShowBadge": { + "message": "Брой на активните стилове" + }, + "noStylesForSite": { + "message": "Няма инсталирани стилове за сайта." + }, + "openManage": { + "message": "Управление" + }, + "openStylesManager": { + "message": "Управление на стиловете" + }, + "optionsActions": { + "message": "Действия" + }, + "optionsAdvanced": { + "message": "Разширени" + }, + "optionsAdvancedContextDelete": { + "message": "Добавяне на 'Изтриване' в контекстното меню на редактора" + }, + "optionsAdvancedExposeIframes": { + "message": "Разкриване на 'iframes' чрез HTML[stylus-iframe]" + }, + "optionsBadgeDisabled": { + "message": "Цвят на фона, когато е изключено" + }, + "optionsBadgeNormal": { + "message": "Цвят на фона" + }, + "optionsCheck": { + "message": "Обновяване на стиловете" + }, + "optionsCheckUpdate": { + "message": "Проверка и инсталиране на наличните обновления" + }, + "optionsCustomizeBadge": { + "message": "Значка на иконката на лентата" + }, + "optionsCustomizeIcon": { + "message": "Иконка на лентата със сечива" + }, + "optionsCustomizePopup": { + "message": "Падащ прозорец" + }, + "optionsCustomizeUpdate": { + "message": "Обновления" + }, + "optionsHeading": { + "message": "Настройки" + }, + "optionsIconDark": { + "message": "Тъмни теми" + }, + "optionsIconLight": { + "message": "Светли теми" + }, + "optionsOpen": { + "message": "Отваряне" + }, + "optionsOpenManager": { + "message": "Управление на стиловете" + }, + "optionsPopupWidth": { + "message": "Ширина на падащия прозорец (в пиксели)" + }, + "optionsReset": { + "message": "Зануляване на настройки на първоначалните стойности" + }, + "optionsResetButton": { + "message": "Зануляване на настройките" + }, + "optionsSubheading": { + "message": "Още настройки" + }, + "optionsUpdateImportNote": { + "message": "При внасянето на резервни копия от стари версии или от Стайлиш направете ръчна проверка за обновления, за да сте сигурни, че стиловете са актуални." + }, + "popupStylesFirst": { + "message": "Стилове преди командите" + }, + "prefShowBadge": { + "message": "Брой на активните стилове за текущия сайт" + }, + "replace": { + "message": "Заместване" + }, + "replaceAll": { + "message": "Заместване на всички" + }, + "replaceWith": { + "message": "Заместване с" + }, + "retrieveBckp": { + "message": "Внасяне на стилове" + }, + "search": { + "message": "Търсене" + }, + "searchRegexp": { + "message": "Използвайте синтаксиса /re/ за търсене с регулярни изрази" + }, + "sectionAdd": { + "message": "Добавяне на друг отдел" + }, + "sectionCode": { + "message": "Код" + }, + "sectionRemove": { + "message": "Премахване на отдела" + }, + "shortcuts": { + "message": "Клавишни комбинации" + }, + "shortcutsNote": { + "message": "Задаване на клавишни комбинации" + }, + "styleBadRegexp": { + "message": "Регулярният израз не е правилен." + }, + "styleBeautify": { + "message": "Разкрасяване" + }, + "styleBeautifyIndentConditional": { + "message": "Отстъп на @media, @supports" + }, + "styleCancelEditLabel": { + "message": "Назад към стиловете" + }, + "styleChangesNotSaved": { + "message": "Направили сте промени по стила без да ги запазите." + }, + "styleEnabledLabel": { + "message": "Включено" + }, + "styleFromMozillaFormatPrompt": { + "message": "Поставете кода във формат на Мозила" + }, + "styleInstall": { + "message": "Да се инсталира ли '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Въведете име" + }, + "styleMozillaFormatHeading": { + "message": "Формат на Мозила" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Стилът не е приложен поради неправилно използване на регулярни изрази" + }, + "styleRegexpInvalidExplanation": { + "message": "Има правила на регулярни изрази, които не могат да бъдат компилирани." + }, + "styleRegexpPartialExplanation": { + "message": "Стилът използва частично съвпадащи регулярни изрази и нарушава Спецификацията @document, която изисква пълно съвпадение на адреса. Засегнатите отдели не са приложени. Стилът вероятно е създаден в Stylish-for-Chrome, което неправилно проверява правилата на 'regexp()' още от първата версия (познат дефект)." + }, + "styleRegexpProblemTooltip": { + "message": "Брой на неприложените отдели поради неправилно използване на регулярни изрази" + }, + "styleRegexpTestButton": { + "message": "Тест на регулярния израз" + }, + "styleRegexpTestFull": { + "message": "Съвпадащи подпрозорци" + }, + "styleRegexpTestInvalid": { + "message": "Неправилните регулярни изрази са пропуснати" + }, + "styleRegexpTestNone": { + "message": "Няма съвпадащи подпрозорци" + }, + "styleRegexpTestPartial": { + "message": "Не съвпада напълно, затова е пропуснато" + }, + "styleRegexpTestTitle": { + "message": "Списък със съвпадащи отворени подпрозорци (щракнете на адреса, за да се фокусира на подпрозореца)" + }, + "styleSaveLabel": { + "message": "Запазване" + }, + "styleToMozillaFormatHelp": { + "message": "Форматът на Мозила може да се подаде в userstyles.org и да се използва със Стайлиш (Stylish)" + }, + "styleToMozillaFormatTitle": { + "message": "Стил във формат на Мозила" + }, + "styleUpdate": { + "message": "Сигурни ли сте, че искате да обновите '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "stylusUnavailableForURL": { + "message": "Разширението не работи на такива страници." + }, + "stylusUnavailableForURLdetails": { + "message": "Като предпазна мярка, четецът забранява на разширенията да влияят на вградените страници (например chrome://version, about:addons, стандартната страница от Хром 61 и други), както и на страниците на други разширения. Достъпът до магазина с добавки на всеки четец също е ограничен." + }, + "toggleStyle": { + "message": "Превключване на стила" + }, + "undo": { + "message": "Отмяна" + }, + "undoGlobal": { + "message": "Отмяна във всички отдели" + }, + "unreachableContentScript": { + "message": "Няма връзка със страницата. Презаредете подпрозореца." + }, + "unreachableFileHint": { + "message": "Разширението ще има достъп до адреси от типа file:// само ако включите съответната отметка на страницата chrome://extensions." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Няма намерени обновления." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Някои от стиловете не са проверени, за да не се загубят местните редакции. Обновленията могат да бъдат принудени с индивидуална проверка или с пускането на още една проверка за всички (местните промени ще бъдат презаписани)." + }, + "updateCheckFailBadResponseCode": { + "message": "Неуспешно обновяване: сървърът отговори с код $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Неуспешно обновяване: няма връзка със сървъра." + }, + "updateCheckHistory": { + "message": "Хронология на проверките" + }, + "updateCheckManualUpdateForce": { + "message": "Инсталиране на обновлението (местните редакции ще бъдат презаписани)" + }, + "updateCheckManualUpdateHint": { + "message": "Принудителното обновяване ще презапише местните редакции." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Стилът е бил местно редактиран." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Стилът може да е бил местно редактиран." + }, + "updateCheckSucceededNoUpdate": { + "message": "Стилът е обновен." + }, + "updateCompleted": { + "message": "Обновяването е завършено." + }, + "updatesCurrentlyInstalled": { + "message": "Инсталирани обновления:" + }, + "writeStyleFor": { + "message": "Писане на стил за: " + }, + "writeStyleForURL": { + "message": "този адрес" + } +} diff --git a/_locales/bg_BG/messages.json b/_locales/bg_BG/messages.json index 122429e7..9e6a100f 100644 --- a/_locales/bg_BG/messages.json +++ b/_locales/bg_BG/messages.json @@ -1,1586 +1,278 @@ { - "addStyleTitle": { - "message": "Добави стил", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Добави", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Прилага се към: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "и още", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLи на домейна", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Използвайте \"Прилага се към\", за да ограничете адресите, за които ще работи кодът в тази секция.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Прилага се към", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Адреси, съвпадащи с regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Премахни", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Уточни", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Всички", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL започващи с", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Приложи всички промени", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Провери всички стилове за обновления", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Провери за обновление", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверявам...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Използвай табулация с умно отместване", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Клавишни комбинации", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Автоматично пренасяне", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Използвай умно отместване", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Размер на табулацията", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Не", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Спри", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Грешка в базата данни на Stylus. Желаеш ли да посетиш уебстраницата с възможни решения?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "по подразбиране", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Наистина ли искаш да изтриеш този стил?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Изтрий", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Промени уеба със Stylus, мениджър на потребителски стилове. Stylus ти позволява лесно да инсталираш теми и скинове за много популярни сайтове.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Изключи всички стилове", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Забрани", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Иди на ред (или ред:кол)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Промени стила", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Редактирай", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Редактирай стил $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Разреши", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Експорт", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Помощ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Напиши име на команда", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Натисни клавишна комбинация", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Добави към стил", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Добави импортирания стил към текущия", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Импорт", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Презапиши стила", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Презапишете съдържанието на текущия стил с импортирания", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Инсталирай стил", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Стилът е инсталиран", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Преинсталирай стила", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Обнови стила", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Инсталирай обновление", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "В момента стилът се обновява от $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Провери за обновления", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Лиценз", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Получете помощ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Вземете стилове", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Преведете", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint не поддържа $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Укажете правилата: 0 = забранен; 1 = предупреждения; 2 = грешки)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Настройте конфигурация за $linter$ правила", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Щракнете, за да конфигурирате този linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Не е записано заради тези неправилни настройки", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Проблеми", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Тези проблеми бяха намерени от $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Невалиден JSON формат", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "За да върнете погрешно нулиране, натиснете Ctrl-Z (или Cmd-Z) в текстовия прозорец", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Вижте пълния списък с правила", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Получи се грешка докато наблюдавахме файла", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Преглед на живо", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Филтри", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Инсталирани стилове", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "като Потребителскиcss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Нова подредба на UI", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Само забранените стилове", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Само разрешените стилове", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Само външните стилове", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Само локалните стилове", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(стиловете не инсталирани чрез страницата на userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Само не-Потребителскитеcss стилове", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Само с обновления или проблеми", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Само Потребителскиcss стилове", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Напиши нов стил", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Напиши нов стил" + }, + "addStyleTitle": { + "message": "Добави стил" + }, + "appliesAdd": { + "message": "Добави" + }, + "appliesDisplay": { + "message": "Прилага се към: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "и още" + }, + "appliesDomainOption": { + "message": "URLи на домейна" + }, + "appliesHelp": { + "message": "Използвайте \"Прилага се към\", за да ограничете адресите, за които ще работи кодът в тази секция." + }, + "appliesLabel": { + "message": "Прилага се към" + }, + "appliesRegexpOption": { + "message": "Адреси, съвпадащи с regexp" + }, + "appliesRemove": { + "message": "Премахни" + }, + "appliesSpecify": { + "message": "Уточни" + }, + "appliesToEverything": { + "message": "Всички" + }, + "appliesUrlPrefixOption": { + "message": "URL започващи с" + }, + "applyAllUpdates": { + "message": "Приложи всички промени" + }, + "checkAllUpdates": { + "message": "Провери всички стилове за обновления" + }, + "checkForUpdate": { + "message": "Провери за обновление" + }, + "checkingForUpdate": { + "message": "Проверявам..." + }, + "cm_indentWithTabs": { + "message": "Използвай табулация с умно отместване" + }, + "cm_keyMap": { + "message": "Клавишни комбинации" + }, + "cm_lineWrapping": { + "message": "Автоматично пренасяне" + }, + "cm_smartIndent": { + "message": "Използвай умно отместване" + }, + "cm_tabSize": { + "message": "Размер на табулацията" + }, + "cm_theme": { + "message": "Тема" + }, + "confirmNo": { + "message": "Не" + }, + "confirmStop": { + "message": "Спри" + }, + "confirmYes": { + "message": "Да" + }, + "dbError": { + "message": "Грешка в базата данни на Stylus. Желаеш ли да посетиш уебстраницата с възможни решения?" + }, + "defaultTheme": { + "message": "по подразбиране" + }, + "deleteStyleConfirm": { + "message": "Наистина ли искаш да изтриеш този стил?" + }, + "deleteStyleLabel": { + "message": "Изтрий" + }, + "description": { + "message": "Промени уеба със Stylus, мениджър на потребителски стилове. Stylus ти позволява лесно да инсталираш теми и скинове за много популярни сайтове." + }, + "disableAllStyles": { + "message": "Изключи всички стилове" + }, + "disableStyleLabel": { + "message": "Забрани" + }, + "editGotoLine": { + "message": "Иди на ред (или ред:кол)" + }, + "editStyleHeading": { + "message": "Промени стила" + }, + "editStyleLabel": { + "message": "Редактирай" + }, + "editStyleTitle": { + "message": "Редактирай стил $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Разреши" + }, + "exportLabel": { + "message": "Експорт" + }, + "helpAlt": { + "message": "Помощ" + }, + "helpKeyMapCommand": { + "message": "Напиши име на команда" + }, + "helpKeyMapHotkey": { + "message": "Натисни клавишна комбинация" + }, + "importAppendLabel": { + "message": "Добави към стил" + }, + "importAppendTooltip": { + "message": "Добави импортирания стил към текущия" + }, + "importLabel": { + "message": "Импорт" + }, + "importReplaceLabel": { + "message": "Презапиши стила" + }, + "importReplaceTooltip": { + "message": "Презапишете съдържанието на текущия стил с импортирания" + }, + "installButton": { + "message": "Инсталирай стил" + }, + "installButtonInstalled": { + "message": "Стилът е инсталиран" + }, + "installButtonReinstall": { + "message": "Преинсталирай стила" + }, + "installButtonUpdate": { + "message": "Обнови стила" + }, + "installUpdate": { + "message": "Инсталирай обновление" + }, + "installUpdateFrom": { + "message": "В момента стилът се обновява от $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Провери за обновления" + }, + "license": { + "message": "Лиценз" + }, + "linkGetHelp": { + "message": "Получете помощ" + }, + "linkGetStyles": { + "message": "Вземете стилове" + }, + "linkTranslate": { + "message": "Преведете" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint не поддържа $preprocessorname$ preprocessor", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Укажете правилата: 0 = забранен; 1 = предупреждения; 2 = грешки)" + }, + "linterConfigPopupTitle": { + "message": "Настройте конфигурация за $linter$ правила", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Щракнете, за да конфигурирате този linter" + }, + "linterInvalidConfigError": { + "message": "Не е записано заради тези неправилни настройки" + }, + "linterIssues": { + "message": "Проблеми" + }, + "linterIssuesHelp": { + "message": "Тези проблеми бяха намерени от $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Невалиден JSON формат" + }, + "linterResetMessage": { + "message": "За да върнете погрешно нулиране, натиснете Ctrl-Z (или Cmd-Z) в текстовия прозорец" + }, + "linterRulesLink": { + "message": "Вижте пълния списък с правила" + }, + "liveReloadError": { + "message": "Получи се грешка докато наблюдавахме файла" + }, + "liveReloadLabel": { + "message": "Преглед на живо" + }, + "manageFilters": { + "message": "Филтри" + }, + "manageHeading": { + "message": "Инсталирани стилове" + }, + "manageNewStyleAsUsercss": { + "message": "като Потребителскиcss" + }, + "manageNewUI": { + "message": "Нова подредба на UI" + }, + "manageOnlyDisabled": { + "message": "Само забранените стилове" + }, + "manageOnlyEnabled": { + "message": "Само разрешените стилове" + }, + "manageOnlyExternal": { + "message": "Само външните стилове" + }, + "manageOnlyLocal": { + "message": "Само локалните стилове" + }, + "manageOnlyLocalTooltip": { + "message": "(стиловете не инсталирани чрез страницата на userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Само не-Потребителскитеcss стилове" + }, + "manageOnlyUpdates": { + "message": "Само с обновления или проблеми" + }, + "manageOnlyUsercss": { + "message": "Само Потребителскиcss стилове" + } +} diff --git a/_locales/ca/messages.json b/_locales/ca/messages.json deleted file mode 100644 index d058a54d..00000000 --- a/_locales/ca/messages.json +++ /dev/null @@ -1,1586 +0,0 @@ -{ - "addStyleTitle": { - "message": "Add Style", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Add", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Applies to: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "and more", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs on the domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Applies to", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs matching the regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remove", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specify", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Everything", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs starting with", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Apply all updates", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Check all styles for updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Check for update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Checking...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Are you sure you want to delete this style?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Delete", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disable", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit Style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Enable", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Help", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installed Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Write new style", - "description": "Label for the button to go to the add style page" - } -} \ No newline at end of file diff --git a/_locales/cs/messages.json b/_locales/cs/messages.json index d81ce13f..9e72aa29 100644 --- a/_locales/cs/messages.json +++ b/_locales/cs/messages.json @@ -1,1586 +1,998 @@ { - "addStyleTitle": { - "message": "Přidat styl", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Neprůhlednost", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Přidat", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Platí pro: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "a další", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL adresy na doméně", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Nastavte „Platí pro“, pokud chcete omezit působnost kódu v této sekci na určité URL adresy.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Platí pro", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Zobrazit část „platí pro“", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nefunguje s minimalizovaným CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL adresy odpovídající reg. výrazu", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Odstranit", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Poslední záznam „platí pro“ nelze odebrat.", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specifikovat", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Vše", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL adresa", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL adresy začínající", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Použít všechny aktualizace", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Zálohovat", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Vyberte soubor nebo ho přetáhněte na tuto stránku.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportovat styly", - "description": "" - }, - "checkAllUpdates": { - "message": "Aktualizovat všechny styly", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Vynutit aktualizaci (neprovedeny žádné změny stylů)", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Zkontrolovat aktualizace", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrola…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klepnutím odinstalovat", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Automaticky uzavírat závorky a uvozovky", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automaticky přidat uzavírací párový znak po napsání otevíracího znaku ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automatické dokončování během psaní", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Paleta pro CSS barvy", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Použít tabulátory s chytrým odsazením", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Přiřazení kláves", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Zalamování slov", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Zvýraznění", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Pouze výběr", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Stopa pod kurzorem", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dvojklikem maximalizujete/obnovíte výšku", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Poklepáním vybírat tokeny", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Příklad tokenů: .foo-bar-2 #aabbcc 0.32 !important\nJe-li vypnuto, jsou vybírána slova oddělená interpunkcí.", - "description": "" - }, - "cm_smartIndent": { - "message": "Použít chytré odsazení", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Velikost tabulátorů", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Schéma", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Přepínání formátů: HEX → RGB → HSL\nShift + klik pro obrácené pořadí.\nLze použít i klávesy PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Otevřít paletu barev", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "při změně", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Automaticky uložit a použít změny", - "description": "" - }, - "configureStyle": { - "message": "Konfigurovat", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Konfigurovat na stránce stylu", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Storno", - "description": "" - }, - "confirmClose": { - "message": "Zavřít", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Použít výchozí", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Smazat", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Zahodit změny?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Ne", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Uložit", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Zastavit", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ano", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Datum instalace", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Datum aktualizace", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Nastala chyba při používání Stylus databáze. Chcete navštívit webovou stránku s možnými řešeními?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "výchozí", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Opravdu chcete tento styl smazat?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Smazat", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Změňte vzhled webů pomocí správce uživatelských stylů. Stylus umožňuje snadnou instalaci vzhledů a modifikací pro spoustu webů.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Vypnout všechny styly", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Zakázat", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Pro import upusťte soubor zálohy kdekoliv na této stránce.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Smazat", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Přejít na řádek (nebo na line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Upravit styl", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Upravit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Upravit styl $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Povolit", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Exportovat", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Zpětná vazba", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Domovská stránka", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Externí odkaz", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Podpora", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Dokumentace pro Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "zobrazeno $numShown$ z $numTotal$", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Použitému filtru nevyhovují žádné styly", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Najít styly", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Najít styly pro tento web", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Zobrazit zde", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Zobrazit výsledky vyhledávání v tomto okně.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Přidat", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Duplikovat", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Zakázáno", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Povoleno", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Chyba", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historie", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Další", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Předchozí", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Resetovat", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Uloženo", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Název", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Neznámé", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Nápověda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Napište název příkazu", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Stiskněte kláves. zkratku", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Připojit ke stylu", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Připojit importovaný styl k současnému stylu", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importovat", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Přepsat styl", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Zahodit obsah současného stylu a přepsat ho importovaným stylem", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "přidáno", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identické přeskočeny", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "neplatné přeskočeny", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta informace a kód aktualizován", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "kód aktualizován", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta informace aktualizována", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Import stylů dokončen", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Žádné změny.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styly navráceny zpět", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import byl přerušen", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalovat styl", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Styl instalován", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalovat styl", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Aktualizovat styl", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Nainstalovat aktualizaci", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Styl je aktuálně aktualizován z $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Vyhledat aktualizace", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licence", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Nápověda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Získat styly", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Pomoci s překladem", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint nepodporuje předprocesor $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Nastavení pravidel: 0 = vypnuto; 1 = upozornění; 2 = chyba)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Nastavení $linter$ pravidel", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Upravit nastavení tohoto linteru", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Neuloženo z důvodu těchto neplatných nastavení:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problémy", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Problémy nalezené aplikací $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Neplatný JSON formát", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Chcete-li vrátit změny náhodného resetu, stiskněte v textovém poli Ctrl + Z (resp. Cmd + Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Zobrazit celý seznam pravidel", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Při sledování souboru došlo k chybě", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Živá aktualizace", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicony v části „Platí pro“ ", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Zešednutí", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus používá externí službu https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtry", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Nainstalované styly", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Počet položek v části „Platí pro“", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "jako Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nové rozložení správy rozhraní", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Pouze vypnuté styly", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Pouze povolené styly", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Pouze externí styly", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Pouze lokální styly", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(styly nenainstalované prostřednictvím webu userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Pouze non-Usercss styly", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Pouze s aktualizacemi nebo chybami", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Pouze Usercss styly", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Zobrazit počet aktivních stylů", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Očekáváno číslo", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Očekáván řetězec v uvozovkách", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Očekáván text", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Očekávané znaky: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Neznámá metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Neznámý typ @$varkey$: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Pro tento web není nainstalován žádný styl.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Spravovat", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Otevřít správce stylů", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Akce", - "description": "" - }, - "optionsAdvanced": { - "message": "Pokročilé", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Přidat tlačítko Smazat do kontextové nabídky v editoru", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Obnažit iframe prvky pomocí HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Napsat nový styl jako usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Barva pozadí při zakázání", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Barva pozadí", - "description": "" - }, - "optionsCheck": { - "message": "Aktualizovat styly", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Vyhledávat a instalovat všechny aktualizace", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Ikona tlačítka na panelu", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ikona na panelu nástrojů", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Vyskakovací okno", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Aktualizace", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Možnosti", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Tmavé vzhledy", - "description": "" - }, - "optionsIconLight": { - "message": "Světlé vzhledy", - "description": "" - }, - "optionsOpen": { - "message": "Otevřít", - "description": "" - }, - "optionsOpenManager": { - "message": "Spravovat styly", - "description": "" - }, - "optionsPopupWidth": { - "message": "Šířka vyskakovacího okna [px]", - "description": "" - }, - "optionsReset": { - "message": "Obnovit výchozí nastavení", - "description": "" - }, - "optionsResetButton": { - "message": "Obnovit nastavení", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Další možnosti", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Importujete-li zálohy stylů ze starší verze nebo z rozšíření Stylish, proveďte jednorázovou ruční kontrolu aktualizací ve správci stylů, aby byly všechny styly aktuální.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Interval automatické aktualizace stylů v hodinách (0 = vypnuto)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Aktuální stránka", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Odhadovaný počet stránek", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Další stránka", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Předchozí stránka", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Celkový počet stránek", - "description": "" - }, - "parseUsercssError": { - "message": "Usercss nelze zpracovat:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Přidat postranní bílé okraje", - "description": "" - }, - "popupBordersTooltip": { - "message": "Užitečné pro tmavé motivy v novém Chromu, který již nevykresluje obrysové čáry", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Kliknutím zobrazíte dostupné klávesové zkratky", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift + kliknutím nebo pravým kliknutím otevřít správce se styly použitými na této stránce", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Otevírat editor v novém okně", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "K povolení dojde také při odepnutí listu editoru z okna prohlížeče,\na k vypnutí při připnutí samotného listu editoru do dalšího okna.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styly před příkazy", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Počet aktivních stylů pro současnou stránku", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Živý náhled", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Dočasně použije změny bez uložení.\nUložte styl pro trvalé zachování změn.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Nahradit", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Nahradit vše", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Nahradit s", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importovat styly", - "description": "" - }, - "search": { - "message": "Vyhledat", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Rozeznávat VELKÁ a malá písmena", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Počet shod", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Počet shod v kódu a hodnotách „platí pro“", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Použijte /re/ syntaxi pro vyhledávání s regulérními výrazy", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Celkový počet instalací", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nenalezeny žádné styly pro tento web.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Hodnocení", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Aktualizováno", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Týdenní počet instalací", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Přidat další sekci", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kód", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Odstranit sekci", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Obnovit odstraněnou sekci", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Zkratky", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Nastavit klávesové zkratky", - "description": "" - }, - "sortDateNewestFirst": { - "message": "nejdříve novější", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "starší nejdříve", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Zvolte způsob řazení instalovaných stylů", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Název (vzestupně)", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Název (sestupně)", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Seřadit obsah", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Tento regulérní výraz je neplatný.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Zkrášlit", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Odsadit @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Zachovat nové řádky", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Zpět ke správě", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Provedli jste změny tohoto stylu bez uložení.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Povolen", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Import z Mozilla formátu se nezdařil", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Vložte kód v Mozilla formátu", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Nainstalovat „$stylename$“ do Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Styl nelze nainstalovat.\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "Styl „$stylename$“ je již nainstalován. Přepsat?\nVerze: $oldVersion$ → $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Zadejte název", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla formát", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Styl nebyl použit kvůli nesprávnému použití „regexp()“", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Některá „regexp()“ pravidla nelze vůbec sestavit.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Tento styl obsahuje částečnou regexp shodu, která je však v rozporu s CSS4 @document specifikací, která vyžaduje přesnou shodu URL adresy. Dotčené CSS části nebyly na stránku použity. Tento styl byl pravděpodobně vytvořen v rozšíření Stylish pro Chrome, které nesprávně kontroluje regexp() pravidla již od své první verze (známá chyba).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Počet sekcí nepoužitých kvůli nesprávnému použití „regexp()“", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Otestovat RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Odpovídající listy", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Neplatné regexp přeskočeny", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Žádné odpovídající listy", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Poznámka: Používejte jen jedno zpětné lomítko „\\“ ve vstupním regexp poli – v editoru bude automaticky převedeno na „\\\\“, v souladu s normou citovaných řetězců v CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Shoda je nepřesná, proto přeskočeno", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Seznam shod otevřených listů (klepnutím na URL zaměříte daný list)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Uložit", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Kód v Mozilla formátu může být odeslán na userstyles.org a použit v aplikaci Stylish pro Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Styl v Mozilla formátu", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Určitě chcete aktualizovat „$stylename$“?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Styl byl změněn mimo editor. Chcete styl znovu načíst?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus nepracuje se stránkami jako je tato.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Jako bezpečností opatření, prohlížeč brání rozšířením v ovlivnění vestavěných stránek (např. chrome://version, nová úvodní stránka Chromu 61, about:addons, vivaldi://extensions atp.) a stránek dalších rozšíření. Každý prohlížeč také omezuje přístup do vlastního obchodu s rozšířeními (např. Chrome Web Store nebo AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Hodnotu nelze uložit. Zkuste text zkrátit.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Přepnout styl", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Zpět", - "description": "Button label" - }, - "undoGlobal": { - "message": "Zpět ve všech sekcích", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox znemožňuje přístup ke stránce.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Povolení přístupu: přejděte na , pravým myšidlem zvolte „Nový“, dále „Boolean“, zadejte kód a potvrďte, , OK, načtěte stránku .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Pouze Firefox 59 a novější může být nakonfigurován tak, aby rozšíření typu WebExtensions mohla přidávat styly na stránky chráněné CSP (Content Security Policy) – jako je tato.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Se stránkou nelze komunikovat. Zkuste znovu načíst list.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus může přistupovat k file:// URL pouze při povolení odpovídající možnosti pro rozšíření Stylus ve správci chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Aktualizace nenalezeny.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Některé aktualizovatelné styly nebyly aktualizovány kvůli zabránění ztrátám možných lokálních změn. Aktualizace může být vynucena individuálně nebo spuštěním další aktualizace všech stylů (lokální změny mohou být přepsány).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Aktualizace se nezdařila: server odpověděl kódem $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Aktualizace se nezdařila: server je nedosažitelný.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historie aktualizací", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalovat aktualizaci (lokální změny budou přepsány)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Vynucení aktualizace přepíše všechny lokální úpravy.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Tento styl byl upraven lokálně.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Tento styl mohl být upraven lokálně.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Styl je aktuální.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aktalizace dokončena.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Instalované aktualizace:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Prosím, změňte hodnotu @name nebo @namespace ať nedojde k přepsání existujícího stylu.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Styl byl aktualizován nebo smazán po zobrazení dialogu konfigurace. Tyto proměnné nebyly uloženy aby se předešlo poškození metadat stylu.", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Definujte @name v kódu", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Nahradit výchozí šablonu pro nové Usercss styly aktuálním kódem?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Prázdné @name nahrazuje výchozí šablonu", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Sem vložte kód…", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Tato verze je starší než verze nainstalovaného stylu.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Napsat nový styl pro:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "tuto URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Chcete přepsat stávající soubor?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Soubor úspěšně uložen", - "description": "" - }, - "noFileToImport": { - "message": "Před importem stylů byste je měli nejprve exportovat.", - "description": "" - }, - "connectingDropbox": { - "message": "Připojování k Dropboxu…", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Získávání všech stylů…", - "description": "" - }, - "zipStyles": { - "message": "Balení stylů…", - "description": "" - }, - "unzipStyles": { - "message": "Rozbalování stylů…", - "description": "" - }, - "readingStyles": { - "message": "Čtení stylů…", - "description": "" - }, - "uploadingFile": { - "message": "Nahrávání souboru…", - "description": "" - }, - "addStyleLabel": { - "message": "Napsat nový styl", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Napsat nový styl" + }, + "addStyleTitle": { + "message": "Přidat styl" + }, + "alphaChannel": { + "message": "Neprůhlednost" + }, + "appliesAdd": { + "message": "Přidat" + }, + "appliesDisplay": { + "message": "Platí pro: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "a další" + }, + "appliesDomainOption": { + "message": "URL adresy na doméně" + }, + "appliesHelp": { + "message": "Nastavte „Platí pro“, pokud chcete omezit působnost kódu v této sekci na určité URL adresy." + }, + "appliesLabel": { + "message": "Platí pro" + }, + "appliesLineWidgetLabel": { + "message": "Zobrazit část „platí pro“" + }, + "appliesLineWidgetWarning": { + "message": "Nefunguje s minimalizovaným CSS" + }, + "appliesRegexpOption": { + "message": "URL adresy odpovídající reg. výrazu" + }, + "appliesRemove": { + "message": "Odstranit" + }, + "appliesRemoveError": { + "message": "Poslední záznam „platí pro“ nelze odebrat." + }, + "appliesSpecify": { + "message": "Specifikovat" + }, + "appliesToEverything": { + "message": "Vše" + }, + "appliesUrlOption": { + "message": "URL adresa" + }, + "appliesUrlPrefixOption": { + "message": "URL adresy začínající" + }, + "applyAllUpdates": { + "message": "Použít všechny aktualizace" + }, + "author": { + "message": "Autor" + }, + "backupButtons": { + "message": "Zálohovat" + }, + "backupMessage": { + "message": "Vyberte soubor nebo ho přetáhněte na tuto stránku." + }, + "bckpInstStyles": { + "message": "Exportovat styly" + }, + "checkAllUpdates": { + "message": "Aktualizovat všechny styly" + }, + "checkAllUpdatesForce": { + "message": "Vynutit aktualizaci (neprovedeny žádné změny stylů)" + }, + "checkForUpdate": { + "message": "Zkontrolovat aktualizace" + }, + "checkingForUpdate": { + "message": "Kontrola…" + }, + "clickToUninstall": { + "message": "Klepnutím odinstalovat" + }, + "cm_autoCloseBrackets": { + "message": "Automaticky uzavírat závorky a uvozovky" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automaticky přidat uzavírací párový znak po napsání otevíracího znaku ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Automatické dokončování během psaní" + }, + "cm_colorpicker": { + "message": "Paleta pro CSS barvy" + }, + "cm_indentWithTabs": { + "message": "Použít tabulátory s chytrým odsazením" + }, + "cm_keyMap": { + "message": "Přiřazení kláves" + }, + "cm_lineWrapping": { + "message": "Zalamování slov" + }, + "cm_matchHighlight": { + "message": "Zvýraznění" + }, + "cm_matchHighlightSelection": { + "message": "Pouze výběr" + }, + "cm_matchHighlightToken": { + "message": "Stopa pod kurzorem" + }, + "cm_resizeGripHint": { + "message": "Dvojklikem maximalizujete/obnovíte výšku" + }, + "cm_selectByTokens": { + "message": "Poklepáním vybírat tokeny" + }, + "cm_selectByTokensTooltip": { + "message": "Příklad tokenů: .foo-bar-2 #aabbcc 0.32 !important\nJe-li vypnuto, jsou vybírána slova oddělená interpunkcí." + }, + "cm_smartIndent": { + "message": "Použít chytré odsazení" + }, + "cm_tabSize": { + "message": "Velikost tabulátorů" + }, + "cm_theme": { + "message": "Schéma" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Přepínání formátů: HEX → RGB → HSL\nShift + klik pro obrácené pořadí.\nLze použít i klávesy PgUp (PageUp), PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "Otevřít paletu barev" + }, + "configOnChange": { + "message": "při změně" + }, + "configOnChangeTooltip": { + "message": "Automaticky uložit a použít změny" + }, + "configureStyle": { + "message": "Konfigurovat" + }, + "configureStyleOnHomepage": { + "message": "Konfigurovat na stránce stylu" + }, + "confirmCancel": { + "message": "Storno" + }, + "confirmClose": { + "message": "Zavřít" + }, + "confirmDefault": { + "message": "Použít výchozí" + }, + "confirmDelete": { + "message": "Smazat" + }, + "confirmDiscardChanges": { + "message": "Zahodit změny?" + }, + "confirmNo": { + "message": "Ne" + }, + "confirmSave": { + "message": "Uložit" + }, + "confirmStop": { + "message": "Zastavit" + }, + "confirmYes": { + "message": "Ano" + }, + "connectingDropbox": { + "message": "Připojování k Dropboxu…" + }, + "dateInstalled": { + "message": "Datum instalace" + }, + "dateUpdated": { + "message": "Datum aktualizace" + }, + "dbError": { + "message": "Nastala chyba při používání Stylus databáze. Chcete navštívit webovou stránku s možnými řešeními?" + }, + "defaultTheme": { + "message": "výchozí" + }, + "deleteStyleConfirm": { + "message": "Opravdu chcete tento styl smazat?" + }, + "deleteStyleLabel": { + "message": "Smazat" + }, + "description": { + "message": "Změňte vzhled webů pomocí správce uživatelských stylů. Stylus umožňuje snadnou instalaci vzhledů a modifikací pro spoustu webů." + }, + "disableAllStyles": { + "message": "Vypnout všechny styly" + }, + "disableStyleLabel": { + "message": "Zakázat" + }, + "dragDropMessage": { + "message": "Pro import upusťte soubor zálohy kdekoliv na této stránce." + }, + "editDeleteText": { + "message": "Smazat" + }, + "editGotoLine": { + "message": "Přejít na řádek (nebo na line:col)" + }, + "editStyleHeading": { + "message": "Upravit styl" + }, + "editStyleLabel": { + "message": "Upravit" + }, + "editStyleTitle": { + "message": "Upravit styl $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Povolit" + }, + "exportLabel": { + "message": "Exportovat" + }, + "exportSavedSuccess": { + "message": "Soubor úspěšně uložen" + }, + "externalFeedback": { + "message": "Zpětná vazba" + }, + "externalHomepage": { + "message": "Domovská stránka" + }, + "externalLink": { + "message": "Externí odkaz" + }, + "externalSupport": { + "message": "Podpora" + }, + "externalUsercssDocument": { + "message": "Dokumentace pro Usercss" + }, + "filteredStyles": { + "message": "zobrazeno $numShown$ z $numTotal$", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Použitému filtru nevyhovují žádné styly" + }, + "findStyles": { + "message": "Najít styly" + }, + "findStylesForSite": { + "message": "Najít styly pro tento web" + }, + "findStylesInline": { + "message": "Zobrazit zde" + }, + "findStylesInlineTooltip": { + "message": "Zobrazit výsledky vyhledávání v tomto okně." + }, + "genericAdd": { + "message": "Přidat" + }, + "genericClone": { + "message": "Duplikovat" + }, + "genericDisabledLabel": { + "message": "Zakázáno" + }, + "genericEnabledLabel": { + "message": "Povoleno" + }, + "genericError": { + "message": "Chyba" + }, + "genericHistoryLabel": { + "message": "Historie" + }, + "genericNext": { + "message": "Další" + }, + "genericPrevious": { + "message": "Předchozí" + }, + "genericResetLabel": { + "message": "Resetovat" + }, + "genericSavedMessage": { + "message": "Uloženo" + }, + "genericTitle": { + "message": "Název" + }, + "genericUnknown": { + "message": "Neznámé" + }, + "gettingStyles": { + "message": "Získávání všech stylů…" + }, + "helpAlt": { + "message": "Nápověda" + }, + "helpKeyMapCommand": { + "message": "Napište název příkazu" + }, + "helpKeyMapHotkey": { + "message": "Stiskněte kláves. zkratku" + }, + "importAppendLabel": { + "message": "Připojit ke stylu" + }, + "importAppendTooltip": { + "message": "Připojit importovaný styl k současnému stylu" + }, + "importLabel": { + "message": "Importovat" + }, + "importReplaceLabel": { + "message": "Přepsat styl" + }, + "importReplaceTooltip": { + "message": "Zahodit obsah současného stylu a přepsat ho importovaným stylem" + }, + "importReportLegendAdded": { + "message": "přidáno" + }, + "importReportLegendIdentical": { + "message": "identické přeskočeny" + }, + "importReportLegendInvalid": { + "message": "neplatné přeskočeny" + }, + "importReportLegendUpdatedBoth": { + "message": "meta informace a kód aktualizován" + }, + "importReportLegendUpdatedCode": { + "message": "kód aktualizován" + }, + "importReportLegendUpdatedMeta": { + "message": "meta informace aktualizována" + }, + "importReportTitle": { + "message": "Import stylů dokončen" + }, + "importReportUnchanged": { + "message": "Žádné změny." + }, + "importReportUndone": { + "message": "styly navráceny zpět" + }, + "importReportUndoneTitle": { + "message": "Import byl přerušen" + }, + "installButton": { + "message": "Instalovat styl" + }, + "installButtonInstalled": { + "message": "Styl instalován" + }, + "installButtonReinstall": { + "message": "Reinstalovat styl" + }, + "installButtonUpdate": { + "message": "Aktualizovat styl" + }, + "installUpdate": { + "message": "Nainstalovat aktualizaci" + }, + "installUpdateFrom": { + "message": "Styl je aktuálně aktualizován z $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Vyhledat aktualizace" + }, + "license": { + "message": "Licence" + }, + "linkGetHelp": { + "message": "Nápověda" + }, + "linkGetStyles": { + "message": "Získat styly" + }, + "linkTranslate": { + "message": "Pomoci s překladem" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint nepodporuje předprocesor $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Nastavení pravidel: 0 = vypnuto; 1 = upozornění; 2 = chyba)" + }, + "linterConfigPopupTitle": { + "message": "Nastavení $linter$ pravidel", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Upravit nastavení tohoto linteru" + }, + "linterInvalidConfigError": { + "message": "Neuloženo z důvodu těchto neplatných nastavení:" + }, + "linterIssues": { + "message": "Problémy" + }, + "linterIssuesHelp": { + "message": "Problémy nalezené aplikací $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Neplatný JSON formát" + }, + "linterResetMessage": { + "message": "Chcete-li vrátit změny náhodného resetu, stiskněte v textovém poli Ctrl + Z (resp. Cmd + Z)" + }, + "linterRulesLink": { + "message": "Zobrazit celý seznam pravidel" + }, + "liveReloadError": { + "message": "Při sledování souboru došlo k chybě" + }, + "liveReloadLabel": { + "message": "Živá aktualizace" + }, + "manageFavicons": { + "message": "Favicony v části „Platí pro“ " + }, + "manageFaviconsGray": { + "message": "Zešednutí" + }, + "manageFaviconsHelp": { + "message": "Stylus používá externí službu https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtry" + }, + "manageHeading": { + "message": "Nainstalované styly" + }, + "manageMaxTargets": { + "message": "Počet položek v části „Platí pro“" + }, + "manageNewStyleAsUsercss": { + "message": "jako Usercss" + }, + "manageNewUI": { + "message": "Nové rozložení správy rozhraní" + }, + "manageOnlyDisabled": { + "message": "Pouze vypnuté styly" + }, + "manageOnlyEnabled": { + "message": "Pouze povolené styly" + }, + "manageOnlyExternal": { + "message": "Pouze externí styly" + }, + "manageOnlyLocal": { + "message": "Pouze lokální styly" + }, + "manageOnlyLocalTooltip": { + "message": "(styly nenainstalované prostřednictvím webu userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Pouze non-Usercss styly" + }, + "manageOnlyUpdates": { + "message": "Pouze s aktualizacemi nebo chybami" + }, + "manageOnlyUsercss": { + "message": "Pouze Usercss styly" + }, + "menuShowBadge": { + "message": "Zobrazit počet aktivních stylů" + }, + "meta_invalidNumber": { + "message": "Očekáváno číslo" + }, + "meta_invalidString": { + "message": "Očekáván řetězec v uvozovkách" + }, + "meta_invalidWord": { + "message": "Očekáván text" + }, + "meta_missingChar": { + "message": "Očekávané znaky: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Neznámá metadata: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Neznámý typ @$varkey$: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Před importem stylů byste je měli nejprve exportovat." + }, + "noStylesForSite": { + "message": "Pro tento web není nainstalován žádný styl." + }, + "openManage": { + "message": "Spravovat" + }, + "openStylesManager": { + "message": "Otevřít správce stylů" + }, + "optionsActions": { + "message": "Akce" + }, + "optionsAdvanced": { + "message": "Pokročilé" + }, + "optionsAdvancedContextDelete": { + "message": "Přidat tlačítko Smazat do kontextové nabídky v editoru" + }, + "optionsAdvancedExposeIframes": { + "message": "Obnažit iframe prvky pomocí HTML[stylus-iframe]" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Napsat nový styl jako usercss" + }, + "optionsBadgeDisabled": { + "message": "Barva pozadí při zakázání" + }, + "optionsBadgeNormal": { + "message": "Barva pozadí" + }, + "optionsCheck": { + "message": "Aktualizovat styly" + }, + "optionsCheckUpdate": { + "message": "Vyhledávat a instalovat všechny aktualizace" + }, + "optionsCustomizeBadge": { + "message": "Ikona tlačítka na panelu" + }, + "optionsCustomizeIcon": { + "message": "Ikona na panelu nástrojů" + }, + "optionsCustomizePopup": { + "message": "Vyskakovací okno" + }, + "optionsCustomizeUpdate": { + "message": "Aktualizace" + }, + "optionsHeading": { + "message": "Možnosti" + }, + "optionsIconDark": { + "message": "Tmavé vzhledy" + }, + "optionsIconLight": { + "message": "Světlé vzhledy" + }, + "optionsOpen": { + "message": "Otevřít" + }, + "optionsOpenManager": { + "message": "Spravovat styly" + }, + "optionsPopupWidth": { + "message": "Šířka vyskakovacího okna [px]" + }, + "optionsReset": { + "message": "Obnovit výchozí nastavení" + }, + "optionsResetButton": { + "message": "Obnovit nastavení" + }, + "optionsSubheading": { + "message": "Další možnosti" + }, + "optionsUpdateImportNote": { + "message": "Importujete-li zálohy stylů ze starší verze nebo z rozšíření Stylish, proveďte jednorázovou ruční kontrolu aktualizací ve správci stylů, aby byly všechny styly aktuální." + }, + "optionsUpdateInterval": { + "message": "Interval automatické aktualizace stylů v hodinách (0 = vypnuto)" + }, + "overwriteFileExport": { + "message": "Chcete přepsat stávající soubor?" + }, + "paginationCurrent": { + "message": "Aktuální stránka" + }, + "paginationEstimated": { + "message": "Odhadovaný počet stránek" + }, + "paginationNext": { + "message": "Další stránka" + }, + "paginationPrevious": { + "message": "Předchozí stránka" + }, + "paginationTotal": { + "message": "Celkový počet stránek" + }, + "parseUsercssError": { + "message": "Usercss nelze zpracovat:" + }, + "popupBorders": { + "message": "Přidat postranní bílé okraje" + }, + "popupBordersTooltip": { + "message": "Užitečné pro tmavé motivy v novém Chromu, který již nevykresluje obrysové čáry" + }, + "popupHotkeysTooltip": { + "message": "Kliknutím zobrazíte dostupné klávesové zkratky" + }, + "popupManageTooltip": { + "message": "Shift + kliknutím nebo pravým kliknutím otevřít správce se styly použitými na této stránce" + }, + "popupOpenEditInWindow": { + "message": "Otevírat editor v novém okně" + }, + "popupOpenEditInWindowTooltip": { + "message": "K povolení dojde také při odepnutí listu editoru z okna prohlížeče,\na k vypnutí při připnutí samotného listu editoru do dalšího okna." + }, + "popupStylesFirst": { + "message": "Styly před příkazy" + }, + "prefShowBadge": { + "message": "Počet aktivních stylů pro současnou stránku" + }, + "previewLabel": { + "message": "Živý náhled" + }, + "previewTooltip": { + "message": "Dočasně použije změny bez uložení.\nUložte styl pro trvalé zachování změn." + }, + "readingStyles": { + "message": "Čtení stylů…" + }, + "replace": { + "message": "Nahradit" + }, + "replaceAll": { + "message": "Nahradit vše" + }, + "replaceWith": { + "message": "Nahradit s" + }, + "retrieveBckp": { + "message": "Importovat styly" + }, + "search": { + "message": "Vyhledat" + }, + "searchCaseSensitive": { + "message": "Rozeznávat VELKÁ a malá písmena" + }, + "searchNumberOfResults": { + "message": "Počet shod" + }, + "searchNumberOfResults2": { + "message": "Počet shod v kódu a hodnotách „platí pro“" + }, + "searchRegexp": { + "message": "Použijte /re/ syntaxi pro vyhledávání s regulérními výrazy" + }, + "searchResultInstallCount": { + "message": "Celkový počet instalací" + }, + "searchResultNoneFound": { + "message": "Nenalezeny žádné styly pro tento web." + }, + "searchResultRating": { + "message": "Hodnocení" + }, + "searchResultUpdated": { + "message": "Aktualizováno" + }, + "searchResultWeeklyCount": { + "message": "Týdenní počet instalací" + }, + "sectionAdd": { + "message": "Přidat další sekci" + }, + "sectionCode": { + "message": "Kód" + }, + "sectionRemove": { + "message": "Odstranit sekci" + }, + "sectionRestore": { + "message": "Obnovit odstraněnou sekci" + }, + "shortcuts": { + "message": "Zkratky" + }, + "shortcutsNote": { + "message": "Nastavit klávesové zkratky" + }, + "sortDateNewestFirst": { + "message": "nejdříve novější" + }, + "sortDateOldestFirst": { + "message": "starší nejdříve" + }, + "sortLabel": { + "message": "Zvolte způsob řazení instalovaných stylů" + }, + "sortLabelTitleAsc": { + "message": "Název (vzestupně)" + }, + "sortLabelTitleDesc": { + "message": "Název (sestupně)" + }, + "sortStylesHelpTitle": { + "message": "Seřadit obsah" + }, + "styleBadRegexp": { + "message": "Tento regulérní výraz je neplatný." + }, + "styleBeautify": { + "message": "Zkrášlit" + }, + "styleBeautifyIndentConditional": { + "message": "Odsadit @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Zachovat nové řádky" + }, + "styleCancelEditLabel": { + "message": "Zpět ke správě" + }, + "styleChangesNotSaved": { + "message": "Provedli jste změny tohoto stylu bez uložení." + }, + "styleEnabledLabel": { + "message": "Povolen" + }, + "styleFromMozillaFormatError": { + "message": "Import z Mozilla formátu se nezdařil" + }, + "styleFromMozillaFormatPrompt": { + "message": "Vložte kód v Mozilla formátu" + }, + "styleInstall": { + "message": "Nainstalovat „$stylename$“ do Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Styl nelze nainstalovat.\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "Styl „$stylename$“ je již nainstalován. Přepsat?\nVerze: $oldVersion$ → $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Zadejte název" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla formát" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Styl nebyl použit kvůli nesprávnému použití „regexp()“" + }, + "styleRegexpInvalidExplanation": { + "message": "Některá „regexp()“ pravidla nelze vůbec sestavit." + }, + "styleRegexpPartialExplanation": { + "message": "Tento styl obsahuje částečnou regexp shodu, která je však v rozporu s CSS4 @document specifikací, která vyžaduje přesnou shodu URL adresy. Dotčené CSS části nebyly na stránku použity. Tento styl byl pravděpodobně vytvořen v rozšíření Stylish pro Chrome, které nesprávně kontroluje regexp() pravidla již od své první verze (známá chyba)." + }, + "styleRegexpProblemTooltip": { + "message": "Počet sekcí nepoužitých kvůli nesprávnému použití „regexp()“" + }, + "styleRegexpTestButton": { + "message": "Otestovat RegExp" + }, + "styleRegexpTestFull": { + "message": "Odpovídající listy" + }, + "styleRegexpTestInvalid": { + "message": "Neplatné regexp přeskočeny" + }, + "styleRegexpTestNone": { + "message": "Žádné odpovídající listy" + }, + "styleRegexpTestNote": { + "message": "Poznámka: Používejte jen jedno zpětné lomítko „\\“ ve vstupním regexp poli – v editoru bude automaticky převedeno na „\\\\“, v souladu s normou citovaných řetězců v CSS." + }, + "styleRegexpTestPartial": { + "message": "Shoda je nepřesná, proto přeskočeno" + }, + "styleRegexpTestTitle": { + "message": "Seznam shod otevřených listů (klepnutím na URL zaměříte daný list)" + }, + "styleSaveLabel": { + "message": "Uložit" + }, + "styleToMozillaFormatHelp": { + "message": "Kód v Mozilla formátu může být odeslán na userstyles.org a použit v aplikaci Stylish pro Firefox" + }, + "styleToMozillaFormatTitle": { + "message": "Styl v Mozilla formátu" + }, + "styleUpdate": { + "message": "Určitě chcete aktualizovat „$stylename$“?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Styl byl změněn mimo editor. Chcete styl znovu načíst?" + }, + "stylusUnavailableForURL": { + "message": "Stylus nepracuje se stránkami jako je tato." + }, + "stylusUnavailableForURLdetails": { + "message": "Jako bezpečností opatření, prohlížeč brání rozšířením v ovlivnění vestavěných stránek (např. chrome://version, nová úvodní stránka Chromu 61, about:addons, vivaldi://extensions atp.) a stránek dalších rozšíření. Každý prohlížeč také omezuje přístup do vlastního obchodu s rozšířeními (např. Chrome Web Store nebo AMO)." + }, + "syncStorageErrorSaving": { + "message": "Hodnotu nelze uložit. Zkuste text zkrátit." + }, + "toggleStyle": { + "message": "Přepnout styl" + }, + "undo": { + "message": "Zpět" + }, + "undoGlobal": { + "message": "Zpět ve všech sekcích" + }, + "unreachableAMO": { + "message": "Firefox znemožňuje přístup ke stránce." + }, + "unreachableAMOHint": { + "message": "Povolení přístupu: přejděte na , pravým myšidlem zvolte „Nový“, dále „Boolean“, zadejte kód a potvrďte, , OK, načtěte stránku ." + }, + "unreachableAMOHintOldFF": { + "message": "Pouze Firefox 59 a novější může být nakonfigurován tak, aby rozšíření typu WebExtensions mohla přidávat styly na stránky chráněné CSP (Content Security Policy) – jako je tato." + }, + "unreachableContentScript": { + "message": "Se stránkou nelze komunikovat. Zkuste znovu načíst list." + }, + "unreachableFileHint": { + "message": "Stylus může přistupovat k file:// URL pouze při povolení odpovídající možnosti pro rozšíření Stylus ve správci chrome://extensions." + }, + "unzipStyles": { + "message": "Rozbalování stylů…" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Aktualizace nenalezeny." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Některé aktualizovatelné styly nebyly aktualizovány kvůli zabránění ztrátám možných lokálních změn. Aktualizace může být vynucena individuálně nebo spuštěním další aktualizace všech stylů (lokální změny mohou být přepsány)." + }, + "updateCheckFailBadResponseCode": { + "message": "Aktualizace se nezdařila: server odpověděl kódem $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Aktualizace se nezdařila: server je nedosažitelný." + }, + "updateCheckHistory": { + "message": "Historie aktualizací" + }, + "updateCheckManualUpdateForce": { + "message": "Instalovat aktualizaci (lokální změny budou přepsány)" + }, + "updateCheckManualUpdateHint": { + "message": "Vynucení aktualizace přepíše všechny lokální úpravy." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Tento styl byl upraven lokálně." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Tento styl mohl být upraven lokálně." + }, + "updateCheckSucceededNoUpdate": { + "message": "Styl je aktuální." + }, + "updateCompleted": { + "message": "Aktalizace dokončena." + }, + "updatesCurrentlyInstalled": { + "message": "Instalované aktualizace:" + }, + "uploadingFile": { + "message": "Nahrávání souboru…" + }, + "usercssAvoidOverwriting": { + "message": "Prosím, změňte hodnotu @name nebo @namespace ať nedojde k přepsání existujícího stylu." + }, + "usercssConfigIncomplete": { + "message": "Styl byl aktualizován nebo smazán po zobrazení dialogu konfigurace. Tyto proměnné nebyly uloženy aby se předešlo poškození metadat stylu." + }, + "usercssEditorNamePlaceholder": { + "message": "Definujte @name v kódu" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Nahradit výchozí šablonu pro nové Usercss styly aktuálním kódem?" + }, + "usercssReplaceTemplateName": { + "message": "Prázdné @name nahrazuje výchozí šablonu" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Sem vložte kód…" + }, + "versionInvalidOlder": { + "message": "Tato verze je starší než verze nainstalovaného stylu." + }, + "writeStyleFor": { + "message": "Napsat nový styl pro:" + }, + "writeStyleForURL": { + "message": "tuto URL" + }, + "zipStyles": { + "message": "Balení stylů…" + } +} diff --git a/_locales/da/messages.json b/_locales/da/messages.json index 6e57370f..97d344b2 100644 --- a/_locales/da/messages.json +++ b/_locales/da/messages.json @@ -1,1586 +1,100 @@ { - "addStyleTitle": { - "message": "Tilføj stil", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Gennemsigtighed", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Tilføj", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Anvendes på: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "og mere", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL'er på domænet", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Brug 'Anvendt på'-styring til at begrænse hvilke URL'er koden i denne sektion anvendes på.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Anvendes på", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Vis 'Anvendes på'-info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL'er der matcher regexp'en", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Fjern", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kan ikke fjerne sidste 'Anvendes på'-optegnelse", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificér", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alt", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL'er der starter med", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Anvend alle opdateringer", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Forfatter", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Vælg en fil eller træk og slip til denne side.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Eksportér stil", - "description": "" - }, - "checkAllUpdates": { - "message": "Tjek alle stiler for opdateringer", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Tjek igen, jeg redigerede ikke nogen stil!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Tjek efter opdatering", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Tjekker...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klik for at afinstallere", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Luk automatisk paranteser og citationstegn", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Tilføj automatisk et lukket par når man åbner en af ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autoudfyld på indtastning", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Farvevælgere for CSS-farver", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Brug tabs med smart indrykning", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tastegenveje", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Are you sure you want to delete this style?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Delete", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disable", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit Style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Enable", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Help", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installed Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Skriv ny stil", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Skriv ny stil" + }, + "addStyleTitle": { + "message": "Tilføj stil" + }, + "alphaChannel": { + "message": "Gennemsigtighed" + }, + "appliesAdd": { + "message": "Tilføj" + }, + "appliesDisplay": { + "message": "Anvendes på: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "og mere" + }, + "appliesDomainOption": { + "message": "URL'er på domænet" + }, + "appliesHelp": { + "message": "Brug 'Anvendt på'-styring til at begrænse hvilke URL'er koden i denne sektion anvendes på." + }, + "appliesLabel": { + "message": "Anvendes på" + }, + "appliesLineWidgetLabel": { + "message": "Vis 'Anvendes på'-info" + }, + "appliesRegexpOption": { + "message": "URL'er der matcher regexp'en" + }, + "appliesRemove": { + "message": "Fjern" + }, + "appliesRemoveError": { + "message": "Kan ikke fjerne sidste 'Anvendes på'-optegnelse" + }, + "appliesSpecify": { + "message": "Specificér" + }, + "appliesToEverything": { + "message": "Alt" + }, + "appliesUrlPrefixOption": { + "message": "URL'er der starter med" + }, + "applyAllUpdates": { + "message": "Anvend alle opdateringer" + }, + "author": { + "message": "Forfatter" + }, + "backupMessage": { + "message": "Vælg en fil eller træk og slip til denne side." + }, + "bckpInstStyles": { + "message": "Eksportér stil" + }, + "checkAllUpdates": { + "message": "Tjek alle stiler for opdateringer" + }, + "checkAllUpdatesForce": { + "message": "Tjek igen, jeg redigerede ikke nogen stil!" + }, + "checkForUpdate": { + "message": "Tjek efter opdatering" + }, + "checkingForUpdate": { + "message": "Tjekker..." + }, + "clickToUninstall": { + "message": "Klik for at afinstallere" + }, + "cm_autoCloseBrackets": { + "message": "Luk automatisk paranteser og citationstegn" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Tilføj automatisk et lukket par når man åbner en af ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Autoudfyld på indtastning" + }, + "cm_colorpicker": { + "message": "Farvevælgere for CSS-farver" + }, + "cm_indentWithTabs": { + "message": "Brug tabs med smart indrykning" + }, + "cm_keyMap": { + "message": "Tastegenveje" + } +} diff --git a/_locales/de/messages.json b/_locales/de/messages.json index c07ab3ed..4ce69ddf 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -1,1586 +1,1314 @@ { - "addStyleTitle": { - "message": "Style hinzufügen", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Deckkraft", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Hinzufügen", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Gilt für: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "und weitere", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs auf der Domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Lege mit den Einstellungen von \"Gilt für\" fest, für welche URLs der Code in diesem Bereich gelten soll.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Gilt für", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Zeige \"Gilt für\" Info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Funktioniert nicht mit minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs, die mit der RegExp übereinstimmen", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Löschen", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kann letzten \"Gilt für\" Eintrag nicht entfernen", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Angeben", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alles", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs beginnend mit", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Alle Updates übernehmen ", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Datensicherung", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Wähle eine Datei aus oder ziehe die Datei auf diese Seite. (Drag and Drop)", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Styles exportieren", - "description": "" - }, - "checkAllUpdates": { - "message": "Nach Updates suchen", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Nochmal prüfen, ich habe keine Styles bearbeitet!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Nach Update suchen", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Suche nach Updates...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klicken zum Deinstallieren", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Klammern automatisch schließen", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Wenn ( [ { ' \" geschrieben werden, automatisch schließende ) ] } ' \" setzen", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autovervollständigen bei Eingabe", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Farbwähler für CSS-Farben", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Tabs mit intelligentem Einzug", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tastaturbelegung", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Automatischer Zeilenumbruch", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Hervorheben", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Nur die Auswahl", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Unter dem Textzeiger", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Doppelklick, um Höhe zu maximieren / wiederherzustellen", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Doppelklick markiert Zeichenkette", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Beispiele von Zeichenketten: .foo-bar-2 #aabbcc 0.32 !important\nWenn deaktiviert, werden Wörter je nach Interpunktion ausgewählt.", - "description": "" - }, - "cm_smartIndent": { - "message": "Intelligenter Einzug", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab-Größe", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Rechtsklicke auf ein Farbmuster, um durch die entsprechenden Codezeilen zu springen", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Formate wechseln: HEX -> RGB ->HSL.\nShift-Klick, um Richtung umzukehren.\nKürzel: Bild auf- und Bild ab-Tasten.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Farbwähler öffnen", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "bei Änderung", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Änderungen automatisch speichern und übernehmen", - "description": "" - }, - "configureStyle": { - "message": "Konfigurieren", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Auf Homepage konfigurieren", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Abbrechen", - "description": "" - }, - "confirmClose": { - "message": "Schließen", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Voreinstellung verwenden", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Löschen", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Änderungen verwerfen?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nein", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Speichern", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stopp", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "In die Zwischenablage kopiert", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "In die Zwischenablage kopieren", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Neuen Anzeigenamen des Styles hier eingeben, um trotzdem weiterhin Updates zu erhalten", - "description": "" - }, - "customNameResetHint": { - "message": "Eigenen Anzeigenamen nicht mehr benutzen, wechsle wieder zum Standardnamen des Styles", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Installationsdatum", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Updatedatum", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ein Fehler ist beim Verwenden der Stylus-Datenbank aufgetreten. Willst Du eine Webseite mit möglichen Lösungen besuchen?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "Standard", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Möchtest Du diesen Style wirklich löschen?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Löschen", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Gestalte das Web neu mit Stylus, dem Style Manager. Stylus ermöglicht dir ganz einfach Themes und Designs für viele beliebte Webseiten zu installieren.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Alle Styles deaktivieren", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Deaktivieren", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Ziehe die Backup Datei zum importieren an irgendeinen Ort auf dieser Seite.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Ziehe die Datei auf die Tableiste, um sie zu installieren.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Löschen", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Gehe zu Zeile (oder Zeile:Zeichen)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Style bearbeiten", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Bearbeiten", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Style $stylename$ bearbeiten", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Aktivieren", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Aktuelle Domain ausschließen", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Aktuelle URL ausschließen", - "description": "" - }, - "exportLabel": { - "message": "Exportieren", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Externer Link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "zur Supportseite", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Dokumentation für UserCSS", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ von $numTotal$ gesamt", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Aktuell angewandte Filter treffen auf keinen Style zu", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Styles finden", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Weitere Styles für diese Seite finden", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Ergebnisse hier anzeigen", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Suchergebnisse in diesem Fenster anzeigen.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Hinzufügen", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Kopieren", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Deaktiviert", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Aktiviert", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Fehler", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Verlauf", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Weiter", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Zurück", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Zurücksetzen", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Gespeichert", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Name", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unbekannt", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Hilfe", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Befehlsnamen eingeben", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Hotkey drücken", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Dieser Host wurde deaktiviert, weil die aktuell genutzte Version deines Browsers einen Fehler enthält.", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Zum Style anfügen", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Füge den importierten Style an den aktuellen", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importieren", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Ein Style mit einem @preprocessorfunktioniert nicht im klassischen Modus. Du kannst den Editor auf UserCSS umstellen: 1) Öffne den Style-Manager, 2) Aktiviere das Kästchen \"Als UserCSS\", 3) Klicke auf \"Neuen Style erstellen\"\n\nTrotzdem jetzt importieren?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Mögliches Problem wegen @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Style überschreiben", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Verwerfe den aktuellen Style-Inhalt und überschreibe ihn mit dem importierten", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "Hinzugefügt", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "Identische übersprungen", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "Ungültige übersprungen", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "Aktualisierte Codes und Metadaten", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "Aktualisierter Code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "Aktualisierte Metadaten", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importieren der Styles abgeschlossen.", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nichts wurde geändert.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "Styles wiederherstellt", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importierung wurde rückgängig gemacht.", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Style installieren", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installiert", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Style neu installieren", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Style updaten", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Update installieren", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Style erhält momentan Updates von $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Nach Updates suchen", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Lizenz", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hilfeseite anzeigen", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Styles beziehen", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Übersetzen", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint unterstützt den $preprocessorname$ Präprozessor nicht", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Regeln: 0 = Deaktiviert; 1 = Warnung; 2 = Fehler)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Einstellungen für $linter$", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Klicken, um diesen Linter zu konfigurieren", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nicht gespeichert aufgrund folgender ungültiger Einstellungen:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Probleme", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Folgende Probleme wurden von $link$ gefunden:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Ungültiges JSON Format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Um versehentliches Zurücksetzen rückgängig zu machen, drücke Strg+Z im Textfenster", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vollständige Liste der Regeln anzeigen", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Bei der Echtzeitaktualisierung der Datei ist ein Fehler aufgetreten", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Lasse diesen Tab geöffnet, um den Style bei externen Änderungen automatisch zu aktualisieren.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Lasse diesen und den Originaltab offen, um den Style bei externen Änderungen automatisch zu aktualisieren.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Echtzeitaktualisierung", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in der \"Gilt für\" Spalte anzeigen", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Ausgegraut", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus nutzt hierzu den externen Dienst https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filter", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installierte Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Anzahl der \"Gilt für\" Elemente", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "als UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Neues Verwaltungs-Layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Nur deaktivierte Styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Nur aktivierte Styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Nur externe Styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Nur lokale Styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(Diese Styles wurden nicht durch userstyles.org installiert)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Keine UserCSS Styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Nur mit Updates oder Problemen", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Nur UserCSS Styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Anzahl der aktiven Styles anzeigen", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Ungültige @var Checkbox: Wert muss 0 oder 1 sein", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Ungültige @var Farbe: $color$ ist keine Farbe", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Ungültige @var $type$: Wert muss eine Zahl oder ein Array sein", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Ungültige @var $type$: Mehrere Einheiten sind definiert", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Ungültige @var $type$: Der Array enthält zu viele Elemente", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Ungültige @var $type$: Elemente im Array müssen Zahlen, Strings oder null sein", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Ungültige @var $type$: Standardwert ist null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Ungültige @var $type$: Standardwert ist geringer als das Minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Ungültige @var $type$: Standardwert ist größer als das Maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Ungültige @var $type$: Standardwert ist kein Vielfaches der Schrittweite", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Ungültige @var $type$: '$units$' ist keine gültige Einheit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Ungültiges @var select: Der Standardwert muss eine Array oder Objekt sein", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Ungültiges @var select: Werte innerhalb des Arrays/Objekts müssen Strings sein", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Ungültiges @var select: Die Auswahlliste ist leer", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Ungültiges @var select: Beschriftung der Auswahlmöglichkeiten ist leer", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Ungültiges @var select: Mehrere Standardauswahlen sind definiert", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Ungültiges @var select: Doppelte Optionsnamen", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Ungültiges @var select: Wert existiert nicht in der Auswahlliste", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Ungültiges URL Protokoll. Nur http und https sind erlaubt: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Ungültige Versionsnummer: Der Wert entspricht nicht dem SemVer Schema: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Erwarte Zahl", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Erwarte String in Anführungszeichen", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Erwarte ein Wort", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Erwarte Zeichen: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Erwarte EOT Daten", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Erforderliche Metadaten fehlen: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Ungültiges JSON: $literal$ ist kein gültiges JSON Symbol", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unbekannte Metadaten: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unbekannter @$varkey$ Typ: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unbekannter @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Für diese Webseite sind keine Styles installiert.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Zeile:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Verwalten", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Optionen", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Style Verwaltung öffnen", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Aktionen", - "description": "" - }, - "optionsAdvanced": { - "message": "Erweitert", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "\"Löschen\" im Editor-Kontextmenü hinzufügen", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Ermögliche Iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Style wirkt sich auch auf iframes der anvisierten (obersten) Domain aus.\nIframe-spezifisches CSS ist dann wie folgt möglich:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Schreibe neuen Style als UserCSS", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "CSPabändern, um externe Ressourcen zu erlauben", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Aktivieren, wenn Styles Bilder oder Schriftarten enthalten, die aufgrund strenger CSP (Content-Security-Policy) Regeln mancher Seiten nicht laden.\n\nDas Aktivieren wird CSPBeschränkungen lockern, um für den Style erforderliche Ressourcen zu laden. Diese Option ist für fortgeschrittene Benutzer gedacht, die sich den möglichen Sicherheitsrisiken bewusst sind und die die Verantwortung dafür tragen, die nachgeladenen Inhalte selbst zu überwachen. Informiere dich über \"CSS-basierte Angriffe\" um mehr zu erfahren.\n\nBeachte außerdem, dass diese Option nicht garantiert funktioniert, falls eine andere installierte Erweiterung die Netzwerkantwort (CSP-header) zuerst abändert.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Style unverzüglich einfügen", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Aktivieren, falls während dem Browsen ungestylter Inhalt aufblitzt (FOUC). Besonders auffällig bei dunklen Styles.\n\nDer technische Grund ist, dass Chrome/Chromium die asynchrone Kommunikation von Erweiterungen zeitlich nach hinten verschiebt, um vermeintlich die Seitenladegeschwindigkeit zu erhöhen. Dies kann das Einfügen von Styles spürbar verzögern. Da für WebExtensions keine synchrone API bereitgestellt wird, versucht Stylus als Notbehelf, Styles über die veraltete XMLHttpRequest web API zu laden. Es sollten keine nachteiligen Effekte eintreten, weil die Anfrage innerhalb weniger Millisekunden abgearbeitet wird, während die Seite noch vom Server geladen wird.\n\nTrotzdem wird Chromium eine Warnung in der Entwicklerkonsole ausgeben. Über Rechtsklick auf die Warnung können zukünftige Meldungen versteckt werden.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Hintergrundfarbe wenn deaktiviert", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Hintergrundfarbe", - "description": "" - }, - "optionsCheck": { - "message": "Styles aktualisieren", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Alle verfügbaren Updates Installieren", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge auf dem Toolbar-Icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Symbolleisten-Icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Mit Cloud synchronisieren", - "description": "" - }, - "optionsHeading": { - "message": "Optionen", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dunkle Browser-Themes", - "description": "" - }, - "optionsIconLight": { - "message": "Helle Browser-Themes", - "description": "" - }, - "optionsOpen": { - "message": "Öffnen", - "description": "" - }, - "optionsOpenManager": { - "message": "Verwaltung", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup-Breite (in Pixeln)", - "description": "" - }, - "optionsReset": { - "message": "Setzt diese Einstellungen auf die Standard-Werte zurück.", - "description": "" - }, - "optionsResetButton": { - "message": "Optionen zurücksetzen", - "description": "" - }, - "optionsStylusThemes": { - "message": "Stylus UI-Theme suchen", - "description": "" - }, - "optionsSubheading": { - "message": "Mehr Optionen", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Nach dem Importieren von Styles aus einer alten Version oder von Stylish ist eine einmalige manuelle Updatesuche in der Verwaltung nötig. Dies stellt sicher, dass alle Styles auf dem aktuellsten Stand sind.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Style-Updateintervall in Stunden (0 zum Deaktivieren)", - "description": "" - }, - "optionsSyncNone": { - "message": "Nichts", - "description": "" - }, - "optionsSyncConnect": { - "message": "Verbinden", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Trennen", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Jetzt synchronisieren", - "description": "" - }, - "optionsSyncLogin": { - "message": "Anmelden", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Hole Style $loaded$ von $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Lade Style $loaded$ von $total$ hoch", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Synchronisiere...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Verbinde...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Verbunden", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Trenne Verbindung...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Verbindung getrennt", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session abgelaufen, bitte neu einloggen.", - "description": "" - }, - "paginationCurrent": { - "message": "Aktuelle Seite", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Geschätzte Seitenanzahl", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Nächste Seite", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Vorherige Seite", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Gesamtzahl der Seiten", - "description": "" - }, - "parseUsercssError": { - "message": "UserCSS parsen fehlgeschlagen:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Styles im Popup sofort neu sortieren", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Weiße Rahmen an den Seiten hinzufügen", - "description": "" - }, - "popupBordersTooltip": { - "message": "Nützlich für dunkle Themes im neuen Chrome, da dort die Seitenränder nicht mehr gefärbt werden", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<0>-<9> (auch auf NumPad) schaltet den n-ten Style um (0 ist 10)\n- schaltet ersten Style, dessen Name mit diesem Buchstaben beginnt, um\n öffnet Editor statt umzuschalten\n aktiviert die aufgeführten Styles\n deaktiviert die aufgeführten Styles\n schaltet anfänglich aktivierte Styles um. Trifft nicht auf Styles zu, die erst aktiviert werden, wenn das Popup noch geöffnet ist. Dadurch kann z.B. die Anfangseinstellung nach einem Test wiederhergestellt werden: \nMehr dazu im Wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Klicke, um Tastenkürzel zu sehen", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+Klick oder Rechtsklick öffnet den Stylemanager mit Filter für Styles der aktuellen Seite", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Aktionsmenü", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Einfaches Fenster verwenden (keine Omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Editor in neuem Fenster öffnen", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Wird auch aktiviert durch Lösen des Editor-Tabs vom Browserfenster\nund deaktiviert durch Zusammenführen eines Editor-Tabs mit einem anderen Fenster.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles vor den Bedienelementen", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Anzahl der aktiven Styles auf der aktuellen Seite", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Echtzeitvorschau", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Übernimmt die Änderungen nur vorübergehend.\nSpeichere den Style, um die Änderungen dauerhaft anzuwenden.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus Addon neu laden", - "description": "Context menu reload" - }, - "replace": { - "message": "Ersetzen", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Alles ersetzen", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Ersetzen durch", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Styles importieren", - "description": "" - }, - "search": { - "message": "Suche", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Groß- / Kleinschreibung beachten", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Auch globale Styles suchen", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Trefferanzahl", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Trefferanzahl im Code und in \"Gilt für\" Feldern", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Stylenamen ohne Beachtung der Groß-/Kleinschreibung suchen:\nMehrere Suchworte - alle Wörter in beliebiger Reihenfolge\n\"Bestimmte Phrase\" - genau diese Phrase ohne Anführungszeichen\n2020 - zeigt auch Styles, die 2020 aktualisiert wurden", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Verwende die /re/ Syntax zur Suche als RegExp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Gesamte Installationen", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Keine Styles für diese Seite gefunden.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "Der Style wurde installiert, gilt aber nicht für die aktuelle URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Frage den Autor des Styles, ob er die URL hinzufügt.\n\nDu kannst den Style auch selbst bearbeiten,\naber dann werden automatische Updates für diesen Style deaktiviert.", - "description": "" - }, - "searchResultRating": { - "message": "Bewertung", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Aktualisiert am", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Wöchentliche Installationen", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Alles", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS Code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": "Die -Taste (Numpad) oder fokussieren das Suchfeld.\nEinfacher Text: Sucht mit Leerzeichen getrennte Wörter in beliebiger Reihenfolge.\nSuche nach genauem Ausdruck: Anführungszeichen verwenden, z.B. <\".header ~ div\">\nRegExp: Nutze Schrägstrich und Flags, z.B. \nStyles, die auf eine URL passen: Aktiviere \"Nach URL\" und suche nach einer vollständigen URL, z.B. https://www.example.org/\nMetadaten: Aktiviere das Kontrollkästchen für Metadaten, um in Namen, \"Gilt für\" Feldern, Installations-URL, Update-URL und dem gesamten Metadatenblock in UserCSS Styles zu suchen.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "Nach URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadaten", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Weiteren Bereich hinzufügen", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Bereich entfernen", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Gelöschten Bereich wiederherstellen", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Bereiche", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Tastenkürzel", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Eine Tastenkombination definieren", - "description": "" - }, - "sortDateNewestFirst": { - "message": "neueste zuerst", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "älteste zuerst", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Wähle eine Sortierreihenfolge für die installierten Styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Name aufsteigend", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Name absteigend", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Wähle die anzuwendende Sortierart aus dem Dropdown-Menü aus. Die Standardeinstellung sortiert aufsteigend nach Name des Styles (A bis Z). Innerhalb der \"Name absteigend\"-Gruppe wird von Z bis A sortiert.\nEs gibt andere Voreinstellungen, die es erlauben, Einträge nach mehreren Kriterien zu sortieren. Stelle es dir vor wie bei einer Tabellensortierung mit mehreren Spalten. Jede Kategorie (vor bzw. nach Pluszeichen) stellt dabei eine Spalte dar.\nIst die Einstellung beispielsweise \"Aktiviert (zuerst) + Name\", dann werden die Einträge so sortiert, dass alle aktivierten Styles zuerst stehen (von A bis Z) und dann alle deaktivierten Styles (wieder von A beginnend bis Z).", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Inhalte sortieren", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regulärer Ausdruck (RegExp) ist ungültig.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Code formatieren", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hinweis: Mache einen Rechtsklick auf \"Code formatieren\" oder nutze das weiter unten definierte Tastenkürzel, um den Code zu formatieren ohne dieses Fenster anzuzeigen.", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Rücke @media / @supports ein", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Leerzeilen schützen", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Zurück zum Verwalten", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Du hast Änderungen an diesem Style vorgenommen, ohne diese zu speichern.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Aktiviert", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Import vom Mozilla Format fehlgeschlagen", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla-Format Code einfügen", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "\"$stylename$\" mit Stylus installieren?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Installation des Styles fehlgeschlagen!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "\"$stylename$\" ist bereits installiert. Überschreiben?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Bitte Namen eingeben", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Der Style wurde aufgrund ungültiger RegExp nicht angewandt.", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Einige RegExp konnten nicht kompiliert werden.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Dieser Style verwendet nur teilweise übereinstimmende RegExp unter Missachtung der CSS4 @document Spezifikationen, welche eine vollständig übereinstimmende URL benötigen. Die betroffenen CSS-Bereiche wurde nicht auf die Website angewandt. Dieser Style wurde wahrscheinlich unter Stylish für Chrome erstellt, in der seit der ersten Version eine fehlerhafte Überprüfung der RegExp besteht (bekannter Fehler).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Anzahl der Bereiche, welche aufgrund nicht korrekt verwendeter RegExp nicht angewendet wurden", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp testen", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Zutreffende Tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Übersprungene ungültige RegExp", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Keine zutreffenden Tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Beachte: Nutze einzelne \\ (Backslashes) zum Escapen im RegExp Feld. Diese werden automatisch im Stylecode zu doppelten \\\\ konvertiert, um der CSS Spezifikation zu entsprechen.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Keine genaue Übereinstimmung, wurde daher übersprungen.", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Liste der zutreffenden, geöffneten Tabs (URL anklicken, um den Tab zu fokussieren)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Speichern", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Das Mozilla-Format des Codes kann mit Stylish für Firefox verwendet werden und bei userstyles.org eingereicht werden.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style im Mozilla Format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Möchtest Du \"$stylename$\" wirklich aktualisieren?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Der Style wurde außerhalb des Editors verändert. Style neu laden?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus funktioniert nicht auf Seiten wie diesen.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Als Sicherheitsvorkehrung verbietet der Browser es Erweiterungen, seine eingebauten Seiten (wie chrome://version, dem neuen Standard-Tab ab Chrome 61, about:addons, usw.), sowie Seiten anderer Erweiterungen zu beeinflussen. Jeder Browser beschränkt auch den Zugriff auf seine eigene Erweiterungsgalerie (wie Chrome Web Store oder addons.mozilla.org).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Der Wert kann nicht gespeichert werden. Versuche, die Textmenge zu reduzieren.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Synchronisation fehlgeschlagen", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Synchronisation fehlgeschlagen.\nVersuche, dich in den Optionen neu einzuloggen:\nKlicke erst \"Trennen\", dann \"Verbinden\".", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Style umschalten", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Rückgängig", - "description": "Button label" - }, - "undoGlobal": { - "message": "Rückgängig machen in allen Bereichen", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox verbietet den Zugriff auf diese Seite.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Um den Zugriff zu erlauben, öffne , rechtsklicke in die Liste, klicke \"Neu\", dann \"Boolean\", füge ein und klicke OK, , OK, lade neu.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 und neuer muss auch die addons.mozilla.org domain von in entfernt werden.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Nur in Firefox 59 und neuer ist es möglich, WebExtenstions den Zugriff auf CSP-geschützte Seiten wie dieser zu erlauben.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Konnte nicht mit der Seite kommunizieren. Bitte versuchen Sie, die Seite erneut zu laden.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus kann nur auf das file:// Protokoll in der URL zugreifen, wenn dies in den Einstellungen der Erweiterung unter chrome://extensions festgelegt wurde.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus kann auf einige Dateitypen nicht zugreifen (z.B. pdf oder json)", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Keine Updates gefunden.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Einige Styles wurden nicht überprüft, um dem Verlust von lokalen Bearbeitungen vorzubeugen. Die Aktualisierungen können entweder durch einzelne manuelle Überprüfung oder durch eine erneute Ausführung der Updatesuche (und anschließendem Update) für alle Styles erzwungen werden. Lokale Bearbeitungen werden dann überschrieben.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update fehlgeschlagen: Server antwortete mit Code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update fehlgeschlagen: Server nicht erreichbar.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Verlauf der Updatesuche", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Updates installieren (Lokale Bearbeitungen werden überschrieben)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Eine erzwungene Aktualisierung wird die lokalen Änderungen überschreiben.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Dieser Style wurde lokal bearbeitet.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Dieser Style scheint lokal bearbeitet worden zu sein.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Der Style ist auf dem aktuellsten Stand.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aktualisierung abgeschlossen.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Installierte Updates:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Bitte ändere @name oder @namespace, um das Überschreiben eines bereits existierenden Styles zu verhindern.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Der Style wurde aktualisiert oder gelöscht, nachdem der Einstellungsdialog gezeigt wurde. Folgende Variablen wurden nicht gespeichert, um Metadatenkorruption zu verhindern:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Gib @name im Code an", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Ersetze das vorgegebene Template für neue UserCSS styles mit dem vorliegenden Code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Ein leeres @name ersetzt das vorgegebene Template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Quelltext hier eingeben...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Die Version des Styles ist älter als die des bereits installierten.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Style erstellen für:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "diese URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox Import / Export wurde durch einen fortschrittlicheren Mechanismus auf der Optionsseite ersetzt.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Willst du die existierende Datei überschreiben?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Datei erfolgreich gespeichert", - "description": "" - }, - "noFileToImport": { - "message": "Keine Importdatei vorhanden. Um Styles zu importieren, solltest du sie zuerst exportieren.", - "description": "" - }, - "connectingDropbox": { - "message": "Verbinde mit Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Verbindung zur Dropbox ist nur in Apps verfügbar, die direkt vom Webstore installiert wurden", - "description": "" - }, - "gettingStyles": { - "message": "Empfange alle Styles...", - "description": "" - }, - "zipStyles": { - "message": "Packe Styles...", - "description": "" - }, - "unzipStyles": { - "message": "Entpacke Styles...", - "description": "" - }, - "readingStyles": { - "message": "Lese Styles...", - "description": "" - }, - "uploadingFile": { - "message": "Lade Styles hoch...", - "description": "" - }, - "addStyleLabel": { - "message": "Neuen Style erstellen", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus kann auf einige Dateitypen nicht zugreifen (z.B. pdf oder json)" + }, + "addStyleLabel": { + "message": "Neuen Style erstellen" + }, + "addStyleTitle": { + "message": "Style hinzufügen" + }, + "alphaChannel": { + "message": "Deckkraft" + }, + "appliesAdd": { + "message": "Hinzufügen" + }, + "appliesDisplay": { + "message": "Gilt für: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "und weitere" + }, + "appliesDomainOption": { + "message": "URLs auf der Domain" + }, + "appliesHelp": { + "message": "Lege mit den Einstellungen von \"Gilt für\" fest, für welche URLs der Code in diesem Bereich gelten soll." + }, + "appliesLabel": { + "message": "Gilt für" + }, + "appliesLineWidgetLabel": { + "message": "Zeige \"Gilt für\" Info" + }, + "appliesLineWidgetWarning": { + "message": "Funktioniert nicht mit minified CSS" + }, + "appliesRegexpOption": { + "message": "URLs, die mit der RegExp übereinstimmen" + }, + "appliesRemove": { + "message": "Löschen" + }, + "appliesRemoveError": { + "message": "Kann letzten \"Gilt für\" Eintrag nicht entfernen" + }, + "appliesSpecify": { + "message": "Angeben" + }, + "appliesToEverything": { + "message": "Alles" + }, + "appliesUrlPrefixOption": { + "message": "URLs beginnend mit" + }, + "applyAllUpdates": { + "message": "Alle Updates übernehmen " + }, + "author": { + "message": "Autor" + }, + "backupButtons": { + "message": "Datensicherung" + }, + "backupMessage": { + "message": "Wähle eine Datei aus oder ziehe die Datei auf diese Seite. (Drag and Drop)" + }, + "bckpInstStyles": { + "message": "Styles exportieren" + }, + "checkAllUpdates": { + "message": "Nach Updates suchen" + }, + "checkAllUpdatesForce": { + "message": "Nochmal prüfen, ich habe keine Styles bearbeitet!" + }, + "checkForUpdate": { + "message": "Nach Update suchen" + }, + "checkingForUpdate": { + "message": "Suche nach Updates..." + }, + "clickToUninstall": { + "message": "Klicken zum Deinstallieren" + }, + "cm_autoCloseBrackets": { + "message": "Klammern automatisch schließen" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Wenn ( [ { ' \" geschrieben werden, automatisch schließende ) ] } ' \" setzen" + }, + "cm_autocompleteOnTyping": { + "message": "Autovervollständigen bei Eingabe" + }, + "cm_colorpicker": { + "message": "Farbwähler für CSS-Farben" + }, + "cm_indentWithTabs": { + "message": "Tabs mit intelligentem Einzug" + }, + "cm_keyMap": { + "message": "Tastaturbelegung" + }, + "cm_lineWrapping": { + "message": "Automatischer Zeilenumbruch" + }, + "cm_matchHighlight": { + "message": "Hervorheben" + }, + "cm_matchHighlightSelection": { + "message": "Nur die Auswahl" + }, + "cm_matchHighlightToken": { + "message": "Unter dem Textzeiger" + }, + "cm_resizeGripHint": { + "message": "Doppelklick, um Höhe zu maximieren / wiederherzustellen" + }, + "cm_selectByTokens": { + "message": "Doppelklick markiert Zeichenkette" + }, + "cm_selectByTokensTooltip": { + "message": "Beispiele von Zeichenketten: .foo-bar-2 #aabbcc 0.32 !important\nWenn deaktiviert, werden Wörter je nach Interpunktion ausgewählt." + }, + "cm_smartIndent": { + "message": "Intelligenter Einzug" + }, + "cm_tabSize": { + "message": "Tab-Größe" + }, + "colorpickerPaletteHint": { + "message": "Rechtsklicke auf ein Farbmuster, um durch die entsprechenden Codezeilen zu springen" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Formate wechseln: HEX -> RGB ->HSL.\nShift-Klick, um Richtung umzukehren.\nKürzel: Bild auf- und Bild ab-Tasten." + }, + "colorpickerTooltip": { + "message": "Farbwähler öffnen" + }, + "configOnChange": { + "message": "bei Änderung" + }, + "configOnChangeTooltip": { + "message": "Änderungen automatisch speichern und übernehmen" + }, + "configureStyle": { + "message": "Konfigurieren" + }, + "configureStyleOnHomepage": { + "message": "Auf Homepage konfigurieren" + }, + "confirmCancel": { + "message": "Abbrechen" + }, + "confirmClose": { + "message": "Schließen" + }, + "confirmDefault": { + "message": "Voreinstellung verwenden" + }, + "confirmDelete": { + "message": "Löschen" + }, + "confirmDiscardChanges": { + "message": "Änderungen verwerfen?" + }, + "confirmNo": { + "message": "Nein" + }, + "confirmSave": { + "message": "Speichern" + }, + "confirmStop": { + "message": "Stopp" + }, + "confirmYes": { + "message": "Ja" + }, + "connectingDropbox": { + "message": "Verbinde mit Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "Verbindung zur Dropbox ist nur in Apps verfügbar, die direkt vom Webstore installiert wurden" + }, + "copied": { + "message": "In die Zwischenablage kopiert" + }, + "copy": { + "message": "In die Zwischenablage kopieren" + }, + "customNameHint": { + "message": "Neuen Anzeigenamen des Styles hier eingeben, um trotzdem weiterhin Updates zu erhalten" + }, + "customNameResetHint": { + "message": "Eigenen Anzeigenamen nicht mehr benutzen, wechsle wieder zum Standardnamen des Styles" + }, + "dateInstalled": { + "message": "Installationsdatum" + }, + "dateUpdated": { + "message": "Updatedatum" + }, + "dbError": { + "message": "Ein Fehler ist beim Verwenden der Stylus-Datenbank aufgetreten. Willst Du eine Webseite mit möglichen Lösungen besuchen?" + }, + "defaultTheme": { + "message": "Standard" + }, + "deleteStyleConfirm": { + "message": "Möchtest Du diesen Style wirklich löschen?" + }, + "deleteStyleLabel": { + "message": "Löschen" + }, + "description": { + "message": "Gestalte das Web neu mit Stylus, dem Style Manager. Stylus ermöglicht dir ganz einfach Themes und Designs für viele beliebte Webseiten zu installieren." + }, + "disableAllStyles": { + "message": "Alle Styles deaktivieren" + }, + "disableStyleLabel": { + "message": "Deaktivieren" + }, + "dragDropMessage": { + "message": "Ziehe die Backup Datei zum importieren an irgendeinen Ort auf dieser Seite." + }, + "dragDropUsercssTabstrip": { + "message": "Ziehe die Datei auf die Tableiste, um sie zu installieren." + }, + "editDeleteText": { + "message": "Löschen" + }, + "editGotoLine": { + "message": "Gehe zu Zeile (oder Zeile:Zeichen)" + }, + "editStyleHeading": { + "message": "Style bearbeiten" + }, + "editStyleLabel": { + "message": "Bearbeiten" + }, + "editStyleTitle": { + "message": "Style $stylename$ bearbeiten", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Aktivieren" + }, + "excludeStyleByDomainLabel": { + "message": "Aktuelle Domain ausschließen" + }, + "excludeStyleByUrlLabel": { + "message": "Aktuelle URL ausschließen" + }, + "exportLabel": { + "message": "Exportieren" + }, + "exportSavedSuccess": { + "message": "Datei erfolgreich gespeichert" + }, + "externalLink": { + "message": "Externer Link" + }, + "externalSupport": { + "message": "zur Supportseite" + }, + "externalUsercssDocument": { + "message": "Dokumentation für UserCSS" + }, + "filteredStyles": { + "message": "$numShown$ von $numTotal$ gesamt", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Aktuell angewandte Filter treffen auf keinen Style zu" + }, + "findStyles": { + "message": "Styles finden" + }, + "findStylesForSite": { + "message": "Weitere Styles für diese Seite finden" + }, + "findStylesInline": { + "message": "Ergebnisse hier anzeigen" + }, + "findStylesInlineTooltip": { + "message": "Suchergebnisse in diesem Fenster anzeigen." + }, + "genericAdd": { + "message": "Hinzufügen" + }, + "genericClone": { + "message": "Kopieren" + }, + "genericDisabledLabel": { + "message": "Deaktiviert" + }, + "genericEnabledLabel": { + "message": "Aktiviert" + }, + "genericError": { + "message": "Fehler" + }, + "genericHistoryLabel": { + "message": "Verlauf" + }, + "genericNext": { + "message": "Weiter" + }, + "genericPrevious": { + "message": "Zurück" + }, + "genericResetLabel": { + "message": "Zurücksetzen" + }, + "genericSavedMessage": { + "message": "Gespeichert" + }, + "genericTitle": { + "message": "Name" + }, + "genericUnknown": { + "message": "Unbekannt" + }, + "gettingStyles": { + "message": "Empfange alle Styles..." + }, + "helpAlt": { + "message": "Hilfe" + }, + "helpKeyMapCommand": { + "message": "Befehlsnamen eingeben" + }, + "helpKeyMapHotkey": { + "message": "Hotkey drücken" + }, + "hostDisabled": { + "message": "Dieser Host wurde deaktiviert, weil die aktuell genutzte Version deines Browsers einen Fehler enthält." + }, + "importAppendLabel": { + "message": "Zum Style anfügen" + }, + "importAppendTooltip": { + "message": "Füge den importierten Style an den aktuellen" + }, + "importLabel": { + "message": "Importieren" + }, + "importPreprocessor": { + "message": "Ein Style mit einem @preprocessorfunktioniert nicht im klassischen Modus. Du kannst den Editor auf UserCSS umstellen: 1) Öffne den Style-Manager, 2) Aktiviere das Kästchen \"Als UserCSS\", 3) Klicke auf \"Neuen Style erstellen\"\n\nTrotzdem jetzt importieren?" + }, + "importPreprocessorTitle": { + "message": "Mögliches Problem wegen @preprocessor" + }, + "importReplaceLabel": { + "message": "Style überschreiben" + }, + "importReplaceTooltip": { + "message": "Verwerfe den aktuellen Style-Inhalt und überschreibe ihn mit dem importierten" + }, + "importReportLegendAdded": { + "message": "Hinzugefügt" + }, + "importReportLegendIdentical": { + "message": "Identische übersprungen" + }, + "importReportLegendInvalid": { + "message": "Ungültige übersprungen" + }, + "importReportLegendUpdatedBoth": { + "message": "Aktualisierte Codes und Metadaten" + }, + "importReportLegendUpdatedCode": { + "message": "Aktualisierter Code" + }, + "importReportLegendUpdatedMeta": { + "message": "Aktualisierte Metadaten" + }, + "importReportTitle": { + "message": "Importieren der Styles abgeschlossen." + }, + "importReportUnchanged": { + "message": "Nichts wurde geändert." + }, + "importReportUndone": { + "message": "Styles wiederherstellt" + }, + "importReportUndoneTitle": { + "message": "Importierung wurde rückgängig gemacht." + }, + "installButton": { + "message": "Style installieren" + }, + "installButtonInstalled": { + "message": "Style installiert" + }, + "installButtonReinstall": { + "message": "Style neu installieren" + }, + "installButtonUpdate": { + "message": "Style updaten" + }, + "installUpdate": { + "message": "Update installieren" + }, + "installUpdateFrom": { + "message": "Style erhält momentan Updates von $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Nach Updates suchen" + }, + "license": { + "message": "Lizenz" + }, + "linkGetHelp": { + "message": "Hilfeseite anzeigen" + }, + "linkGetStyles": { + "message": "Styles beziehen" + }, + "linkTranslate": { + "message": "Übersetzen" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint unterstützt den $preprocessorname$ Präprozessor nicht", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Regeln: 0 = Deaktiviert; 1 = Warnung; 2 = Fehler)" + }, + "linterConfigPopupTitle": { + "message": "Einstellungen für $linter$", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Klicken, um diesen Linter zu konfigurieren" + }, + "linterInvalidConfigError": { + "message": "Nicht gespeichert aufgrund folgender ungültiger Einstellungen:" + }, + "linterIssues": { + "message": "Probleme" + }, + "linterIssuesHelp": { + "message": "Folgende Probleme wurden von $link$ gefunden:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Ungültiges JSON Format" + }, + "linterResetMessage": { + "message": "Um versehentliches Zurücksetzen rückgängig zu machen, drücke Strg+Z im Textfenster" + }, + "linterRulesLink": { + "message": "Vollständige Liste der Regeln anzeigen" + }, + "liveReloadError": { + "message": "Bei der Echtzeitaktualisierung der Datei ist ein Fehler aufgetreten" + }, + "liveReloadInstallHint": { + "message": "Lasse diesen Tab geöffnet, um den Style bei externen Änderungen automatisch zu aktualisieren." + }, + "liveReloadInstallHintFF": { + "message": "Lasse diesen und den Originaltab offen, um den Style bei externen Änderungen automatisch zu aktualisieren." + }, + "liveReloadLabel": { + "message": "Echtzeitaktualisierung" + }, + "manageFavicons": { + "message": "Favicons in der \"Gilt für\" Spalte anzeigen" + }, + "manageFaviconsGray": { + "message": "Ausgegraut" + }, + "manageFaviconsHelp": { + "message": "Stylus nutzt hierzu den externen Dienst https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filter" + }, + "manageHeading": { + "message": "Installierte Styles" + }, + "manageMaxTargets": { + "message": "Anzahl der \"Gilt für\" Elemente" + }, + "manageNewStyleAsUsercss": { + "message": "als UserCSS" + }, + "manageNewUI": { + "message": "Neues Verwaltungs-Layout" + }, + "manageOnlyDisabled": { + "message": "Nur deaktivierte Styles" + }, + "manageOnlyEnabled": { + "message": "Nur aktivierte Styles" + }, + "manageOnlyExternal": { + "message": "Nur externe Styles" + }, + "manageOnlyLocal": { + "message": "Nur lokale Styles" + }, + "manageOnlyLocalTooltip": { + "message": "(Diese Styles wurden nicht durch userstyles.org installiert)" + }, + "manageOnlyNonUsercss": { + "message": "Keine UserCSS Styles" + }, + "manageOnlyUpdates": { + "message": "Nur mit Updates oder Problemen" + }, + "manageOnlyUsercss": { + "message": "Nur UserCSS Styles" + }, + "menuShowBadge": { + "message": "Anzahl der aktiven Styles anzeigen" + }, + "meta_invalidCheckboxDefault": { + "message": "Ungültige @var Checkbox: Wert muss 0 oder 1 sein" + }, + "meta_invalidColor": { + "message": "Ungültige @var Farbe: $color$ ist keine Farbe", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Erwarte Zahl" + }, + "meta_invalidRange": { + "message": "Ungültige @var $type$: Wert muss eine Zahl oder ein Array sein", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "Ungültige @var $type$: Standardwert ist null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "Ungültige @var $type$: Standardwert ist größer als das Maximum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "Ungültige @var $type$: Standardwert ist geringer als das Minimum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "Ungültige @var $type$: Mehrere Einheiten sind definiert", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "Ungültige @var $type$: Standardwert ist kein Vielfaches der Schrittweite", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "Ungültige @var $type$: Der Array enthält zu viele Elemente", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "Ungültige @var $type$: '$units$' ist keine gültige Einheit", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "Ungültige @var $type$: Elemente im Array müssen Zahlen, Strings oder null sein", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "Ungültiges @var select: Der Standardwert muss eine Array oder Objekt sein" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Ungültiges @var select: Die Auswahlliste ist leer" + }, + "meta_invalidSelectLabel": { + "message": "Ungültiges @var select: Beschriftung der Auswahlmöglichkeiten ist leer" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Ungültiges @var select: Mehrere Standardauswahlen sind definiert" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Ungültiges @var select: Doppelte Optionsnamen" + }, + "meta_invalidSelectValue": { + "message": "Ungültiges @var select: Werte innerhalb des Arrays/Objekts müssen Strings sein" + }, + "meta_invalidSelectValueMismatch": { + "message": "Ungültiges @var select: Wert existiert nicht in der Auswahlliste" + }, + "meta_invalidString": { + "message": "Erwarte String in Anführungszeichen" + }, + "meta_invalidURLProtocol": { + "message": "Ungültiges URL Protokoll. Nur http und https sind erlaubt: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Ungültige Versionsnummer: Der Wert entspricht nicht dem SemVer Schema: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Erwarte ein Wort" + }, + "meta_missingChar": { + "message": "Erwarte Zeichen: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Erwarte EOT Daten" + }, + "meta_missingMandatory": { + "message": "Erforderliche Metadaten fehlen: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "Ungültiges JSON: $literal$ ist kein gültiges JSON Symbol", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Unbekannte Metadaten: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "Unbekannter @preprocessor: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Unbekannter @$varkey$ Typ: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Keine Importdatei vorhanden. Um Styles zu importieren, solltest du sie zuerst exportieren." + }, + "noStylesForSite": { + "message": "Für diese Webseite sind keine Styles installiert." + }, + "numberedLine": { + "message": "Zeile:" + }, + "openManage": { + "message": "Verwalten" + }, + "openOptions": { + "message": "Optionen" + }, + "openStylesManager": { + "message": "Style Verwaltung öffnen" + }, + "optionsActions": { + "message": "Aktionen" + }, + "optionsAdvanced": { + "message": "Erweitert" + }, + "optionsAdvancedContextDelete": { + "message": "\"Löschen\" im Editor-Kontextmenü hinzufügen" + }, + "optionsAdvancedExposeIframes": { + "message": "Ermögliche Iframes via HTML[stylus-iframe]" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Style wirkt sich auch auf iframes der anvisierten (obersten) Domain aus.\nIframe-spezifisches CSS ist dann wie folgt möglich:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Schreibe neuen Style als UserCSS" + }, + "optionsAdvancedPatchCsp": { + "message": "CSPabändern, um externe Ressourcen zu erlauben" + }, + "optionsAdvancedPatchCspNote": { + "message": "Aktivieren, wenn Styles Bilder oder Schriftarten enthalten, die aufgrund strenger CSP (Content-Security-Policy) Regeln mancher Seiten nicht laden.\n\nDas Aktivieren wird CSPBeschränkungen lockern, um für den Style erforderliche Ressourcen zu laden. Diese Option ist für fortgeschrittene Benutzer gedacht, die sich den möglichen Sicherheitsrisiken bewusst sind und die die Verantwortung dafür tragen, die nachgeladenen Inhalte selbst zu überwachen. Informiere dich über \"CSS-basierte Angriffe\" um mehr zu erfahren.\n\nBeachte außerdem, dass diese Option nicht garantiert funktioniert, falls eine andere installierte Erweiterung die Netzwerkantwort (CSP-header) zuerst abändert." + }, + "optionsAdvancedStyleViaXhr": { + "message": "Style unverzüglich einfügen" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Aktivieren, falls während dem Browsen ungestylter Inhalt aufblitzt (FOUC). Besonders auffällig bei dunklen Styles.\n\nDer technische Grund ist, dass Chrome/Chromium die asynchrone Kommunikation von Erweiterungen zeitlich nach hinten verschiebt, um vermeintlich die Seitenladegeschwindigkeit zu erhöhen. Dies kann das Einfügen von Styles spürbar verzögern. Da für WebExtensions keine synchrone API bereitgestellt wird, versucht Stylus als Notbehelf, Styles über die veraltete XMLHttpRequest web API zu laden. Es sollten keine nachteiligen Effekte eintreten, weil die Anfrage innerhalb weniger Millisekunden abgearbeitet wird, während die Seite noch vom Server geladen wird.\n\nTrotzdem wird Chromium eine Warnung in der Entwicklerkonsole ausgeben. Über Rechtsklick auf die Warnung können zukünftige Meldungen versteckt werden." + }, + "optionsBadgeDisabled": { + "message": "Hintergrundfarbe wenn deaktiviert" + }, + "optionsBadgeNormal": { + "message": "Hintergrundfarbe" + }, + "optionsCheck": { + "message": "Styles aktualisieren" + }, + "optionsCheckUpdate": { + "message": "Alle verfügbaren Updates Installieren" + }, + "optionsCustomizeBadge": { + "message": "Badge auf dem Toolbar-Icon" + }, + "optionsCustomizeIcon": { + "message": "Symbolleisten-Icon" + }, + "optionsCustomizeSync": { + "message": "Mit Cloud synchronisieren" + }, + "optionsHeading": { + "message": "Optionen" + }, + "optionsIconDark": { + "message": "Dunkle Browser-Themes" + }, + "optionsIconLight": { + "message": "Helle Browser-Themes" + }, + "optionsOpen": { + "message": "Öffnen" + }, + "optionsOpenManager": { + "message": "Verwaltung" + }, + "optionsPopupWidth": { + "message": "Popup-Breite (in Pixeln)" + }, + "optionsReset": { + "message": "Setzt diese Einstellungen auf die Standard-Werte zurück." + }, + "optionsResetButton": { + "message": "Optionen zurücksetzen" + }, + "optionsStylusThemes": { + "message": "Stylus UI-Theme suchen" + }, + "optionsSubheading": { + "message": "Mehr Optionen" + }, + "optionsSyncConnect": { + "message": "Verbinden" + }, + "optionsSyncDisconnect": { + "message": "Trennen" + }, + "optionsSyncLogin": { + "message": "Anmelden" + }, + "optionsSyncNone": { + "message": "Nichts" + }, + "optionsSyncStatusConnected": { + "message": "Verbunden" + }, + "optionsSyncStatusConnecting": { + "message": "Verbinde..." + }, + "optionsSyncStatusDisconnected": { + "message": "Verbindung getrennt" + }, + "optionsSyncStatusDisconnecting": { + "message": "Trenne Verbindung..." + }, + "optionsSyncStatusPull": { + "message": "Hole Style $loaded$ von $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "Lade Style $loaded$ von $total$ hoch", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusRelogin": { + "message": "Session abgelaufen, bitte neu einloggen." + }, + "optionsSyncStatusSyncing": { + "message": "Synchronisiere..." + }, + "optionsSyncSyncNow": { + "message": "Jetzt synchronisieren" + }, + "optionsUpdateImportNote": { + "message": "Nach dem Importieren von Styles aus einer alten Version oder von Stylish ist eine einmalige manuelle Updatesuche in der Verwaltung nötig. Dies stellt sicher, dass alle Styles auf dem aktuellsten Stand sind." + }, + "optionsUpdateInterval": { + "message": "Style-Updateintervall in Stunden (0 zum Deaktivieren)" + }, + "overwriteFileExport": { + "message": "Willst du die existierende Datei überschreiben?" + }, + "paginationCurrent": { + "message": "Aktuelle Seite" + }, + "paginationEstimated": { + "message": "Geschätzte Seitenanzahl" + }, + "paginationNext": { + "message": "Nächste Seite" + }, + "paginationPrevious": { + "message": "Vorherige Seite" + }, + "paginationTotal": { + "message": "Gesamtzahl der Seiten" + }, + "parseUsercssError": { + "message": "UserCSS parsen fehlgeschlagen:" + }, + "popupAutoResort": { + "message": "Styles im Popup sofort neu sortieren" + }, + "popupBorders": { + "message": "Weiße Rahmen an den Seiten hinzufügen" + }, + "popupBordersTooltip": { + "message": "Nützlich für dunkle Themes im neuen Chrome, da dort die Seitenränder nicht mehr gefärbt werden" + }, + "popupHotkeysInfo": { + "message": "<0>-<9> (auch auf NumPad) schaltet den n-ten Style um (0 ist 10)\n- schaltet ersten Style, dessen Name mit diesem Buchstaben beginnt, um\n öffnet Editor statt umzuschalten\n aktiviert die aufgeführten Styles\n deaktiviert die aufgeführten Styles\n schaltet anfänglich aktivierte Styles um. Trifft nicht auf Styles zu, die erst aktiviert werden, wenn das Popup noch geöffnet ist. Dadurch kann z.B. die Anfangseinstellung nach einem Test wiederhergestellt werden: \nMehr dazu im Wiki" + }, + "popupHotkeysTooltip": { + "message": "Klicke, um Tastenkürzel zu sehen" + }, + "popupManageTooltip": { + "message": "Shift+Klick oder Rechtsklick öffnet den Stylemanager mit Filter für Styles der aktuellen Seite" + }, + "popupMenuButtonTooltip": { + "message": "Aktionsmenü" + }, + "popupOpenEditInPopup": { + "message": "Einfaches Fenster verwenden (keine Omnibox)" + }, + "popupOpenEditInWindow": { + "message": "Editor in neuem Fenster öffnen" + }, + "popupOpenEditInWindowTooltip": { + "message": "Wird auch aktiviert durch Lösen des Editor-Tabs vom Browserfenster\nund deaktiviert durch Zusammenführen eines Editor-Tabs mit einem anderen Fenster." + }, + "popupStylesFirst": { + "message": "Styles vor den Bedienelementen" + }, + "prefShowBadge": { + "message": "Anzahl der aktiven Styles auf der aktuellen Seite" + }, + "previewLabel": { + "message": "Echtzeitvorschau" + }, + "previewTooltip": { + "message": "Übernimmt die Änderungen nur vorübergehend.\nSpeichere den Style, um die Änderungen dauerhaft anzuwenden." + }, + "readingStyles": { + "message": "Lese Styles..." + }, + "reload": { + "message": "Stylus Addon neu laden" + }, + "replace": { + "message": "Ersetzen" + }, + "replaceAll": { + "message": "Alles ersetzen" + }, + "replaceWith": { + "message": "Ersetzen durch" + }, + "retrieveBckp": { + "message": "Styles importieren" + }, + "search": { + "message": "Suche" + }, + "searchCaseSensitive": { + "message": "Groß- / Kleinschreibung beachten" + }, + "searchGlobalStyles": { + "message": "Auch globale Styles suchen" + }, + "searchNumberOfResults": { + "message": "Trefferanzahl" + }, + "searchNumberOfResults2": { + "message": "Trefferanzahl im Code und in \"Gilt für\" Feldern" + }, + "searchRegexp": { + "message": "Verwende die /re/ Syntax zur Suche als RegExp" + }, + "searchResultInstallCount": { + "message": "Gesamte Installationen" + }, + "searchResultNoneFound": { + "message": "Keine Styles für diese Seite gefunden." + }, + "searchResultNotMatching": { + "message": "Der Style wurde installiert, gilt aber nicht für die aktuelle URL." + }, + "searchResultNotMatchingNote": { + "message": "Frage den Autor des Styles, ob er die URL hinzufügt.\n\nDu kannst den Style auch selbst bearbeiten,\naber dann werden automatische Updates für diesen Style deaktiviert." + }, + "searchResultRating": { + "message": "Bewertung" + }, + "searchResultUpdated": { + "message": "Aktualisiert am" + }, + "searchResultWeeklyCount": { + "message": "Wöchentliche Installationen" + }, + "searchStyleQueryHint": { + "message": "Stylenamen ohne Beachtung der Groß-/Kleinschreibung suchen:\nMehrere Suchworte - alle Wörter in beliebiger Reihenfolge\n\"Bestimmte Phrase\" - genau diese Phrase ohne Anführungszeichen\n2020 - zeigt auch Styles, die 2020 aktualisiert wurden" + }, + "searchStylesAll": { + "message": "Alles" + }, + "searchStylesCode": { + "message": "CSS Code" + }, + "searchStylesHelp": { + "message": "Die -Taste (Numpad) oder fokussieren das Suchfeld.\nEinfacher Text: Sucht mit Leerzeichen getrennte Wörter in beliebiger Reihenfolge.\nSuche nach genauem Ausdruck: Anführungszeichen verwenden, z.B. <\".header ~ div\">\nRegExp: Nutze Schrägstrich und Flags, z.B. \nStyles, die auf eine URL passen: Aktiviere \"Nach URL\" und suche nach einer vollständigen URL, z.B. https://www.example.org/\nMetadaten: Aktiviere das Kontrollkästchen für Metadaten, um in Namen, \"Gilt für\" Feldern, Installations-URL, Update-URL und dem gesamten Metadatenblock in UserCSS Styles zu suchen." + }, + "searchStylesMatchUrl": { + "message": "Nach URL" + }, + "searchStylesMeta": { + "message": "Metadaten" + }, + "sectionAdd": { + "message": "Weiteren Bereich hinzufügen" + }, + "sectionRemove": { + "message": "Bereich entfernen" + }, + "sectionRestore": { + "message": "Gelöschten Bereich wiederherstellen" + }, + "sections": { + "message": "Bereiche" + }, + "shortcuts": { + "message": "Tastenkürzel" + }, + "shortcutsNote": { + "message": "Eine Tastenkombination definieren" + }, + "sortDateNewestFirst": { + "message": "neueste zuerst" + }, + "sortDateOldestFirst": { + "message": "älteste zuerst" + }, + "sortLabel": { + "message": "Wähle eine Sortierreihenfolge für die installierten Styles" + }, + "sortLabelTitleAsc": { + "message": "Name aufsteigend" + }, + "sortLabelTitleDesc": { + "message": "Name absteigend" + }, + "sortStylesHelp": { + "message": "Wähle die anzuwendende Sortierart aus dem Dropdown-Menü aus. Die Standardeinstellung sortiert aufsteigend nach Name des Styles (A bis Z). Innerhalb der \"Name absteigend\"-Gruppe wird von Z bis A sortiert.\nEs gibt andere Voreinstellungen, die es erlauben, Einträge nach mehreren Kriterien zu sortieren. Stelle es dir vor wie bei einer Tabellensortierung mit mehreren Spalten. Jede Kategorie (vor bzw. nach Pluszeichen) stellt dabei eine Spalte dar.\nIst die Einstellung beispielsweise \"Aktiviert (zuerst) + Name\", dann werden die Einträge so sortiert, dass alle aktivierten Styles zuerst stehen (von A bis Z) und dann alle deaktivierten Styles (wieder von A beginnend bis Z)." + }, + "sortStylesHelpTitle": { + "message": "Inhalte sortieren" + }, + "styleBadRegexp": { + "message": "Regulärer Ausdruck (RegExp) ist ungültig." + }, + "styleBeautify": { + "message": "Code formatieren" + }, + "styleBeautifyHint": { + "message": "Hinweis: Mache einen Rechtsklick auf \"Code formatieren\" oder nutze das weiter unten definierte Tastenkürzel, um den Code zu formatieren ohne dieses Fenster anzuzeigen." + }, + "styleBeautifyIndentConditional": { + "message": "Rücke @media / @supports ein" + }, + "styleBeautifyPreserveNewlines": { + "message": "Leerzeilen schützen" + }, + "styleCancelEditLabel": { + "message": "Zurück zum Verwalten" + }, + "styleChangesNotSaved": { + "message": "Du hast Änderungen an diesem Style vorgenommen, ohne diese zu speichern." + }, + "styleEnabledLabel": { + "message": "Aktiviert" + }, + "styleFromMozillaFormatError": { + "message": "Import vom Mozilla Format fehlgeschlagen" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla-Format Code einfügen" + }, + "styleInstall": { + "message": "\"$stylename$\" mit Stylus installieren?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Installation des Styles fehlgeschlagen!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "\"$stylename$\" ist bereits installiert. Überschreiben?\nVersion: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Bitte Namen eingeben" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Der Style wurde aufgrund ungültiger RegExp nicht angewandt." + }, + "styleRegexpInvalidExplanation": { + "message": "Einige RegExp konnten nicht kompiliert werden." + }, + "styleRegexpPartialExplanation": { + "message": "Dieser Style verwendet nur teilweise übereinstimmende RegExp unter Missachtung der CSS4 @document Spezifikationen, welche eine vollständig übereinstimmende URL benötigen. Die betroffenen CSS-Bereiche wurde nicht auf die Website angewandt. Dieser Style wurde wahrscheinlich unter Stylish für Chrome erstellt, in der seit der ersten Version eine fehlerhafte Überprüfung der RegExp besteht (bekannter Fehler)." + }, + "styleRegexpProblemTooltip": { + "message": "Anzahl der Bereiche, welche aufgrund nicht korrekt verwendeter RegExp nicht angewendet wurden" + }, + "styleRegexpTestButton": { + "message": "RegExp testen" + }, + "styleRegexpTestFull": { + "message": "Zutreffende Tabs" + }, + "styleRegexpTestInvalid": { + "message": "Übersprungene ungültige RegExp" + }, + "styleRegexpTestNone": { + "message": "Keine zutreffenden Tabs" + }, + "styleRegexpTestNote": { + "message": "Beachte: Nutze einzelne \\ (Backslashes) zum Escapen im RegExp Feld. Diese werden automatisch im Stylecode zu doppelten \\\\ konvertiert, um der CSS Spezifikation zu entsprechen." + }, + "styleRegexpTestPartial": { + "message": "Keine genaue Übereinstimmung, wurde daher übersprungen." + }, + "styleRegexpTestTitle": { + "message": "Liste der zutreffenden, geöffneten Tabs (URL anklicken, um den Tab zu fokussieren)" + }, + "styleSaveLabel": { + "message": "Speichern" + }, + "styleToMozillaFormatHelp": { + "message": "Das Mozilla-Format des Codes kann mit Stylish für Firefox verwendet werden und bei userstyles.org eingereicht werden." + }, + "styleToMozillaFormatTitle": { + "message": "Style im Mozilla Format" + }, + "styleUpdate": { + "message": "Möchtest Du \"$stylename$\" wirklich aktualisieren?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Der Style wurde außerhalb des Editors verändert. Style neu laden?" + }, + "stylusUnavailableForURL": { + "message": "Stylus funktioniert nicht auf Seiten wie diesen." + }, + "stylusUnavailableForURLdetails": { + "message": "Als Sicherheitsvorkehrung verbietet der Browser es Erweiterungen, seine eingebauten Seiten (wie chrome://version, dem neuen Standard-Tab ab Chrome 61, about:addons, usw.), sowie Seiten anderer Erweiterungen zu beeinflussen. Jeder Browser beschränkt auch den Zugriff auf seine eigene Erweiterungsgalerie (wie Chrome Web Store oder addons.mozilla.org)." + }, + "syncDropboxDeprecated": { + "message": "Dropbox Import / Export wurde durch einen fortschrittlicheren Mechanismus auf der Optionsseite ersetzt." + }, + "syncError": { + "message": "Synchronisation fehlgeschlagen" + }, + "syncErrorRelogin": { + "message": "Synchronisation fehlgeschlagen.\nVersuche, dich in den Optionen neu einzuloggen:\nKlicke erst \"Trennen\", dann \"Verbinden\"." + }, + "syncStorageErrorSaving": { + "message": "Der Wert kann nicht gespeichert werden. Versuche, die Textmenge zu reduzieren." + }, + "toggleStyle": { + "message": "Style umschalten" + }, + "undo": { + "message": "Rückgängig" + }, + "undoGlobal": { + "message": "Rückgängig machen in allen Bereichen" + }, + "unreachableAMO": { + "message": "Firefox verbietet den Zugriff auf diese Seite." + }, + "unreachableAMOHint": { + "message": "Um den Zugriff zu erlauben, öffne , rechtsklicke in die Liste, klicke \"Neu\", dann \"Boolean\", füge ein und klicke OK, , OK, lade neu." + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 und neuer muss auch die addons.mozilla.org domain von in entfernt werden." + }, + "unreachableAMOHintOldFF": { + "message": "Nur in Firefox 59 und neuer ist es möglich, WebExtenstions den Zugriff auf CSP-geschützte Seiten wie dieser zu erlauben." + }, + "unreachableContentScript": { + "message": "Konnte nicht mit der Seite kommunizieren. Bitte versuchen Sie, die Seite erneut zu laden." + }, + "unreachableFileHint": { + "message": "Stylus kann nur auf das file:// Protokoll in der URL zugreifen, wenn dies in den Einstellungen der Erweiterung unter chrome://extensions festgelegt wurde." + }, + "unzipStyles": { + "message": "Entpacke Styles..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Keine Updates gefunden." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Einige Styles wurden nicht überprüft, um dem Verlust von lokalen Bearbeitungen vorzubeugen. Die Aktualisierungen können entweder durch einzelne manuelle Überprüfung oder durch eine erneute Ausführung der Updatesuche (und anschließendem Update) für alle Styles erzwungen werden. Lokale Bearbeitungen werden dann überschrieben." + }, + "updateCheckFailBadResponseCode": { + "message": "Update fehlgeschlagen: Server antwortete mit Code $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Update fehlgeschlagen: Server nicht erreichbar." + }, + "updateCheckHistory": { + "message": "Verlauf der Updatesuche" + }, + "updateCheckManualUpdateForce": { + "message": "Updates installieren (Lokale Bearbeitungen werden überschrieben)" + }, + "updateCheckManualUpdateHint": { + "message": "Eine erzwungene Aktualisierung wird die lokalen Änderungen überschreiben." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Dieser Style wurde lokal bearbeitet." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Dieser Style scheint lokal bearbeitet worden zu sein." + }, + "updateCheckSucceededNoUpdate": { + "message": "Der Style ist auf dem aktuellsten Stand." + }, + "updateCompleted": { + "message": "Aktualisierung abgeschlossen." + }, + "updatesCurrentlyInstalled": { + "message": "Installierte Updates:" + }, + "uploadingFile": { + "message": "Lade Styles hoch..." + }, + "usercssAvoidOverwriting": { + "message": "Bitte ändere @name oder @namespace, um das Überschreiben eines bereits existierenden Styles zu verhindern." + }, + "usercssConfigIncomplete": { + "message": "Der Style wurde aktualisiert oder gelöscht, nachdem der Einstellungsdialog gezeigt wurde. Folgende Variablen wurden nicht gespeichert, um Metadatenkorruption zu verhindern:" + }, + "usercssEditorNamePlaceholder": { + "message": "Gib @name im Code an" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Ersetze das vorgegebene Template für neue UserCSS styles mit dem vorliegenden Code?" + }, + "usercssReplaceTemplateName": { + "message": "Ein leeres @name ersetzt das vorgegebene Template" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Quelltext hier eingeben..." + }, + "versionInvalidOlder": { + "message": "Die Version des Styles ist älter als die des bereits installierten." + }, + "writeStyleFor": { + "message": "Style erstellen für:" + }, + "writeStyleForURL": { + "message": "diese URL" + }, + "zipStyles": { + "message": "Packe Styles..." + } +} diff --git a/_locales/el/messages.json b/_locales/el/messages.json index e810b09c..0c519c5c 100644 --- a/_locales/el/messages.json +++ b/_locales/el/messages.json @@ -1,1586 +1,748 @@ { - "addStyleTitle": { - "message": "Προσθήκη στυλ", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Αδιαφάνεια", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Προσθήκη", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Ισχύει για: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "και πολλά άλλα", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL στον τομέα", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Χρησιμοποιήστε το \"Ισχύει για\" έλεγχοι ώστε να περιοριστουν ποιες διευθύνσεις τον κώδικα σε αυτό το τμήμα να εφαρμόζονται.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Ισχύει για", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Δε λειτουργεί με minified CSS.", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Διευθύνσεις URL που ταιριάζουν με την κανονική έκφραση", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Αφαίρεση", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Καθορισμός", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Τα πάντα", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "διεύθυνση URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Διευθύνσεις URL που αρχίζουν με", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Εφαρμογή όλων των ενημερώσεων", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Συντάκτης", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Δημιουργήστε αντίγραφο ασφαλείας", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Επιλέξτε ένα αρχείο ή σύρετέ το σε αυτήν τη σελίδα", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Εξαγωγή στυλ", - "description": "" - }, - "checkAllUpdates": { - "message": "Έλεγχος όλων των στυλ για ενημερώσεις", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Ελέγξτε πάλι, δεν επεξεργάστηκα κανένα στυλ!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Έλεγχος για ενημερώσεις", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Έλεγχος...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Πατήστε για απεγκατάσταση", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Αυτόματο κλείσιμο παρενθέσεων και εισαγωγικών", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Αυτόματη συμπλήρωση καθώς πληκτρολογείτε", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Χρήση καρτελών με έξυπνη εσοχή", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Συντομεύσεις πληκτρολογίου", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Αναδίπλωση λέξεων", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Υπογράμμιση", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Μόνο επιλογή", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Διπλό κλικ για μεγιστοποίηση/επαναφορά ύψους", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Χρήση έξυπνης εσοχής", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Μέγεθος καρτέλας", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Θέμα", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "στην αλλαγή", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Αυτόματη αποθήκευση και εφαρμογή αλλαγών", - "description": "" - }, - "configureStyle": { - "message": "Ρυθμίσεις", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Ρυθμίσεις στην ιστοσελίδα", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Άκυρο", - "description": "" - }, - "confirmClose": { - "message": "Κλείσιμο", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Χρήση προεπιλογής", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Διαγραφή", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Απόρριψη αλλαγών;", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Όχι", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "ΟΚ", - "description": "" - }, - "confirmSave": { - "message": "Αποθήκευση", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ναι", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Αντιγράφηκε στο πρόχειρο", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Αντιγραφή στο πρόχειρο", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$μ", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$ω", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$λ", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$χ", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Ημερομηνία εγκατάστασης", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Ημερομηνία ενημέρωσης", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Παρουσιάστηκε σφάλμα χρησιμοποιώντας την κομψή βάση δεδομένων. Θα θέλατε να επισκεφθείτε μια ιστοσελίδα με πιθανές λύσεις;", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "προεπιλογή", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το στυλ;", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Διαγραφή", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Επαναπροσδιορίση του διαδίκτυου με το Stylus, έναν διαχειριστή στυλ. Το Stylus σας επιτρέπει να εγκαταστήσετε εύκολα themes και skins για πολλές δημοφιλείς ιστοσελίδες.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Απενεργοποιηση ολων των στυλ", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Απενεργοποίηση", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Αποθέστε το αντίγραφο ασφαλείας σας οπουδήποτε σε αυτήν τη σελίδα για εισαγωγή.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Για να εγκαταστήσετε το αρχείο, αποθέστε το στη λωρίδα καρτελών (την περιοχή όπου εμφανίζονται οι τίτλοι καρτελών).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Διαγραφή", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Μετάβαση στη γραμμή (ή line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Επεξεργασία Στυλ", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Επεξεργασία", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Επεξεργασία του στυλ $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Ενεργοποίηση", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Εξαίρεση του τρέχοντος τομέα", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Εξαίρεση του τρέχοντος URL", - "description": "" - }, - "exportLabel": { - "message": "Εξαγωγή", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Σχόλια", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Αρχική σελίδα", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Εξωτερική σύνδεση", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Υποστήριξη", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Τεκμηρίωση για Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "Βλέπετε $numShown$ από 2$numTotal$ συνολικά", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Τα φίλτρα που εφαρμόζονται αυτήν τη στιγμή δεν ταιριάζουν με κανένα στυλ", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Εύρεση στυλ", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Αναζήτηση περισσότερων στυλ για αυτή την ιστοσελίδα", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Προσθήκη", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Δημιουργία αντιγράφου", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Απενεργοποιημένο", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Ενεργοποιημένο", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Σφάλμα", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Ιστορικό", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Επόμενο", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Προηγούμενο", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Επαναφορά", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Αποθηκεύτηκε", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Τίτλος", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Άγνωστο", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Βοήθεια", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Πληκτρολογήστε μια εντολή", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Πληκτρολογήστε ένα hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Εισαγωγή", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Αντικατάσταση στυλ", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "προστέθηκαν", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "ενημερωμένος κώδικας", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Η εισαγωγή στυλ τελείωσε", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Τίποτα δεν άλλαξε", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Η εισαγωγή έχει αναιρεθεί", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Εγκατάσταση στυλ", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Το στυλ έχει εγκατασταθεί.", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Επανεγκατάσταση στυλ", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Ενημέρωση στυλ", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Εγκατάσταση ενημέρωσης", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Έλεγχος για ενημερώσεις", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Άδεια χρήσης", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Βοήθεια", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Λήψη στυλ", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Μετάφραση", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Πατήστε εδώ για να ρυθμίσετε το linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Ζητήματα", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Μη έγκυρη μορφή JSON", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Για αναίρεση μιας κατά λάθος επαναφοράς, πατήστε Ctrl-Z (ή Cmd-Z) στο πλαίσιο κειμένου", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Το Stylus χρησιμοποιεί μία εξωτερική υπηρεσία https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Φίλτρα", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Εγκατεστημένα Στυλ", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Νέα διαχείριση διάταξης UI", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Μόνο απενεργοποιημένα στυλ", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Μόνο ενεργοποιημένα στυλ", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Μόνο στυλ από άλλες ιστοσελίδες", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Μόνο στυλ δημιουργημένα τοπικά", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Κομψή", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Εμφάνιση ενεργους καταμέτρησης στυλ", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Δεν υπάρχουν εγκατεστημένα στυλ για αυτή την ιστοσελίδα.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Διαχείριση εγκατεστημένων στυλ", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Επιλογές", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Άνοιγμα διαχείρισης στυλ", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Ενέργειες", - "description": "" - }, - "optionsAdvanced": { - "message": "Για προχωρημένους", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Προσθήκη του 'Delete' στο μενού περιβάλλοντος του προγράμματος επεξεργασίας", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Χρώμα φόντου όταν είναι απενεργοποιημένο", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Χρώμα υποβάθρου", - "description": "" - }, - "optionsCheck": { - "message": "Ενημέρωση στυλ", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Έλεγχος και εγκατάσταση διαθέσιμων ενημερώσεων", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Σήμα στο εικονίδιο της γραμμής εργαλείων", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Αναδυόμενο παράθυρο", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Ενημερώσεις", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Επιλογές", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Σκούρο θέμα φυλλομετρητή", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Άνοιγμα", - "description": "" - }, - "optionsOpenManager": { - "message": "Διαχείριση στυλ", - "description": "" - }, - "optionsPopupWidth": { - "message": "Πλάτος αναδυόμενου παραθύρου (σε pixels)", - "description": "" - }, - "optionsReset": { - "message": "Επαναφορά ρυθμίσεων στις προεπιλεγμένες", - "description": "" - }, - "optionsResetButton": { - "message": "Επαναφορά επιλογών", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Περισσότερες επιλογές", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Διάστημα αυτόματης ενημέρωσης των στυλ σε ώρες (0 για απενεργοποίηση)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Σύνδεση", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Αποσύνδεση", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Συγχρονισμός τώρα", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Συγχρονισμός ...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Σύνδεση...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Συνδεδεμένο", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Αποσύνδεση...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Αποσυνδέθηκε", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Επόμενη σελίδα", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Προηγούμενη σελίδα", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Χρήσιμο για σκούρα θέματα στο καινούριο Chrome, καθώς δε βάφει πλέον τα ακριανά περιθώρια.", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Χρήση ενός απλού παραθύρου (χωρίς omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Άνοιγμα επεξαργαστή σε νέο παράθυρο", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Στυλ λίστας πριν των εντολών στο μενού του κουμπιού γραμμής εργαλείων", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Εμφάνιση αριθμού των στυλ που δραστηριοποιούνται για την τρέχουσα τοποθεσία στην μπάρα εργαλείων", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Αντικατάσταση", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Αντικατάσταση όλων", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Αντικατάσταση με", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Εισαγωγή στυλ", - "description": "" - }, - "search": { - "message": "Αναζήτηση", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Επίσης, αναζητήστε καθολικά στυλ", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Χρησιμοποιήστε τη σύνταξη /re/ για αναζήτηση με regexp.", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Συνολικός αριθμός εγκαταστάσεων", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Ενημερωμένο", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Εβδομαδιαίος αριθμός εγκαταστάσεων", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Όνομα", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Προσθήκη ένος άλλου τμήματος", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Κώδικας", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Αφαίρεση ενότητας", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Συντομεύσεις", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "πιο πρόσφατα πρώτα", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "πιο παλιά πρώτα", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Το Regexp δεν είναι έγκυρο.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Ωραιοποίηση", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Διόρθωση εσοχής για @media και @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Διατήρηση νέων γραμμών (newlines)", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Πίσω στη διαχείριση", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Έχετε κάνει αλλαγές σε αυτό το ύφος χωρίς αποθήκευση.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ενεργοποιημένη", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Εγκατάσταση του '$stylename$' στο Stylus;", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Εισάγετε ένα όνομα", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Δε βρέθηκαν καρτέλες που αντιστοιχούν.", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Αποθήκευση", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Η μορφή του Mozilla κώδικα μπορεί να χρησιμοποιηθεί με το Stylish για το Firefox και μπορεί να υποβληθεί στο userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Είστε σίγουροι ότι θέλετε να ενημερώσετε το '$stylename$';", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "To Stylus δεν λειτουργεί σε σελίδες όπως αυτή.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Ως μέτρο ασφαλείας, ο φυλλομετρητής απαγορεύει στα πρόσθετα να επέμβουν στις built-in σελίδες του (όπως π.χ. chrome://version, η σελίδα νέας καρτέλας από το Chrome 61 και μετά, about:addons, κλπ.), καθώς και τις σελίδες άλλωων προσθέτων. Επιπλέον, κάθε φυλλομετρητής περιορίζει την πρόσβαση στο κατάστημα προσθέτων (όπως το Chrome Web Store ή το AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Ο συγχρονισμός απέτυχε", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Ο συγχρονισμός απέτυχε.\nΠροσπαθήστε να συνδεθείτε ξανά στις επιλογές Stylus:\nκάντε κλικ στο 'αποσύνδεση' πρώτα και μετά στο 'σύνδεση'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Αλλαγή στυλ", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Αναίρεση", - "description": "Button label" - }, - "undoGlobal": { - "message": "Αναίρεση όλων των ενεργειών", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Το Stylus έχει πρόσβαση στις file:// διευθύνσεις URL μόνο αν έχετε επιλέξει το αντίστοιχο πλαίσιο ελέγχου για το πρόσθετο Stylus στη σελίδα chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Όλα τα στυλ είναι ενημερωμένα.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Δεν έχει γίνει έλεγχος ενημερώσεων για κάποια στυλ, για να αποφευχθεί η πιθανότητα απώλειας τοπικών επεξεργασιών. Οι ενημερώσεις μπορούν να εξαναγκαστούν ελέγχοντας το κάθε στυλ ξεχωριστά ή ελέγχοντας πάλι όλα τα στυλ (τοπικές επεξεργασίες θα αντικατασταθούν)", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Αποτυχία ενημέρωσης: ο διακομιστής ανταποκρίθηκε με κωδικό $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Αποτυχία ενημέρωσης: απρόσιτος διακομιστής.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Το στυλ επεξεργάστηκε τοπικά στον υπολογιστή σας.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Το στυλ αυτό μπορεί να έχει επεξεργαστεί τοπικά στον υπολογιστή σας.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Το στυλ είναι ενημερωμένο.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Η ενημέρωση ολοκληρώθηκε.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Ενημερώσεις που εγκαταστάθηκαν", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Καθορίστε το @name στον κώδικα", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Η έκδοση αυτή είναι παλαιότερη από αυτήν που είναι ήδη εγκατεστημένη.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Γράψτε νέο στυλ για:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "αυτή την διεύθυνση URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Εξαγωγή από το Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Εισαγωγή από το Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Το αρχείο αποθηκεύτηκε επιτυχώς.", - "description": "" - }, - "noFileToImport": { - "message": "Για να εισάγετε τα στυλ σας, πρέπει πρώτα να τα εξάγετε.", - "description": "" - }, - "connectingDropbox": { - "message": "Σύνδεση με το Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Η σύνδεση με το Dropbox είναι διαθέσιμη μόνο σε εφαρμογές εγκατεστημένες απευθείας από το κατάστημα ιστού webstore", - "description": "" - }, - "gettingStyles": { - "message": "Λήψη όλων των στυλ...", - "description": "" - }, - "zipStyles": { - "message": "Συμπίεση στυλ...", - "description": "" - }, - "unzipStyles": { - "message": "Αποσυμπίεση στυλ...", - "description": "" - }, - "readingStyles": { - "message": "Ανάγνωση στυλ...", - "description": "" - }, - "uploadingFile": { - "message": "Μεταφόρτωση αρχείου...", - "description": "" - }, - "addStyleLabel": { - "message": "Γράψτε νέο στυλ", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Γράψτε νέο στυλ" + }, + "addStyleTitle": { + "message": "Προσθήκη στυλ" + }, + "alphaChannel": { + "message": "Αδιαφάνεια" + }, + "appliesAdd": { + "message": "Προσθήκη" + }, + "appliesDisplay": { + "message": "Ισχύει για: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "και πολλά άλλα" + }, + "appliesDomainOption": { + "message": "URL στον τομέα" + }, + "appliesHelp": { + "message": "Χρησιμοποιήστε το \"Ισχύει για\" έλεγχοι ώστε να περιοριστουν ποιες διευθύνσεις τον κώδικα σε αυτό το τμήμα να εφαρμόζονται." + }, + "appliesLabel": { + "message": "Ισχύει για" + }, + "appliesLineWidgetWarning": { + "message": "Δε λειτουργεί με minified CSS." + }, + "appliesRegexpOption": { + "message": "Διευθύνσεις URL που ταιριάζουν με την κανονική έκφραση" + }, + "appliesRemove": { + "message": "Αφαίρεση" + }, + "appliesSpecify": { + "message": "Καθορισμός" + }, + "appliesToEverything": { + "message": "Τα πάντα" + }, + "appliesUrlOption": { + "message": "διεύθυνση URL" + }, + "appliesUrlPrefixOption": { + "message": "Διευθύνσεις URL που αρχίζουν με" + }, + "applyAllUpdates": { + "message": "Εφαρμογή όλων των ενημερώσεων" + }, + "author": { + "message": "Συντάκτης" + }, + "backupButtons": { + "message": "Δημιουργήστε αντίγραφο ασφαλείας" + }, + "backupMessage": { + "message": "Επιλέξτε ένα αρχείο ή σύρετέ το σε αυτήν τη σελίδα" + }, + "bckpInstStyles": { + "message": "Εξαγωγή στυλ" + }, + "checkAllUpdates": { + "message": "Έλεγχος όλων των στυλ για ενημερώσεις" + }, + "checkAllUpdatesForce": { + "message": "Ελέγξτε πάλι, δεν επεξεργάστηκα κανένα στυλ!" + }, + "checkForUpdate": { + "message": "Έλεγχος για ενημερώσεις" + }, + "checkingForUpdate": { + "message": "Έλεγχος..." + }, + "clickToUninstall": { + "message": "Πατήστε για απεγκατάσταση" + }, + "cm_autoCloseBrackets": { + "message": "Αυτόματο κλείσιμο παρενθέσεων και εισαγωγικών" + }, + "cm_autocompleteOnTyping": { + "message": "Αυτόματη συμπλήρωση καθώς πληκτρολογείτε" + }, + "cm_indentWithTabs": { + "message": "Χρήση καρτελών με έξυπνη εσοχή" + }, + "cm_keyMap": { + "message": "Συντομεύσεις πληκτρολογίου" + }, + "cm_lineWrapping": { + "message": "Αναδίπλωση λέξεων" + }, + "cm_matchHighlight": { + "message": "Υπογράμμιση" + }, + "cm_matchHighlightSelection": { + "message": "Μόνο επιλογή" + }, + "cm_resizeGripHint": { + "message": "Διπλό κλικ για μεγιστοποίηση/επαναφορά ύψους" + }, + "cm_smartIndent": { + "message": "Χρήση έξυπνης εσοχής" + }, + "cm_tabSize": { + "message": "Μέγεθος καρτέλας" + }, + "cm_theme": { + "message": "Θέμα" + }, + "configOnChange": { + "message": "στην αλλαγή" + }, + "configOnChangeTooltip": { + "message": "Αυτόματη αποθήκευση και εφαρμογή αλλαγών" + }, + "configureStyle": { + "message": "Ρυθμίσεις" + }, + "configureStyleOnHomepage": { + "message": "Ρυθμίσεις στην ιστοσελίδα" + }, + "confirmCancel": { + "message": "Άκυρο" + }, + "confirmClose": { + "message": "Κλείσιμο" + }, + "confirmDefault": { + "message": "Χρήση προεπιλογής" + }, + "confirmDelete": { + "message": "Διαγραφή" + }, + "confirmDiscardChanges": { + "message": "Απόρριψη αλλαγών;" + }, + "confirmNo": { + "message": "Όχι" + }, + "confirmOK": { + "message": "ΟΚ" + }, + "confirmSave": { + "message": "Αποθήκευση" + }, + "confirmYes": { + "message": "Ναι" + }, + "connectingDropbox": { + "message": "Σύνδεση με το Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "Η σύνδεση με το Dropbox είναι διαθέσιμη μόνο σε εφαρμογές εγκατεστημένες απευθείας από το κατάστημα ιστού webstore" + }, + "copied": { + "message": "Αντιγράφηκε στο πρόχειρο" + }, + "copy": { + "message": "Αντιγραφή στο πρόχειρο" + }, + "dateAbbrDay": { + "message": "$value$μ", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrHour": { + "message": "$value$ω", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrMonth": { + "message": "$value$λ", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrYear": { + "message": "$value$χ", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "Ημερομηνία εγκατάστασης" + }, + "dateUpdated": { + "message": "Ημερομηνία ενημέρωσης" + }, + "dbError": { + "message": "Παρουσιάστηκε σφάλμα χρησιμοποιώντας την κομψή βάση δεδομένων. Θα θέλατε να επισκεφθείτε μια ιστοσελίδα με πιθανές λύσεις;" + }, + "defaultTheme": { + "message": "προεπιλογή" + }, + "deleteStyleConfirm": { + "message": "Είστε σίγουροι ότι θέλετε να διαγράψετε αυτό το στυλ;" + }, + "deleteStyleLabel": { + "message": "Διαγραφή" + }, + "description": { + "message": "Επαναπροσδιορίση του διαδίκτυου με το Stylus, έναν διαχειριστή στυλ. Το Stylus σας επιτρέπει να εγκαταστήσετε εύκολα themes και skins για πολλές δημοφιλείς ιστοσελίδες." + }, + "disableAllStyles": { + "message": "Απενεργοποιηση ολων των στυλ" + }, + "disableStyleLabel": { + "message": "Απενεργοποίηση" + }, + "dragDropMessage": { + "message": "Αποθέστε το αντίγραφο ασφαλείας σας οπουδήποτε σε αυτήν τη σελίδα για εισαγωγή." + }, + "dragDropUsercssTabstrip": { + "message": "Για να εγκαταστήσετε το αρχείο, αποθέστε το στη λωρίδα καρτελών (την περιοχή όπου εμφανίζονται οι τίτλοι καρτελών)." + }, + "editDeleteText": { + "message": "Διαγραφή" + }, + "editGotoLine": { + "message": "Μετάβαση στη γραμμή (ή line:col)" + }, + "editStyleHeading": { + "message": "Επεξεργασία Στυλ" + }, + "editStyleLabel": { + "message": "Επεξεργασία" + }, + "editStyleTitle": { + "message": "Επεξεργασία του στυλ $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Ενεργοποίηση" + }, + "excludeStyleByDomainLabel": { + "message": "Εξαίρεση του τρέχοντος τομέα" + }, + "excludeStyleByUrlLabel": { + "message": "Εξαίρεση του τρέχοντος URL" + }, + "exportLabel": { + "message": "Εξαγωγή" + }, + "exportSavedSuccess": { + "message": "Το αρχείο αποθηκεύτηκε επιτυχώς." + }, + "externalFeedback": { + "message": "Σχόλια" + }, + "externalHomepage": { + "message": "Αρχική σελίδα" + }, + "externalLink": { + "message": "Εξωτερική σύνδεση" + }, + "externalSupport": { + "message": "Υποστήριξη" + }, + "externalUsercssDocument": { + "message": "Τεκμηρίωση για Usercss" + }, + "filteredStyles": { + "message": "Βλέπετε $numShown$ από 2$numTotal$ συνολικά", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Τα φίλτρα που εφαρμόζονται αυτήν τη στιγμή δεν ταιριάζουν με κανένα στυλ" + }, + "findStyles": { + "message": "Εύρεση στυλ" + }, + "findStylesForSite": { + "message": "Αναζήτηση περισσότερων στυλ για αυτή την ιστοσελίδα" + }, + "genericAdd": { + "message": "Προσθήκη" + }, + "genericClone": { + "message": "Δημιουργία αντιγράφου" + }, + "genericDisabledLabel": { + "message": "Απενεργοποιημένο" + }, + "genericEnabledLabel": { + "message": "Ενεργοποιημένο" + }, + "genericError": { + "message": "Σφάλμα" + }, + "genericHistoryLabel": { + "message": "Ιστορικό" + }, + "genericNext": { + "message": "Επόμενο" + }, + "genericPrevious": { + "message": "Προηγούμενο" + }, + "genericResetLabel": { + "message": "Επαναφορά" + }, + "genericSavedMessage": { + "message": "Αποθηκεύτηκε" + }, + "genericTitle": { + "message": "Τίτλος" + }, + "genericUnknown": { + "message": "Άγνωστο" + }, + "gettingStyles": { + "message": "Λήψη όλων των στυλ..." + }, + "helpAlt": { + "message": "Βοήθεια" + }, + "helpKeyMapCommand": { + "message": "Πληκτρολογήστε μια εντολή" + }, + "helpKeyMapHotkey": { + "message": "Πληκτρολογήστε ένα hotkey" + }, + "importLabel": { + "message": "Εισαγωγή" + }, + "importReplaceLabel": { + "message": "Αντικατάσταση στυλ" + }, + "importReportLegendAdded": { + "message": "προστέθηκαν" + }, + "importReportLegendUpdatedCode": { + "message": "ενημερωμένος κώδικας" + }, + "importReportTitle": { + "message": "Η εισαγωγή στυλ τελείωσε" + }, + "importReportUnchanged": { + "message": "Τίποτα δεν άλλαξε" + }, + "importReportUndoneTitle": { + "message": "Η εισαγωγή έχει αναιρεθεί" + }, + "installButton": { + "message": "Εγκατάσταση στυλ" + }, + "installButtonInstalled": { + "message": "Το στυλ έχει εγκατασταθεί." + }, + "installButtonReinstall": { + "message": "Επανεγκατάσταση στυλ" + }, + "installButtonUpdate": { + "message": "Ενημέρωση στυλ" + }, + "installUpdate": { + "message": "Εγκατάσταση ενημέρωσης" + }, + "installUpdateFromLabel": { + "message": "Έλεγχος για ενημερώσεις" + }, + "license": { + "message": "Άδεια χρήσης" + }, + "linkGetHelp": { + "message": "Βοήθεια" + }, + "linkGetStyles": { + "message": "Λήψη στυλ" + }, + "linkTranslate": { + "message": "Μετάφραση" + }, + "linterConfigTooltip": { + "message": "Πατήστε εδώ για να ρυθμίσετε το linter" + }, + "linterIssues": { + "message": "Ζητήματα" + }, + "linterJSONError": { + "message": "Μη έγκυρη μορφή JSON" + }, + "linterResetMessage": { + "message": "Για αναίρεση μιας κατά λάθος επαναφοράς, πατήστε Ctrl-Z (ή Cmd-Z) στο πλαίσιο κειμένου" + }, + "manageFaviconsHelp": { + "message": "Το Stylus χρησιμοποιεί μία εξωτερική υπηρεσία https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Φίλτρα" + }, + "manageHeading": { + "message": "Εγκατεστημένα Στυλ" + }, + "manageNewUI": { + "message": "Νέα διαχείριση διάταξης UI" + }, + "manageOnlyDisabled": { + "message": "Μόνο απενεργοποιημένα στυλ" + }, + "manageOnlyEnabled": { + "message": "Μόνο ενεργοποιημένα στυλ" + }, + "manageOnlyExternal": { + "message": "Μόνο στυλ από άλλες ιστοσελίδες" + }, + "manageOnlyLocal": { + "message": "Μόνο στυλ δημιουργημένα τοπικά" + }, + "manageTitle": { + "message": "Κομψή" + }, + "menuShowBadge": { + "message": "Εμφάνιση ενεργους καταμέτρησης στυλ" + }, + "noFileToImport": { + "message": "Για να εισάγετε τα στυλ σας, πρέπει πρώτα να τα εξάγετε." + }, + "noStylesForSite": { + "message": "Δεν υπάρχουν εγκατεστημένα στυλ για αυτή την ιστοσελίδα." + }, + "openManage": { + "message": "Διαχείριση εγκατεστημένων στυλ" + }, + "openOptions": { + "message": "Επιλογές" + }, + "openStylesManager": { + "message": "Άνοιγμα διαχείρισης στυλ" + }, + "optionsActions": { + "message": "Ενέργειες" + }, + "optionsAdvanced": { + "message": "Για προχωρημένους" + }, + "optionsAdvancedContextDelete": { + "message": "Προσθήκη του 'Delete' στο μενού περιβάλλοντος του προγράμματος επεξεργασίας" + }, + "optionsBadgeDisabled": { + "message": "Χρώμα φόντου όταν είναι απενεργοποιημένο" + }, + "optionsBadgeNormal": { + "message": "Χρώμα υποβάθρου" + }, + "optionsCheck": { + "message": "Ενημέρωση στυλ" + }, + "optionsCheckUpdate": { + "message": "Έλεγχος και εγκατάσταση διαθέσιμων ενημερώσεων" + }, + "optionsCustomizeBadge": { + "message": "Σήμα στο εικονίδιο της γραμμής εργαλείων" + }, + "optionsCustomizePopup": { + "message": "Αναδυόμενο παράθυρο" + }, + "optionsCustomizeUpdate": { + "message": "Ενημερώσεις" + }, + "optionsHeading": { + "message": "Επιλογές" + }, + "optionsIconDark": { + "message": "Σκούρο θέμα φυλλομετρητή" + }, + "optionsOpen": { + "message": "Άνοιγμα" + }, + "optionsOpenManager": { + "message": "Διαχείριση στυλ" + }, + "optionsPopupWidth": { + "message": "Πλάτος αναδυόμενου παραθύρου (σε pixels)" + }, + "optionsReset": { + "message": "Επαναφορά ρυθμίσεων στις προεπιλεγμένες" + }, + "optionsResetButton": { + "message": "Επαναφορά επιλογών" + }, + "optionsSubheading": { + "message": "Περισσότερες επιλογές" + }, + "optionsSyncConnect": { + "message": "Σύνδεση" + }, + "optionsSyncDisconnect": { + "message": "Αποσύνδεση" + }, + "optionsSyncStatusConnected": { + "message": "Συνδεδεμένο" + }, + "optionsSyncStatusConnecting": { + "message": "Σύνδεση..." + }, + "optionsSyncStatusDisconnected": { + "message": "Αποσυνδέθηκε" + }, + "optionsSyncStatusDisconnecting": { + "message": "Αποσύνδεση..." + }, + "optionsSyncStatusSyncing": { + "message": "Συγχρονισμός ..." + }, + "optionsSyncSyncNow": { + "message": "Συγχρονισμός τώρα" + }, + "optionsUpdateInterval": { + "message": "Διάστημα αυτόματης ενημέρωσης των στυλ σε ώρες (0 για απενεργοποίηση)" + }, + "paginationNext": { + "message": "Επόμενη σελίδα" + }, + "paginationPrevious": { + "message": "Προηγούμενη σελίδα" + }, + "popupBordersTooltip": { + "message": "Χρήσιμο για σκούρα θέματα στο καινούριο Chrome, καθώς δε βάφει πλέον τα ακριανά περιθώρια." + }, + "popupOpenEditInPopup": { + "message": "Χρήση ενός απλού παραθύρου (χωρίς omnibox)" + }, + "popupOpenEditInWindow": { + "message": "Άνοιγμα επεξαργαστή σε νέο παράθυρο" + }, + "popupStylesFirst": { + "message": "Στυλ λίστας πριν των εντολών στο μενού του κουμπιού γραμμής εργαλείων" + }, + "prefShowBadge": { + "message": "Εμφάνιση αριθμού των στυλ που δραστηριοποιούνται για την τρέχουσα τοποθεσία στην μπάρα εργαλείων" + }, + "readingStyles": { + "message": "Ανάγνωση στυλ..." + }, + "replace": { + "message": "Αντικατάσταση" + }, + "replaceAll": { + "message": "Αντικατάσταση όλων" + }, + "replaceWith": { + "message": "Αντικατάσταση με" + }, + "retrieveBckp": { + "message": "Εισαγωγή στυλ" + }, + "retrieveDropboxSync": { + "message": "Εισαγωγή από το Dropbox" + }, + "search": { + "message": "Αναζήτηση" + }, + "searchGlobalStyles": { + "message": "Επίσης, αναζητήστε καθολικά στυλ" + }, + "searchRegexp": { + "message": "Χρησιμοποιήστε τη σύνταξη /re/ για αναζήτηση με regexp." + }, + "searchResultInstallCount": { + "message": "Συνολικός αριθμός εγκαταστάσεων" + }, + "searchResultUpdated": { + "message": "Ενημερωμένο" + }, + "searchResultWeeklyCount": { + "message": "Εβδομαδιαίος αριθμός εγκαταστάσεων" + }, + "searchStylesName": { + "message": "Όνομα" + }, + "sectionAdd": { + "message": "Προσθήκη ένος άλλου τμήματος" + }, + "sectionCode": { + "message": "Κώδικας" + }, + "sectionRemove": { + "message": "Αφαίρεση ενότητας" + }, + "shortcuts": { + "message": "Συντομεύσεις" + }, + "sortDateNewestFirst": { + "message": "πιο πρόσφατα πρώτα" + }, + "sortDateOldestFirst": { + "message": "πιο παλιά πρώτα" + }, + "styleBadRegexp": { + "message": "Το Regexp δεν είναι έγκυρο." + }, + "styleBeautify": { + "message": "Ωραιοποίηση" + }, + "styleBeautifyIndentConditional": { + "message": "Διόρθωση εσοχής για @media και @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Διατήρηση νέων γραμμών (newlines)" + }, + "styleCancelEditLabel": { + "message": "Πίσω στη διαχείριση" + }, + "styleChangesNotSaved": { + "message": "Έχετε κάνει αλλαγές σε αυτό το ύφος χωρίς αποθήκευση." + }, + "styleEnabledLabel": { + "message": "Ενεργοποιημένη" + }, + "styleInstall": { + "message": "Εγκατάσταση του '$stylename$' στο Stylus;", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Εισάγετε ένα όνομα" + }, + "styleRegexpTestNone": { + "message": "Δε βρέθηκαν καρτέλες που αντιστοιχούν." + }, + "styleSaveLabel": { + "message": "Αποθήκευση" + }, + "styleToMozillaFormatHelp": { + "message": "Η μορφή του Mozilla κώδικα μπορεί να χρησιμοποιηθεί με το Stylish για το Firefox και μπορεί να υποβληθεί στο userstyles.org." + }, + "styleUpdate": { + "message": "Είστε σίγουροι ότι θέλετε να ενημερώσετε το '$stylename$';", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "stylusUnavailableForURL": { + "message": "To Stylus δεν λειτουργεί σε σελίδες όπως αυτή." + }, + "stylusUnavailableForURLdetails": { + "message": "Ως μέτρο ασφαλείας, ο φυλλομετρητής απαγορεύει στα πρόσθετα να επέμβουν στις built-in σελίδες του (όπως π.χ. chrome://version, η σελίδα νέας καρτέλας από το Chrome 61 και μετά, about:addons, κλπ.), καθώς και τις σελίδες άλλωων προσθέτων. Επιπλέον, κάθε φυλλομετρητής περιορίζει την πρόσβαση στο κατάστημα προσθέτων (όπως το Chrome Web Store ή το AMO)." + }, + "syncDropboxStyles": { + "message": "Εξαγωγή από το Dropbox" + }, + "syncError": { + "message": "Ο συγχρονισμός απέτυχε" + }, + "syncErrorRelogin": { + "message": "Ο συγχρονισμός απέτυχε.\nΠροσπαθήστε να συνδεθείτε ξανά στις επιλογές Stylus:\nκάντε κλικ στο 'αποσύνδεση' πρώτα και μετά στο 'σύνδεση'." + }, + "toggleStyle": { + "message": "Αλλαγή στυλ" + }, + "undo": { + "message": "Αναίρεση" + }, + "undoGlobal": { + "message": "Αναίρεση όλων των ενεργειών" + }, + "unreachableFileHint": { + "message": "Το Stylus έχει πρόσβαση στις file:// διευθύνσεις URL μόνο αν έχετε επιλέξει το αντίστοιχο πλαίσιο ελέγχου για το πρόσθετο Stylus στη σελίδα chrome://extensions." + }, + "unzipStyles": { + "message": "Αποσυμπίεση στυλ..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Όλα τα στυλ είναι ενημερωμένα." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Δεν έχει γίνει έλεγχος ενημερώσεων για κάποια στυλ, για να αποφευχθεί η πιθανότητα απώλειας τοπικών επεξεργασιών. Οι ενημερώσεις μπορούν να εξαναγκαστούν ελέγχοντας το κάθε στυλ ξεχωριστά ή ελέγχοντας πάλι όλα τα στυλ (τοπικές επεξεργασίες θα αντικατασταθούν)" + }, + "updateCheckFailBadResponseCode": { + "message": "Αποτυχία ενημέρωσης: ο διακομιστής ανταποκρίθηκε με κωδικό $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Αποτυχία ενημέρωσης: απρόσιτος διακομιστής." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Το στυλ επεξεργάστηκε τοπικά στον υπολογιστή σας." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Το στυλ αυτό μπορεί να έχει επεξεργαστεί τοπικά στον υπολογιστή σας." + }, + "updateCheckSucceededNoUpdate": { + "message": "Το στυλ είναι ενημερωμένο." + }, + "updateCompleted": { + "message": "Η ενημέρωση ολοκληρώθηκε." + }, + "updatesCurrentlyInstalled": { + "message": "Ενημερώσεις που εγκαταστάθηκαν" + }, + "uploadingFile": { + "message": "Μεταφόρτωση αρχείου..." + }, + "usercssEditorNamePlaceholder": { + "message": "Καθορίστε το @name στον κώδικα" + }, + "versionInvalidOlder": { + "message": "Η έκδοση αυτή είναι παλαιότερη από αυτήν που είναι ήδη εγκατεστημένη." + }, + "writeStyleFor": { + "message": "Γράψτε νέο στυλ για:" + }, + "writeStyleForURL": { + "message": "αυτή την διεύθυνση URL" + }, + "zipStyles": { + "message": "Συμπίεση στυλ..." + } +} diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 026c0b66..86919510 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -1,4 +1,8 @@ { + "InaccessibleFileHint": { + "message": "Stylus can not access some file types (e.g. pdf & json files).", + "description": "Note in the toolbar popup for some file types that cannot be accessed" + }, "addStyleLabel": { "message": "Write new style", "description": "Label for the button to go to the add style page" @@ -245,6 +249,12 @@ "message": "Yes", "description": "'Yes' button in a confirm dialog" }, + "connectingDropbox": { + "message": "Connecting Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "Connecting to Dropbox is only available in apps installed directly from the webstore" + }, "copied": { "message": "Copied to clipboard", "description": "Message shown when content has been copied to the clipboard" @@ -262,39 +272,39 @@ }, "dateAbbrDay": { "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d", "placeholders": { "value": { "content": "$1" } - } + }, + "description": "Day suffix in a short relative date, for example: 8d" }, "dateAbbrHour": { "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h", "placeholders": { "value": { "content": "$1" } - } + }, + "description": "Hour suffix in a short relative date, for example: 8h" }, "dateAbbrMonth": { "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m", "placeholders": { "value": { "content": "$1" } - } + }, + "description": "Month suffix in a short relative date, for example: 8m" }, "dateAbbrYear": { "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y", "placeholders": { "value": { "content": "$1" } - } + }, + "description": "Year suffix in a short relative date, for example: 8y" }, "dateInstalled": { "message": "Date installed", @@ -379,6 +389,9 @@ "message": "Export", "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" }, + "exportSavedSuccess": { + "message": "File saved with success" + }, "externalFeedback": { "message": "Feedback", "description": "Label for the external link to send feedback for the style" @@ -479,6 +492,9 @@ "message": "Unknown", "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" }, + "gettingStyles": { + "message": "Getting all styles..." + }, "helpAlt": { "message": "Help", "description": "Alternate text for help buttons" @@ -763,105 +779,105 @@ }, "meta_invalidColor": { "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid", "placeholders": { "color": { "content": "$1" } - } + }, + "description": "Error displayed when the value of @var color is invalid" + }, + "meta_invalidNumber": { + "message": "Expect a number", + "description": "Error displayed when the value is expected to be a number" }, "meta_invalidRange": { "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid", "placeholders": { "type": { "content": "$1" } - } - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" }, "meta_invalidRangeDefault": { "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid", "placeholders": { "type": { "content": "$1" } - } - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid", - "placeholders": { - "type": { - "content": "$1" - } - } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" }, "meta_invalidRangeMax": { "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid", "placeholders": { "type": { "content": "$1" } - } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMin": { + "message": "Invalid @var $type$: default value is lower than the minimum", + "placeholders": { + "type": { + "content": "$1" + } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeMultipleUnits": { + "message": "Invalid @var $type$: multiple units are defined", + "placeholders": { + "type": { + "content": "$1" + } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" }, "meta_invalidRangeStep": { "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid", "placeholders": { "type": { "content": "$1" } - } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeTooManyValues": { + "message": "Invalid @var $type$: the array contains too many items", + "placeholders": { + "type": { + "content": "$1" + } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" }, "meta_invalidRangeUnits": { "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid", + "placeholders": { + "units": { + "content": "$2" + }, + "type": { + "content": "$1" + } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" + }, + "meta_invalidRangeValue": { + "message": "Invalid @var $type$: items in the array must be number, string, or null", "placeholders": { "type": { "content": "$1" - }, - "units": { - "content": "$2" } - } + }, + "description": "Error displayed when the value of @var range or @var number is invalid" }, "meta_invalidSelect": { "message": "Invalid @var select: the default value must be an array or an object", "description": "Error displayed when the value of @var select is invalid" }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, "meta_invalidSelectEmptyOptions": { "message": "Invalid @var select: options list is empty", "description": "Error displayed when the value of @var select is invalid" @@ -878,35 +894,35 @@ "message": "Invalid @var select: option name is duplicated", "description": "Error displayed when the value of @var select is invalid" }, + "meta_invalidSelectValue": { + "message": "Invalid @var select: values inside the array/object must be a string", + "description": "Error displayed when the value of @var select is invalid" + }, "meta_invalidSelectValueMismatch": { "message": "Invalid @var select: value doesn't exist in the option list", "description": "Error displayed when the value of @var select is invalid" }, + "meta_invalidString": { + "message": "Expect a quoted string", + "description": "Error displayed when the value is expected to be a quoted string" + }, "meta_invalidURLProtocol": { "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid", "placeholders": { "protocol": { "content": "$1" } - } + }, + "description": "Error displayed when the protocol of the URL is invalid" }, "meta_invalidVersion": { "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid", "placeholders": { "version": { "content": "$1" } - } - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" + }, + "description": "Error displayed when @version is invalid" }, "meta_invalidWord": { "message": "Expect a word", @@ -914,12 +930,12 @@ }, "meta_missingChar": { "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters", "placeholders": { "chars": { "content": "$1" } - } + }, + "description": "Error displayed when the value is expected to be some characters" }, "meta_missingEOT": { "message": "Expect EOT data", @@ -927,51 +943,54 @@ }, "meta_missingMandatory": { "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing", "placeholders": { "keys": { "content": "$1" } - } + }, + "description": "Error displayed when mandatory keys are missing" }, "meta_unknownJSONLiteral": { "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid", "placeholders": { "literal": { "content": "$1" } - } + }, + "description": "Error displayed when JSON value is invalid" }, "meta_unknownMeta": { "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed", "placeholders": { "key": { "content": "$1" } - } - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed", - "placeholders": { - "varkey": { - "content": "$1" - }, - "vartype": { - "content": "$2" - } - } + }, + "description": "Error displayed when unknown metadata is parsed" }, "meta_unknownPreprocessor": { "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed", "placeholders": { "preprocessor": { "content": "$1" } - } + }, + "description": "Error displayed when unknown @preprocessor is parsed" + }, + "meta_unknownVarType": { + "message": "Unknown @$varkey$ type: $vartype$", + "placeholders": { + "vartype": { + "content": "$2" + }, + "varkey": { + "content": "$1" + } + }, + "description": "Error displayed when unknown variable type is parsed" + }, + "noFileToImport": { + "message": "To import your styles, you should export it first." }, "noStylesForSite": { "message": "No styles installed for this site.", @@ -1045,12 +1064,12 @@ "optionsCustomizePopup": { "message": "Popup" }, - "optionsCustomizeUpdate": { - "message": "Updates" - }, "optionsCustomizeSync": { "message": "Sync to cloud" }, + "optionsCustomizeUpdate": { + "message": "Updates" + }, "optionsHeading": { "message": "Options", "description": "Heading for options section on manage page." @@ -1083,27 +1102,30 @@ "message": "More Options", "description": "Subheading for options section on manage page." }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated." - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)" - }, - "optionsSyncNone": { - "message": "None" - }, "optionsSyncConnect": { "message": "Connect" }, "optionsSyncDisconnect": { "message": "Disconnect" }, - "optionsSyncSyncNow": { - "message": "Sync now" - }, "optionsSyncLogin": { "message": "Login" }, + "optionsSyncNone": { + "message": "None" + }, + "optionsSyncStatusConnected": { + "message": "Connected" + }, + "optionsSyncStatusConnecting": { + "message": "Connecting..." + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnected" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnecting..." + }, "optionsSyncStatusPull": { "message": "Pulling style $loaded$ of $total$", "placeholders": { @@ -1126,23 +1148,23 @@ } } }, + "optionsSyncStatusRelogin": { + "message": "Session expired, please login again." + }, "optionsSyncStatusSyncing": { "message": "Syncing..." }, - "optionsSyncStatusConnecting": { - "message": "Connecting..." + "optionsSyncSyncNow": { + "message": "Sync now" }, - "optionsSyncStatusConnected": { - "message": "Connected" + "optionsUpdateImportNote": { + "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated." }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting..." + "optionsUpdateInterval": { + "message": "Userstyle autoupdate interval in hours (specify 0 to disable)" }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again." + "overwriteFileExport": { + "message": "Do you want to overwrite an existing file?" }, "paginationCurrent": { "message": "Current page", @@ -1221,6 +1243,9 @@ "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", "description": "Tooltip for the checkbox in style editor to enable live preview while editing." }, + "readingStyles": { + "message": "Reading styles..." + }, "reload": { "message": "Reload Stylus extension", "description": "Context menu reload" @@ -1240,6 +1265,9 @@ "retrieveBckp": { "message": "Import styles" }, + "retrieveDropboxSync": { + "message": "Dropbox Import" + }, "search": { "message": "Search", "description": "Label before the search input field in the editor shown on Ctrl-F" @@ -1260,10 +1288,6 @@ "message": "Number of matches in code and applies-to values", "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, "searchRegexp": { "message": "Use /re/ syntax for regexp search", "description": "Label after the search input field in the editor shown on Ctrl-F" @@ -1294,6 +1318,10 @@ "message": "Weekly installs", "description": "Text for label that shows the number of times a search result was installed during last week" }, + "searchStyleQueryHint": { + "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", + "description": "Tooltip shown for the text input in the popup's inline style finder" + }, "searchStylesAll": { "message": "All", "description": "Option for `find styles` scope selector in the manager." @@ -1529,9 +1557,11 @@ "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" + "syncDropboxDeprecated": { + "message": "Dropbox import/export is replaced by a more advanced style sync in the options page." + }, + "syncDropboxStyles": { + "message": "Dropbox Export" }, "syncError": { "message": "Sync failed", @@ -1541,6 +1571,10 @@ "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", "description": "Tooltip for the toolbar icon" }, + "syncStorageErrorSaving": { + "message": "The value cannot be saved. Try reducing the amount of text.", + "description": "Displayed when trying to save an excessively big value via storage.sync API" + }, "toggleStyle": { "message": "Toggle style", "description": "Label for the checkbox to enable/disable a style" @@ -1577,9 +1611,8 @@ "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", "description": "Note in the toolbar popup for file:// URLs" }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" + "unzipStyles": { + "message": "Unzipping styles..." }, "updateAllCheckSucceededNoUpdate": { "message": "No updates found.", @@ -1633,6 +1666,9 @@ "message": "Updates installed:", "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." }, + "uploadingFile": { + "message": "Uploading File..." + }, "usercssAvoidOverwriting": { "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." @@ -1667,43 +1703,7 @@ "message": "this URL", "description": "Text for link in toolbar pop-up to write a new style for the current URL" }, - "syncDropboxStyles": { - "message": "Dropbox Export" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page." - }, - "retrieveDropboxSync": { - "message": "Dropbox Import" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?" - }, - "exportSavedSuccess": { - "message": "File saved with success" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first." - }, - "connectingDropbox": { - "message": "Connecting Dropbox..." - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore" - }, - "gettingStyles": { - "message": "Getting all styles..." - }, "zipStyles": { "message": "Zipping styles..." - }, - "unzipStyles": { - "message": "Unzipping styles..." - }, - "readingStyles": { - "message": "Reading styles..." - }, - "uploadingFile": { - "message": "Uploading File..." } } diff --git a/_locales/en_GB/messages.json b/_locales/en_GB/messages.json index e7ab78ff..ec6bb0eb 100644 --- a/_locales/en_GB/messages.json +++ b/_locales/en_GB/messages.json @@ -1,1586 +1,64 @@ { - "addStyleTitle": { - "message": "Add Style", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Add", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Applies to: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "and more", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs on the domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Applies to", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs matching the regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remove", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Cannot remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specify", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Everything", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs starting with", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Apply all updates", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Check all styles for updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again—I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Check for update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Checking...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Auto-close brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colour pickers for CSS colours", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximise/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open colour picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Are you sure you want to delete this style?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Delete", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user-style manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disable", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Go to line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Enable", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Help", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licence", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Greyed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installed Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background colour when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background colour", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from an old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle auto-update interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome, which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style has been changed outside the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialogue was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Write new style", - "description": "Label for the button to go to the add style page" + "appliesRemoveError": { + "message": "Cannot remove last 'applies to' entry" + }, + "checkAllUpdatesForce": { + "message": "Check again—I didn't edit any styles!" + }, + "cm_autoCloseBrackets": { + "message": "Auto-close brackets and quotes" + }, + "cm_colorpicker": { + "message": "Colour pickers for CSS colours" + }, + "cm_resizeGripHint": { + "message": "Double-click to maximise/restore the height" + }, + "colorpickerTooltip": { + "message": "Open colour picker" + }, + "description": { + "message": "Redesign the web with Stylus, a user-style manager. Stylus allows you to easily install themes and skins for many popular sites." + }, + "editGotoLine": { + "message": "Go to line (or line:col)" + }, + "editStyleHeading": { + "message": "Edit style" + }, + "license": { + "message": "Licence" + }, + "manageFaviconsGray": { + "message": "Greyed out" + }, + "optionsBadgeDisabled": { + "message": "Background colour when disabled" + }, + "optionsBadgeNormal": { + "message": "Background colour" + }, + "optionsUpdateImportNote": { + "message": "When importing style backups from an old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated." + }, + "optionsUpdateInterval": { + "message": "Userstyle auto-update interval in hours (specify 0 to disable)" + }, + "styleInstallFailed": { + "message": "Failed to install userstyle\n$error$", + "placeholders": { + "error": { + "content": "$1" + } } -} \ No newline at end of file + }, + "styleRegexpPartialExplanation": { + "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome, which incorrectly checks 'regexp()' rules since the very first version (known bug)." + }, + "styleUpdateDiscardChanges": { + "message": "The style has been changed outside the editor. Would you like to reload the style?" + }, + "usercssConfigIncomplete": { + "message": "The style was updated or deleted after the configuration dialogue was shown. These variables were not saved to avoid corrupting the style's metadata:" + } +} diff --git a/_locales/es/messages.json b/_locales/es/messages.json index 922199c3..f3837958 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -1,1586 +1,1246 @@ { - "addStyleTitle": { - "message": "Añadir estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidad", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Añadir", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Se aplica a: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "y más sitios", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs en el dominio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Utilice los controles 'Se aplica a' para limitar a qué URLs se aplica el código de esta sección.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Se aplica a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Muestra la información 'Se aplica a'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "No funciona con CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs que coinciden con la regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Eliminar", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "No se puede eliminar la última entrada 'Se aplica a'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Todos los sitios", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs que empiezan con", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar todas las actualizaciones", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Respaldo", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Al exportar hará una copia de respaldo de TODOS los estilos instalados. Para restaurar una copia de respaldo, importe el archivo o arrástrelo a esta página.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportar estilos", - "description": "" - }, - "checkAllUpdates": { - "message": "Buscar actualizaciones para todos los estilos", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Comprobar de nuevo, ¡no he editado ningún estilo!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Buscar actualización", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Buscando...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Haz clic para desinstalar", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Cerrar automáticamente corchetes y comillas", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Añade automáticamente un equivalente de cierre al escribir uno de apertura de ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocompletar al escribir", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Selectores de color para colores CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usar tabulaciones con sangría inteligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mapa de teclado", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Ajuste de línea", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Validador lint", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Resaltar", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Solo selección", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Resaltado de palabra señalada", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Doble clic para maximizar/restaurar la altura", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Al hacer doble clic se seleccionan los tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Ejemplos de tokens: .foo-bar-2 #aabbcc 0.32 !important\nCuando está deshabilitado: se seleccionan las palabras delimitadas por puntos.", - "description": "" - }, - "cm_smartIndent": { - "message": "Usar sangría inteligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tamaño de la tabulación", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Temas", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Alternar formatos: HEX -> RGB -> HSL.\nMayús+Clic para invertir la dirección.\nTambién con las teclas RePág (Retroceso de página), AvPág (Avance de página).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Abrir selector de color", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "al cambiar", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Guardar y aplicar los cambios automáticamente", - "description": "" - }, - "configureStyle": { - "message": "Configurar", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurar en la página de inicio", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancelar", - "description": "" - }, - "confirmClose": { - "message": "Cerrar", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Usar predeterminado", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Eliminar", - "description": "" - }, - "confirmDiscardChanges": { - "message": "¿Descartar los cambios?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "Aceptar", - "description": "" - }, - "confirmSave": { - "message": "Guardar", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Detener", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Sí", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copiado al portapapeles", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copiar al portapapeles", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$a", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Fecha de instalación", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Fecha de actualización", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ocurrió un error con la base de datos de Stylus. ¿Deseas visitar una página web con posibles soluciones?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "predeterminado", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "¿Estás seguro de que quieres eliminar este estilo?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Eliminar", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Rediseña la web con Stylus, un administrador de estilos de usuario. Stylus te permite instalar fácilmente temas y coberturas para muchos sitios populares.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Desactivar todos los estilos", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Deshabilitar", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Arrastra tu archivo de respaldo en cualquier lugar de esta página para importar.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Eliminar", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ir a la línea (o a línea:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Editar estilo", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Editar", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Editar estilo $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Habilitar", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Excluir el dominio Actual", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Excluir la URL actual", - "description": "" - }, - "exportLabel": { - "message": "Exportar", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Comentarios", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Página de inicio", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Enlace externo", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Asistencia", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentación para Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mostrados de $numTotal$ en total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Los filtros actualmente aplicados no coinciden con estilo alguno", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Buscar estilos", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Buscar más estilos para este sitio", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Dentro", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Muestra los resultados de búsqueda dentro de esta ventana.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Añadir", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clonar", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Deshabilitado", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Habilitado", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historial", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Siguiente", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Anterior", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Restablecer", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Guardado", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Título", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Desconocido", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ayuda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Nombre del comando", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Pulsa un atajo de teclado", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Adicionar al estilo", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Agrega el estilo importado al estilo actual", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Sobrescribir estilo", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Descartar el contenido del estilo actual y sobrescribirlo con el estilo importado", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "añadido", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "idénticos omitidos", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "no válidos omitidos", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "actualizado tanto metadatos como código", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "código actualizado", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "metadatos actualizados", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Se completó la importación de estilos", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "No se cambió nada.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "estilos fueron revertidos", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "La importación ha sido anulada", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalar estilo", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Estilo instalado", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalar estilo", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Actualizar estilo", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Instalar actualización", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Actualmente el estilo se actualiza desde $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Buscar actualizaciones", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licencia", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Obtener ayuda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obtener estilos", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Traducir", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint no soporta el preprocesador $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Establecer regla como: 0 = deshabilitada; 1 = advertencia; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Establecer configuración de $linter$ reglas", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Haz clic para configurar este linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "No se guardó debido a estos ajustes de configuración no válidos:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemas", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Estos problemas fueron encontrados por $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Formato JSON no válido", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Para deshacer este restablecimiento accidental, pulse Ctrl+Z (o Cmd+Z) en el cuadro de texto", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vea una lista completa de reglas", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Se ha producido un error al visualizar el archivo", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Recarga en tiempo real", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons en la columna 'Se aplica a'", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Atenuado", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus usa un servicio externo https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtros", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Estilos instalados", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Número de elementos 'Se aplica a'", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "como Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nuevo diseño de la administración", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Solo estilos deshabilitados", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Solo estilos habilitados", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Solo estilos externos", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Solo estilos creados localmente", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(los estilos no instalados a través de una página userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Solo estilos no UserCSS", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Solo con actualizaciones o problemas", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Solo estilos UserCSS", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Mostrar número de estilos activos", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "@var checkbox no válida: el valor debe ser 0 o 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "@var color no válido: $color$ no es un color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "@var $type$no válido: debe ser un número o un array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "@var $type$ no válido: se han definido múltiples unidades", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "@var $type$ no válido: el array contiene demasiados elementos", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "@var $type$ no válido: los elementos en el array deben ser número, cadena o nulo", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "@var $type$ no válido: el valor por defecto es nulo", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "@var $type$ no válido: el valor por defecto es inferior al mínimo", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "@var $type$ no válido: el valor por defecto es mayor al máximo", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "@var $type$ no válido: el valor por defecto no es un múltiplo del intervalo", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "@var $type$ no válido: '$units$' no es una unidad válida", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "@var select no válido: el valor por defecto debe ser un array o un objeto", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "@var select no válido: los valores dentro del array/objeto deben ser una cadena", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "@var select no válido: la lista de opciones está vacía", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "@var select no válido: la etiqueta de opción está vacía", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "@var select no válido: se han definido múltiples opciones por defecto", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "@var select no válido: el nombre de la opción está duplicado", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "@var select no válido: no existe en la lista de opciones", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Protocolo URL no válido. Sólo se permiten http y https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Número de versión no válido. El valor no coincide con el patrón SemVer: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Se espera un número", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Se espera una cadena de texto entre comillas", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Se espera una palabra", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Se esperan caracteres: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Se esperan datos EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Faltan metadatos obligatorios: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "JSON no válido: $literal$ no es un literal válido de JSON", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Metadatos desconocidos: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Tipo de @$varkey$ desconocido: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "@preprocessor desconocido: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No hay estilos instalados para este sitio.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Línea:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Administrar", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opciones", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Abrir administrador de estilos", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Acciones", - "description": "" - }, - "optionsAdvanced": { - "message": "Avanzado", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Añadir 'Eliminar' al menú contextual del editor", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Visualizar marcos integrados (iframes) a través de HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Escribir nuevo estilo como usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Color de fondo cuando está deshabilitado", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Color de fondo", - "description": "" - }, - "optionsCheck": { - "message": "Actualizar estilos", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Buscar e instalar todas las actualizaciones disponibles", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Distintivo en el icono de barra de herramientas", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Icono de barra de herramientas", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Ventana emergente", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Actualizaciones", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Opciones", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Temas de navegador oscuros", - "description": "" - }, - "optionsIconLight": { - "message": "Temas de navegador claros", - "description": "" - }, - "optionsOpen": { - "message": "Abrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Administrar estilos", - "description": "" - }, - "optionsPopupWidth": { - "message": "Anchura del diálogo emergente (en píxeles)", - "description": "" - }, - "optionsReset": { - "message": "Restablecer las opciones a sus valores predeterminados.", - "description": "" - }, - "optionsResetButton": { - "message": "Restablecer opciones", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Más opciones", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Al importar los respaldos de estilos desde una versión antigua o desde Stylish, comprueba una vez las actualizaciones manualmente en el administrador de estilos para asegurarte de que todos los estilos estén actualizados.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalo de actualización automática en horas (especificar 0 para deshabilitar)", - "description": "" - }, - "optionsSyncNone": { - "message": "Ninguno", - "description": "" - }, - "optionsSyncConnect": { - "message": "Conectar", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Desconectar", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sincronizar ahora", - "description": "" - }, - "optionsSyncLogin": { - "message": "Iniciar Sesión", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Sincronizando...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Conectando...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Conectado", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Desconectando...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Desconectado", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Página actual", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Número estimado de páginas", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Página siguiente", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Página anterior", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Páginas totales", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus no pudo interpretar el usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Añadir bordes blancos en los laterales", - "description": "" - }, - "popupBordersTooltip": { - "message": "Útil para temas oscuros en el nuevo Chrome ya que no pinta los bordes laterales", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, también en el teclado numérico - acciona el n-esimo estilo (0 es 10)\n- acciona el primer estilo con un nombre que comienza con la letra\n abre el editor en lugar de accionar\n habilita los estilos listados\n deshabilita los estilos listados\n y <`> (acento grave) - acciona los estilos habilitados inicialmente; no se aplica a los estilos habilitados subsecuentemente mientras el cuadro emergente está abierto, así que puede restaurar la selección inicial tras probar el material: simplemente deshabilite todo, y luego accione, es decir \nMás información en el wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Haz clic para ver los atajos de teclado disponibles", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Mayús+clic o clic secundario abre el administrador con estilos aplicables para el sitio actual.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Acciones", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Abrir editor en una nueva ventana", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "También se habilita al desacoplar la pestaña del editor de una ventana de navegador,\ny se deshabilita al acoplar una única pestaña de editor en otra ventana.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Estilos antes que las órdenes", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Número de estilos activos en el sitio actual", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Vista previa en tiempo real", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Aplica temporalmente los cambios sin guardar.\nGuarde el estilo para que los cambios sean permanentes.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Recargar extensión Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Reemplazar", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Reemplazar todo", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Reemplazar con", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importar estilos", - "description": "" - }, - "search": { - "message": "Buscar", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Diferenciar mayúsculas y minúsculas", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "También buscar estilos globales", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Número de coincidencias", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Número de coincidencias en el código y en los valores 'Se aplica a'", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use la sintaxis /re/ para búsquedas con expresiones regulares", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Instalaciones totales", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No se encontraron estilos para este sitio.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Intenta pedir al autor de este estilo de usuario que añada la URL.\n\nTambién puedes abrir el estilo en el administrador y editarlo tú mismo,\npero ten en cuenta que deshabilita las actualizaciones automáticas de\neste estilo.", - "description": "" - }, - "searchResultRating": { - "message": "Valoración", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Actualizado", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Instalaciones semanales", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "Código CSS", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadatos", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Nombre", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Añadir otra sección", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Código", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Eliminar sección", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurar sección eliminada", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Secciones", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Atajos", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Defina atajos de teclado", - "description": "" - }, - "sortDateNewestFirst": { - "message": "los más nuevos primero", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "el más antiguo primero", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Seleccione un orden a aplicar a los estilos instalados", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Título ascendentemente", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Título descendentemente", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Escoja el tipo de orden a aplicar a las entradas instaladas desde el menú desplegable de ordenación. La configuración predeterminada aplica un orden ascendente (A a Z) a los títulos de las entradas. Las ordenaciones del grupo \"Título descendentemente\" aplicarán un orden descendente (Z a A) al título.\nHay otros preajustes que permitirán ordenar las entradas según múltiples criterios. Piense en esto como en ordenar una tabla con múltiples columnas, y en cada categoría en una selección (entre los signos más) representa una columna o grupo.\nPor ejemplo, si la configuración es \"Habilitados (primero) + Título\", las entradas se ordenarían de forma que las entradas habilitadas quedarían en la parte superior de la lista, luego se aplica un orden ascendente (A a Z) de títulos de las entradas tanto para las entradas habilitadas como las deshabilitadas de forma separada.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Ordenar contenidos", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "La expresión regular proporcionada no es válida.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Formatear", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Sangrar @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Conservar nuevas líneas", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Volver al administrador", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Has realizado cambios en este estilo sin guardarlos.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Activado", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "No se pudo importar desde el formato Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Pegue el código de formato Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "¿Quiere instalar «$stylename$» en Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "¡No se pudo instalar el estilo de usuario!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' ya está instalado ¿Sobrescribirlo?\nVersión: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Introduzca un nombre", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "El estilo no se aplicó debido a su uso incorrecto de 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Algunas reglas «regexp()» que no se pudieron compilar en absoluto.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Este estilo utiliza expresiones regulares (regexps) con coincidencias parciales, infringiendo la especificación @document de CSS4 que requiere una coincidencia de URL completa. \nLas secciones CSS correspondientes a estas expresiones regulares no se aplicaron a la página. Este estilo fue probablemente creado con Stylish para Chrome que evalúa incorrectamente las reglas 'regexp()' desde la primera versión (fallo conocido).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Número de secciones no aplicadas debido a un uso incorrecto de 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Probar regexp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Pestañas coincidentes", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Expresiones regulares no válidas omitidas", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No hay pestañas que coincidan", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Nota: Use una única \\ como caracter de escape en el campo de entrada de la expresión regular (regexp), que se convertirá automátiascamente a \\\\ en el código del estilo igual que por especificación para cadenas entrecomilladas en CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "No coincide completamente, por lo que se omitió", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista de pestañas abiertas que coinciden (haga clic en la URL para enfocar su pestaña)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Guardar", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "El formato Mozilla del código se puede enviar a userstyles.org y usarse con el Stylish para Firefox clásico.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Estilo en formato Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "¿Estás seguro de que quieres actualizar '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "El estilo se ha modificado fuera del editor. ¿Desea recargar el estilo?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus no funciona en páginas como esta.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Como medida de seguridad, el navegador impide que las extensiones afecten a sus páginas incorporadas(como chrome://version, la página de pestaña nueva a partir de Chrome 61, about:addons, etc.), así como a las páginas de otras extensiones. Cada navegador también restringe el acceso a su propia galería de extensiones (como Chrome Web Store o AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "El valor no se puede guardar. Trate de reducir la longitud del texto.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Activar/Desactivar estilo", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Deshacer", - "description": "Button label" - }, - "undoGlobal": { - "message": "Deshacer en todas las secciones", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox prohibe el acceso al sitio", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Para permitir el acceso abra , haga clic secundario en la lista, pulse 'Nuevo', luego 'Booleano', pegue y pulse Aceptar, , Aceptar, y recargue la página .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "En Firefox 60 y versiones posteriores también deberá eliminar el dominio AMO de en .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Solo Firefox 59 y posteriores se pueden configurar para permitir que WebExtensions añada elementos de estilo en sitios protegidos por CSP (política de seguridad de contenido) como este.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "No se pudo comunicar con la página. Prueba recargando la pestaña.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus puede acceder a las URLs file:// sólo si activa la casilla correspondiente para la extensión Stylus en la página chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus no puede acceder a algunos tipos de archivos (p. ej. archivos pdf y json).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No se encontraron actualizaciones.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "No se buscaron actualizaciones de algunos estilos actualizables para evitar la pérdida de posibles ediciones locales. Se puede forzar la búsqueda de actualizaciones mediante comprobación individual, o ejecutando otra búsqueda para todos los estilos (las ediciones locales se sobrescribirán).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Error de actualización: el servidor ha respondido con el código $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Error de actualización: no se pudo contactar con el servidor.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historial de búsqueda de actualizaciones", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalar actualización (se sobrescribirán las ediciones locales)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forzar una actualización sobrescribirá cualquier edición local.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Este estilo se editó localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Este estilo podría haber sido editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "El estilo está actualizado.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Actualización completada.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Actualizaciones instaladas:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Por favor, cambie el valor de @name o @namespace para no sobrescribir un estilo existente.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "El estilo se actualizó o borró después de que se mostrara el cuadro de diálogo de configuración. Estas variables no se guardaron para evitar corromper los metadatos del estilo:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Especifique @name en el código", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "¿Reemplazar con el código actual la plantilla predeterminada para nuevos estilos Usercss?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name vacío reemplaza la plantilla predeterminada", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Inserte el código aquí...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "La versión es más antigua que el estilo instalado.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Escribir estilo para:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "este URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exportar a Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importar desde Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "¿Desea sobrescribir un archivo existente?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Archivo guardado correctamente", - "description": "" - }, - "noFileToImport": { - "message": "Para importar sus estilos, debe exportarlos primero.", - "description": "" - }, - "connectingDropbox": { - "message": "Conectando a Dropbox....", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "La conexión a Dropbox sólo está disponible en aplicaciones instaladas directamente desde la tienda web.", - "description": "" - }, - "gettingStyles": { - "message": "Obteniendo todos los estilos...", - "description": "" - }, - "zipStyles": { - "message": "Comprimiendo los estilos...", - "description": "" - }, - "unzipStyles": { - "message": "Descomprimiendo los estilos...", - "description": "" - }, - "readingStyles": { - "message": "Leyendo los estilos...", - "description": "" - }, - "uploadingFile": { - "message": "Subiendo el archivo....", - "description": "" - }, - "addStyleLabel": { - "message": "Escribir un estilo nuevo", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus no puede acceder a algunos tipos de archivos (p. ej. archivos pdf y json)." + }, + "addStyleLabel": { + "message": "Escribir un estilo nuevo" + }, + "addStyleTitle": { + "message": "Añadir estilo" + }, + "alphaChannel": { + "message": "Opacidad" + }, + "appliesAdd": { + "message": "Añadir" + }, + "appliesDisplay": { + "message": "Se aplica a: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "y más sitios" + }, + "appliesDomainOption": { + "message": "URLs en el dominio" + }, + "appliesHelp": { + "message": "Utilice los controles 'Se aplica a' para limitar a qué URLs se aplica el código de esta sección." + }, + "appliesLabel": { + "message": "Se aplica a" + }, + "appliesLineWidgetLabel": { + "message": "Muestra la información 'Se aplica a'" + }, + "appliesLineWidgetWarning": { + "message": "No funciona con CSS minificado" + }, + "appliesRegexpOption": { + "message": "URLs que coinciden con la regexp" + }, + "appliesRemove": { + "message": "Eliminar" + }, + "appliesRemoveError": { + "message": "No se puede eliminar la última entrada 'Se aplica a'" + }, + "appliesSpecify": { + "message": "Especificar" + }, + "appliesToEverything": { + "message": "Todos los sitios" + }, + "appliesUrlPrefixOption": { + "message": "URLs que empiezan con" + }, + "applyAllUpdates": { + "message": "Aplicar todas las actualizaciones" + }, + "author": { + "message": "Autor" + }, + "backupButtons": { + "message": "Respaldo" + }, + "backupMessage": { + "message": "Al exportar hará una copia de respaldo de TODOS los estilos instalados. Para restaurar una copia de respaldo, importe el archivo o arrástrelo a esta página." + }, + "bckpInstStyles": { + "message": "Exportar estilos" + }, + "checkAllUpdates": { + "message": "Buscar actualizaciones para todos los estilos" + }, + "checkAllUpdatesForce": { + "message": "Comprobar de nuevo, ¡no he editado ningún estilo!" + }, + "checkForUpdate": { + "message": "Buscar actualización" + }, + "checkingForUpdate": { + "message": "Buscando..." + }, + "clickToUninstall": { + "message": "Haz clic para desinstalar" + }, + "cm_autoCloseBrackets": { + "message": "Cerrar automáticamente corchetes y comillas" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Añade automáticamente un equivalente de cierre al escribir uno de apertura de ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Autocompletar al escribir" + }, + "cm_colorpicker": { + "message": "Selectores de color para colores CSS" + }, + "cm_indentWithTabs": { + "message": "Usar tabulaciones con sangría inteligente" + }, + "cm_keyMap": { + "message": "Mapa de teclado" + }, + "cm_lineWrapping": { + "message": "Ajuste de línea" + }, + "cm_linter": { + "message": "Validador lint" + }, + "cm_matchHighlight": { + "message": "Resaltar" + }, + "cm_matchHighlightSelection": { + "message": "Solo selección" + }, + "cm_matchHighlightToken": { + "message": "Resaltado de palabra señalada" + }, + "cm_resizeGripHint": { + "message": "Doble clic para maximizar/restaurar la altura" + }, + "cm_selectByTokens": { + "message": "Al hacer doble clic se seleccionan los tokens" + }, + "cm_selectByTokensTooltip": { + "message": "Ejemplos de tokens: .foo-bar-2 #aabbcc 0.32 !important\nCuando está deshabilitado: se seleccionan las palabras delimitadas por puntos." + }, + "cm_smartIndent": { + "message": "Usar sangría inteligente" + }, + "cm_tabSize": { + "message": "Tamaño de la tabulación" + }, + "cm_theme": { + "message": "Temas" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Alternar formatos: HEX -> RGB -> HSL.\nMayús+Clic para invertir la dirección.\nTambién con las teclas RePág (Retroceso de página), AvPág (Avance de página)." + }, + "colorpickerTooltip": { + "message": "Abrir selector de color" + }, + "configOnChange": { + "message": "al cambiar" + }, + "configOnChangeTooltip": { + "message": "Guardar y aplicar los cambios automáticamente" + }, + "configureStyle": { + "message": "Configurar" + }, + "configureStyleOnHomepage": { + "message": "Configurar en la página de inicio" + }, + "confirmCancel": { + "message": "Cancelar" + }, + "confirmClose": { + "message": "Cerrar" + }, + "confirmDefault": { + "message": "Usar predeterminado" + }, + "confirmDelete": { + "message": "Eliminar" + }, + "confirmDiscardChanges": { + "message": "¿Descartar los cambios?" + }, + "confirmOK": { + "message": "Aceptar" + }, + "confirmSave": { + "message": "Guardar" + }, + "confirmStop": { + "message": "Detener" + }, + "confirmYes": { + "message": "Sí" + }, + "connectingDropbox": { + "message": "Conectando a Dropbox...." + }, + "connectingDropboxNotAllowed": { + "message": "La conexión a Dropbox sólo está disponible en aplicaciones instaladas directamente desde la tienda web." + }, + "copied": { + "message": "Copiado al portapapeles" + }, + "copy": { + "message": "Copiar al portapapeles" + }, + "dateAbbrYear": { + "message": "$value$a", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "Fecha de instalación" + }, + "dateUpdated": { + "message": "Fecha de actualización" + }, + "dbError": { + "message": "Ocurrió un error con la base de datos de Stylus. ¿Deseas visitar una página web con posibles soluciones?" + }, + "defaultTheme": { + "message": "predeterminado" + }, + "deleteStyleConfirm": { + "message": "¿Estás seguro de que quieres eliminar este estilo?" + }, + "deleteStyleLabel": { + "message": "Eliminar" + }, + "description": { + "message": "Rediseña la web con Stylus, un administrador de estilos de usuario. Stylus te permite instalar fácilmente temas y coberturas para muchos sitios populares." + }, + "disableAllStyles": { + "message": "Desactivar todos los estilos" + }, + "disableStyleLabel": { + "message": "Deshabilitar" + }, + "dragDropMessage": { + "message": "Arrastra tu archivo de respaldo en cualquier lugar de esta página para importar." + }, + "editDeleteText": { + "message": "Eliminar" + }, + "editGotoLine": { + "message": "Ir a la línea (o a línea:col)" + }, + "editStyleHeading": { + "message": "Editar estilo" + }, + "editStyleLabel": { + "message": "Editar" + }, + "editStyleTitle": { + "message": "Editar estilo $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Habilitar" + }, + "excludeStyleByDomainLabel": { + "message": "Excluir el dominio Actual" + }, + "excludeStyleByUrlLabel": { + "message": "Excluir la URL actual" + }, + "exportLabel": { + "message": "Exportar" + }, + "exportSavedSuccess": { + "message": "Archivo guardado correctamente" + }, + "externalFeedback": { + "message": "Comentarios" + }, + "externalHomepage": { + "message": "Página de inicio" + }, + "externalLink": { + "message": "Enlace externo" + }, + "externalSupport": { + "message": "Asistencia" + }, + "externalUsercssDocument": { + "message": "Documentación para Usercss" + }, + "filteredStyles": { + "message": "$numShown$ mostrados de $numTotal$ en total", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Los filtros actualmente aplicados no coinciden con estilo alguno" + }, + "findStyles": { + "message": "Buscar estilos" + }, + "findStylesForSite": { + "message": "Buscar más estilos para este sitio" + }, + "findStylesInline": { + "message": "Dentro" + }, + "findStylesInlineTooltip": { + "message": "Muestra los resultados de búsqueda dentro de esta ventana." + }, + "genericAdd": { + "message": "Añadir" + }, + "genericClone": { + "message": "Clonar" + }, + "genericDisabledLabel": { + "message": "Deshabilitado" + }, + "genericEnabledLabel": { + "message": "Habilitado" + }, + "genericHistoryLabel": { + "message": "Historial" + }, + "genericNext": { + "message": "Siguiente" + }, + "genericPrevious": { + "message": "Anterior" + }, + "genericResetLabel": { + "message": "Restablecer" + }, + "genericSavedMessage": { + "message": "Guardado" + }, + "genericTitle": { + "message": "Título" + }, + "genericUnknown": { + "message": "Desconocido" + }, + "gettingStyles": { + "message": "Obteniendo todos los estilos..." + }, + "helpAlt": { + "message": "Ayuda" + }, + "helpKeyMapCommand": { + "message": "Nombre del comando" + }, + "helpKeyMapHotkey": { + "message": "Pulsa un atajo de teclado" + }, + "importAppendLabel": { + "message": "Adicionar al estilo" + }, + "importAppendTooltip": { + "message": "Agrega el estilo importado al estilo actual" + }, + "importLabel": { + "message": "Importar" + }, + "importReplaceLabel": { + "message": "Sobrescribir estilo" + }, + "importReplaceTooltip": { + "message": "Descartar el contenido del estilo actual y sobrescribirlo con el estilo importado" + }, + "importReportLegendAdded": { + "message": "añadido" + }, + "importReportLegendIdentical": { + "message": "idénticos omitidos" + }, + "importReportLegendInvalid": { + "message": "no válidos omitidos" + }, + "importReportLegendUpdatedBoth": { + "message": "actualizado tanto metadatos como código" + }, + "importReportLegendUpdatedCode": { + "message": "código actualizado" + }, + "importReportLegendUpdatedMeta": { + "message": "metadatos actualizados" + }, + "importReportTitle": { + "message": "Se completó la importación de estilos" + }, + "importReportUnchanged": { + "message": "No se cambió nada." + }, + "importReportUndone": { + "message": "estilos fueron revertidos" + }, + "importReportUndoneTitle": { + "message": "La importación ha sido anulada" + }, + "installButton": { + "message": "Instalar estilo" + }, + "installButtonInstalled": { + "message": "Estilo instalado" + }, + "installButtonReinstall": { + "message": "Reinstalar estilo" + }, + "installButtonUpdate": { + "message": "Actualizar estilo" + }, + "installUpdate": { + "message": "Instalar actualización" + }, + "installUpdateFrom": { + "message": "Actualmente el estilo se actualiza desde $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Buscar actualizaciones" + }, + "license": { + "message": "Licencia" + }, + "linkGetHelp": { + "message": "Obtener ayuda" + }, + "linkGetStyles": { + "message": "Obtener estilos" + }, + "linkTranslate": { + "message": "Traducir" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint no soporta el preprocesador $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Establecer regla como: 0 = deshabilitada; 1 = advertencia; 2 = error)" + }, + "linterConfigPopupTitle": { + "message": "Establecer configuración de $linter$ reglas", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Haz clic para configurar este linter" + }, + "linterInvalidConfigError": { + "message": "No se guardó debido a estos ajustes de configuración no válidos:" + }, + "linterIssues": { + "message": "Problemas" + }, + "linterIssuesHelp": { + "message": "Estos problemas fueron encontrados por $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Formato JSON no válido" + }, + "linterResetMessage": { + "message": "Para deshacer este restablecimiento accidental, pulse Ctrl+Z (o Cmd+Z) en el cuadro de texto" + }, + "linterRulesLink": { + "message": "Vea una lista completa de reglas" + }, + "liveReloadError": { + "message": "Se ha producido un error al visualizar el archivo" + }, + "liveReloadLabel": { + "message": "Recarga en tiempo real" + }, + "manageFavicons": { + "message": "Favicons en la columna 'Se aplica a'" + }, + "manageFaviconsGray": { + "message": "Atenuado" + }, + "manageFaviconsHelp": { + "message": "Stylus usa un servicio externo https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtros" + }, + "manageHeading": { + "message": "Estilos instalados" + }, + "manageMaxTargets": { + "message": "Número de elementos 'Se aplica a'" + }, + "manageNewStyleAsUsercss": { + "message": "como Usercss" + }, + "manageNewUI": { + "message": "Nuevo diseño de la administración" + }, + "manageOnlyDisabled": { + "message": "Solo estilos deshabilitados" + }, + "manageOnlyEnabled": { + "message": "Solo estilos habilitados" + }, + "manageOnlyExternal": { + "message": "Solo estilos externos" + }, + "manageOnlyLocal": { + "message": "Solo estilos creados localmente" + }, + "manageOnlyLocalTooltip": { + "message": "(los estilos no instalados a través de una página userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Solo estilos no UserCSS" + }, + "manageOnlyUpdates": { + "message": "Solo con actualizaciones o problemas" + }, + "manageOnlyUsercss": { + "message": "Solo estilos UserCSS" + }, + "menuShowBadge": { + "message": "Mostrar número de estilos activos" + }, + "meta_invalidCheckboxDefault": { + "message": "@var checkbox no válida: el valor debe ser 0 o 1" + }, + "meta_invalidColor": { + "message": "@var color no válido: $color$ no es un color", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Se espera un número" + }, + "meta_invalidRange": { + "message": "@var $type$no válido: debe ser un número o un array", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "@var $type$ no válido: el valor por defecto es nulo", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "@var $type$ no válido: el valor por defecto es mayor al máximo", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "@var $type$ no válido: el valor por defecto es inferior al mínimo", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "@var $type$ no válido: se han definido múltiples unidades", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "@var $type$ no válido: el valor por defecto no es un múltiplo del intervalo", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "@var $type$ no válido: el array contiene demasiados elementos", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "@var $type$ no válido: '$units$' no es una unidad válida", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "@var $type$ no válido: los elementos en el array deben ser número, cadena o nulo", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "@var select no válido: el valor por defecto debe ser un array o un objeto" + }, + "meta_invalidSelectEmptyOptions": { + "message": "@var select no válido: la lista de opciones está vacía" + }, + "meta_invalidSelectLabel": { + "message": "@var select no válido: la etiqueta de opción está vacía" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "@var select no válido: se han definido múltiples opciones por defecto" + }, + "meta_invalidSelectNameDuplicated": { + "message": "@var select no válido: el nombre de la opción está duplicado" + }, + "meta_invalidSelectValue": { + "message": "@var select no válido: los valores dentro del array/objeto deben ser una cadena" + }, + "meta_invalidSelectValueMismatch": { + "message": "@var select no válido: no existe en la lista de opciones" + }, + "meta_invalidString": { + "message": "Se espera una cadena de texto entre comillas" + }, + "meta_invalidURLProtocol": { + "message": "Protocolo URL no válido. Sólo se permiten http y https: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Número de versión no válido. El valor no coincide con el patrón SemVer: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Se espera una palabra" + }, + "meta_missingChar": { + "message": "Se esperan caracteres: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Se esperan datos EOT" + }, + "meta_missingMandatory": { + "message": "Faltan metadatos obligatorios: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "JSON no válido: $literal$ no es un literal válido de JSON", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Metadatos desconocidos: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "@preprocessor desconocido: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Tipo de @$varkey$ desconocido: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Para importar sus estilos, debe exportarlos primero." + }, + "noStylesForSite": { + "message": "No hay estilos instalados para este sitio." + }, + "numberedLine": { + "message": "Línea:" + }, + "openManage": { + "message": "Administrar" + }, + "openOptions": { + "message": "Opciones" + }, + "openStylesManager": { + "message": "Abrir administrador de estilos" + }, + "optionsActions": { + "message": "Acciones" + }, + "optionsAdvanced": { + "message": "Avanzado" + }, + "optionsAdvancedContextDelete": { + "message": "Añadir 'Eliminar' al menú contextual del editor" + }, + "optionsAdvancedExposeIframes": { + "message": "Visualizar marcos integrados (iframes) a través de HTML[stylus-iframe]" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Escribir nuevo estilo como usercss" + }, + "optionsBadgeDisabled": { + "message": "Color de fondo cuando está deshabilitado" + }, + "optionsBadgeNormal": { + "message": "Color de fondo" + }, + "optionsCheck": { + "message": "Actualizar estilos" + }, + "optionsCheckUpdate": { + "message": "Buscar e instalar todas las actualizaciones disponibles" + }, + "optionsCustomizeBadge": { + "message": "Distintivo en el icono de barra de herramientas" + }, + "optionsCustomizeIcon": { + "message": "Icono de barra de herramientas" + }, + "optionsCustomizePopup": { + "message": "Ventana emergente" + }, + "optionsCustomizeUpdate": { + "message": "Actualizaciones" + }, + "optionsHeading": { + "message": "Opciones" + }, + "optionsIconDark": { + "message": "Temas de navegador oscuros" + }, + "optionsIconLight": { + "message": "Temas de navegador claros" + }, + "optionsOpen": { + "message": "Abrir" + }, + "optionsOpenManager": { + "message": "Administrar estilos" + }, + "optionsPopupWidth": { + "message": "Anchura del diálogo emergente (en píxeles)" + }, + "optionsReset": { + "message": "Restablecer las opciones a sus valores predeterminados." + }, + "optionsResetButton": { + "message": "Restablecer opciones" + }, + "optionsSubheading": { + "message": "Más opciones" + }, + "optionsSyncConnect": { + "message": "Conectar" + }, + "optionsSyncDisconnect": { + "message": "Desconectar" + }, + "optionsSyncLogin": { + "message": "Iniciar Sesión" + }, + "optionsSyncNone": { + "message": "Ninguno" + }, + "optionsSyncStatusConnected": { + "message": "Conectado" + }, + "optionsSyncStatusConnecting": { + "message": "Conectando..." + }, + "optionsSyncStatusDisconnected": { + "message": "Desconectado" + }, + "optionsSyncStatusDisconnecting": { + "message": "Desconectando..." + }, + "optionsSyncStatusSyncing": { + "message": "Sincronizando..." + }, + "optionsSyncSyncNow": { + "message": "Sincronizar ahora" + }, + "optionsUpdateImportNote": { + "message": "Al importar los respaldos de estilos desde una versión antigua o desde Stylish, comprueba una vez las actualizaciones manualmente en el administrador de estilos para asegurarte de que todos los estilos estén actualizados." + }, + "optionsUpdateInterval": { + "message": "Intervalo de actualización automática en horas (especificar 0 para deshabilitar)" + }, + "overwriteFileExport": { + "message": "¿Desea sobrescribir un archivo existente?" + }, + "paginationCurrent": { + "message": "Página actual" + }, + "paginationEstimated": { + "message": "Número estimado de páginas" + }, + "paginationNext": { + "message": "Página siguiente" + }, + "paginationPrevious": { + "message": "Página anterior" + }, + "paginationTotal": { + "message": "Páginas totales" + }, + "parseUsercssError": { + "message": "Stylus no pudo interpretar el usercss:" + }, + "popupBorders": { + "message": "Añadir bordes blancos en los laterales" + }, + "popupBordersTooltip": { + "message": "Útil para temas oscuros en el nuevo Chrome ya que no pinta los bordes laterales" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, también en el teclado numérico - acciona el n-esimo estilo (0 es 10)\n- acciona el primer estilo con un nombre que comienza con la letra\n abre el editor en lugar de accionar\n habilita los estilos listados\n deshabilita los estilos listados\n y <`> (acento grave) - acciona los estilos habilitados inicialmente; no se aplica a los estilos habilitados subsecuentemente mientras el cuadro emergente está abierto, así que puede restaurar la selección inicial tras probar el material: simplemente deshabilite todo, y luego accione, es decir \nMás información en el wiki" + }, + "popupHotkeysTooltip": { + "message": "Haz clic para ver los atajos de teclado disponibles" + }, + "popupManageTooltip": { + "message": "Mayús+clic o clic secundario abre el administrador con estilos aplicables para el sitio actual." + }, + "popupMenuButtonTooltip": { + "message": "Acciones" + }, + "popupOpenEditInWindow": { + "message": "Abrir editor en una nueva ventana" + }, + "popupOpenEditInWindowTooltip": { + "message": "También se habilita al desacoplar la pestaña del editor de una ventana de navegador,\ny se deshabilita al acoplar una única pestaña de editor en otra ventana." + }, + "popupStylesFirst": { + "message": "Estilos antes que las órdenes" + }, + "prefShowBadge": { + "message": "Número de estilos activos en el sitio actual" + }, + "previewLabel": { + "message": "Vista previa en tiempo real" + }, + "previewTooltip": { + "message": "Aplica temporalmente los cambios sin guardar.\nGuarde el estilo para que los cambios sean permanentes." + }, + "readingStyles": { + "message": "Leyendo los estilos..." + }, + "reload": { + "message": "Recargar extensión Stylus" + }, + "replace": { + "message": "Reemplazar" + }, + "replaceAll": { + "message": "Reemplazar todo" + }, + "replaceWith": { + "message": "Reemplazar con" + }, + "retrieveBckp": { + "message": "Importar estilos" + }, + "retrieveDropboxSync": { + "message": "Importar desde Dropbox" + }, + "search": { + "message": "Buscar" + }, + "searchCaseSensitive": { + "message": "Diferenciar mayúsculas y minúsculas" + }, + "searchGlobalStyles": { + "message": "También buscar estilos globales" + }, + "searchNumberOfResults": { + "message": "Número de coincidencias" + }, + "searchNumberOfResults2": { + "message": "Número de coincidencias en el código y en los valores 'Se aplica a'" + }, + "searchRegexp": { + "message": "Use la sintaxis /re/ para búsquedas con expresiones regulares" + }, + "searchResultInstallCount": { + "message": "Instalaciones totales" + }, + "searchResultNoneFound": { + "message": "No se encontraron estilos para este sitio." + }, + "searchResultNotMatchingNote": { + "message": "Intenta pedir al autor de este estilo de usuario que añada la URL.\n\nTambién puedes abrir el estilo en el administrador y editarlo tú mismo,\npero ten en cuenta que deshabilita las actualizaciones automáticas de\neste estilo." + }, + "searchResultRating": { + "message": "Valoración" + }, + "searchResultUpdated": { + "message": "Actualizado" + }, + "searchResultWeeklyCount": { + "message": "Instalaciones semanales" + }, + "searchStylesCode": { + "message": "Código CSS" + }, + "searchStylesMeta": { + "message": "Metadatos" + }, + "searchStylesName": { + "message": "Nombre" + }, + "sectionAdd": { + "message": "Añadir otra sección" + }, + "sectionCode": { + "message": "Código" + }, + "sectionRemove": { + "message": "Eliminar sección" + }, + "sectionRestore": { + "message": "Restaurar sección eliminada" + }, + "sections": { + "message": "Secciones" + }, + "shortcuts": { + "message": "Atajos" + }, + "shortcutsNote": { + "message": "Defina atajos de teclado" + }, + "sortDateNewestFirst": { + "message": "los más nuevos primero" + }, + "sortDateOldestFirst": { + "message": "el más antiguo primero" + }, + "sortLabel": { + "message": "Seleccione un orden a aplicar a los estilos instalados" + }, + "sortLabelTitleAsc": { + "message": "Título ascendentemente" + }, + "sortLabelTitleDesc": { + "message": "Título descendentemente" + }, + "sortStylesHelp": { + "message": "Escoja el tipo de orden a aplicar a las entradas instaladas desde el menú desplegable de ordenación. La configuración predeterminada aplica un orden ascendente (A a Z) a los títulos de las entradas. Las ordenaciones del grupo \"Título descendentemente\" aplicarán un orden descendente (Z a A) al título.\nHay otros preajustes que permitirán ordenar las entradas según múltiples criterios. Piense en esto como en ordenar una tabla con múltiples columnas, y en cada categoría en una selección (entre los signos más) representa una columna o grupo.\nPor ejemplo, si la configuración es \"Habilitados (primero) + Título\", las entradas se ordenarían de forma que las entradas habilitadas quedarían en la parte superior de la lista, luego se aplica un orden ascendente (A a Z) de títulos de las entradas tanto para las entradas habilitadas como las deshabilitadas de forma separada." + }, + "sortStylesHelpTitle": { + "message": "Ordenar contenidos" + }, + "styleBadRegexp": { + "message": "La expresión regular proporcionada no es válida." + }, + "styleBeautify": { + "message": "Formatear" + }, + "styleBeautifyIndentConditional": { + "message": "Sangrar @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Conservar nuevas líneas" + }, + "styleCancelEditLabel": { + "message": "Volver al administrador" + }, + "styleChangesNotSaved": { + "message": "Has realizado cambios en este estilo sin guardarlos." + }, + "styleEnabledLabel": { + "message": "Activado" + }, + "styleFromMozillaFormatError": { + "message": "No se pudo importar desde el formato Mozilla" + }, + "styleFromMozillaFormatPrompt": { + "message": "Pegue el código de formato Mozilla" + }, + "styleInstall": { + "message": "¿Quiere instalar «$stylename$» en Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "¡No se pudo instalar el estilo de usuario!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' ya está instalado ¿Sobrescribirlo?\nVersión: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Introduzca un nombre" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "El estilo no se aplicó debido a su uso incorrecto de 'regexp()'" + }, + "styleRegexpInvalidExplanation": { + "message": "Algunas reglas «regexp()» que no se pudieron compilar en absoluto." + }, + "styleRegexpPartialExplanation": { + "message": "Este estilo utiliza expresiones regulares (regexps) con coincidencias parciales, infringiendo la especificación @document de CSS4 que requiere una coincidencia de URL completa. \nLas secciones CSS correspondientes a estas expresiones regulares no se aplicaron a la página. Este estilo fue probablemente creado con Stylish para Chrome que evalúa incorrectamente las reglas 'regexp()' desde la primera versión (fallo conocido)." + }, + "styleRegexpProblemTooltip": { + "message": "Número de secciones no aplicadas debido a un uso incorrecto de 'regexp()'" + }, + "styleRegexpTestButton": { + "message": "Probar regexp" + }, + "styleRegexpTestFull": { + "message": "Pestañas coincidentes" + }, + "styleRegexpTestInvalid": { + "message": "Expresiones regulares no válidas omitidas" + }, + "styleRegexpTestNone": { + "message": "No hay pestañas que coincidan" + }, + "styleRegexpTestNote": { + "message": "Nota: Use una única \\ como caracter de escape en el campo de entrada de la expresión regular (regexp), que se convertirá automátiascamente a \\\\ en el código del estilo igual que por especificación para cadenas entrecomilladas en CSS." + }, + "styleRegexpTestPartial": { + "message": "No coincide completamente, por lo que se omitió" + }, + "styleRegexpTestTitle": { + "message": "Lista de pestañas abiertas que coinciden (haga clic en la URL para enfocar su pestaña)" + }, + "styleSaveLabel": { + "message": "Guardar" + }, + "styleToMozillaFormatHelp": { + "message": "El formato Mozilla del código se puede enviar a userstyles.org y usarse con el Stylish para Firefox clásico." + }, + "styleToMozillaFormatTitle": { + "message": "Estilo en formato Mozilla" + }, + "styleUpdate": { + "message": "¿Estás seguro de que quieres actualizar '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "El estilo se ha modificado fuera del editor. ¿Desea recargar el estilo?" + }, + "stylusUnavailableForURL": { + "message": "Stylus no funciona en páginas como esta." + }, + "stylusUnavailableForURLdetails": { + "message": "Como medida de seguridad, el navegador impide que las extensiones afecten a sus páginas incorporadas(como chrome://version, la página de pestaña nueva a partir de Chrome 61, about:addons, etc.), así como a las páginas de otras extensiones. Cada navegador también restringe el acceso a su propia galería de extensiones (como Chrome Web Store o AMO)." + }, + "syncDropboxStyles": { + "message": "Exportar a Dropbox" + }, + "syncStorageErrorSaving": { + "message": "El valor no se puede guardar. Trate de reducir la longitud del texto." + }, + "toggleStyle": { + "message": "Activar/Desactivar estilo" + }, + "undo": { + "message": "Deshacer" + }, + "undoGlobal": { + "message": "Deshacer en todas las secciones" + }, + "unreachableAMO": { + "message": "Firefox prohibe el acceso al sitio" + }, + "unreachableAMOHint": { + "message": "Para permitir el acceso abra , haga clic secundario en la lista, pulse 'Nuevo', luego 'Booleano', pegue y pulse Aceptar, , Aceptar, y recargue la página ." + }, + "unreachableAMOHintNewFF": { + "message": "En Firefox 60 y versiones posteriores también deberá eliminar el dominio AMO de en ." + }, + "unreachableAMOHintOldFF": { + "message": "Solo Firefox 59 y posteriores se pueden configurar para permitir que WebExtensions añada elementos de estilo en sitios protegidos por CSP (política de seguridad de contenido) como este." + }, + "unreachableContentScript": { + "message": "No se pudo comunicar con la página. Prueba recargando la pestaña." + }, + "unreachableFileHint": { + "message": "Stylus puede acceder a las URLs file:// sólo si activa la casilla correspondiente para la extensión Stylus en la página chrome://extensions." + }, + "unzipStyles": { + "message": "Descomprimiendo los estilos..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "No se encontraron actualizaciones." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "No se buscaron actualizaciones de algunos estilos actualizables para evitar la pérdida de posibles ediciones locales. Se puede forzar la búsqueda de actualizaciones mediante comprobación individual, o ejecutando otra búsqueda para todos los estilos (las ediciones locales se sobrescribirán)." + }, + "updateCheckFailBadResponseCode": { + "message": "Error de actualización: el servidor ha respondido con el código $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Error de actualización: no se pudo contactar con el servidor." + }, + "updateCheckHistory": { + "message": "Historial de búsqueda de actualizaciones" + }, + "updateCheckManualUpdateForce": { + "message": "Instalar actualización (se sobrescribirán las ediciones locales)" + }, + "updateCheckManualUpdateHint": { + "message": "Forzar una actualización sobrescribirá cualquier edición local." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Este estilo se editó localmente." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Este estilo podría haber sido editado localmente." + }, + "updateCheckSucceededNoUpdate": { + "message": "El estilo está actualizado." + }, + "updateCompleted": { + "message": "Actualización completada." + }, + "updatesCurrentlyInstalled": { + "message": "Actualizaciones instaladas:" + }, + "uploadingFile": { + "message": "Subiendo el archivo...." + }, + "usercssAvoidOverwriting": { + "message": "Por favor, cambie el valor de @name o @namespace para no sobrescribir un estilo existente." + }, + "usercssConfigIncomplete": { + "message": "El estilo se actualizó o borró después de que se mostrara el cuadro de diálogo de configuración. Estas variables no se guardaron para evitar corromper los metadatos del estilo:" + }, + "usercssEditorNamePlaceholder": { + "message": "Especifique @name en el código" + }, + "usercssReplaceTemplateConfirmation": { + "message": "¿Reemplazar con el código actual la plantilla predeterminada para nuevos estilos Usercss?" + }, + "usercssReplaceTemplateName": { + "message": "@name vacío reemplaza la plantilla predeterminada" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Inserte el código aquí..." + }, + "versionInvalidOlder": { + "message": "La versión es más antigua que el estilo instalado." + }, + "writeStyleFor": { + "message": "Escribir estilo para:" + }, + "writeStyleForURL": { + "message": "este URL" + }, + "zipStyles": { + "message": "Comprimiendo los estilos..." + } +} diff --git a/_locales/et/messages.json b/_locales/et/messages.json index 5437d381..c5b40be3 100644 --- a/_locales/et/messages.json +++ b/_locales/et/messages.json @@ -1,1586 +1,1142 @@ { - "addStyleTitle": { - "message": "Lisa stiil", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Läbipaistmatus", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Lisa", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Rakendub saitidele: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "ja veel", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLid domeenis", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Kasuta \"rakendub\" valikuid, et piirata, mis URLidele selles jaotises olev kood rakendub.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Rakendub saitidele", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Näita 'Rakendub' teavet", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Ei tööta minimeeritud CSS-iga", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Regulaaravaldisele vastavad URLid", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Eemalda", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Viimast 'rakendub'-sisestust ei saa eemaldada", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Täpsusta", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Kõik", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLid algusega", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Rakenda kõik uuendused", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Varunda", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Vali fail või lohista see siia lehele.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Ekspordi stiilid", - "description": "" - }, - "checkAllUpdates": { - "message": "Kontrolli kõikide stiilide uuendusi", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Kontrolli uuesti, ma ei muutnud ühtegi stiili!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Kontrolli uuendusi", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrollin...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Eemaldamiseks klõpsa", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Automaatselt sulge sulud ja jutumärgid", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automaatselt lisab sulgeva paarilise, kui kirjutad avava ühest järgnevast: ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automaattäide kirjutamisel", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSS-värvide värvivalijad", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Kasuta tabeldusmärke targa taandega", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Klahvimäärangud", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Reamurdmine", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Tõsta esile", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Ainult valik", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Kursori all olev sõne", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Topeltklõpsa, et maksimeerida/taastada kõrgus", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Topeltklõps valib sõnesid", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Sõnede näited: .foo-bar-2 #aabbcc 0.32 !important\nKeelamisel valitakse punktidega eraldatud sõnad.", - "description": "" - }, - "cm_smartIndent": { - "message": "Kasuta tarka taanet", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabeldussuurus", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Teema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Vaheta formaate: HEX -> RGB -> HSL.\nShift-klõps vastupidise suuna jaoks.\nSamuti klahvidega PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Ava värvivalija", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "muutmisel", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Automaatselt salvesta ja rakenda muudatused", - "description": "" - }, - "configureStyle": { - "message": "Seadista", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Seadista kodulehel", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Tühista", - "description": "" - }, - "confirmClose": { - "message": "Sulge", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Kasuta vaikesätet", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Kustuta", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Tühistada muudatused?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Ei", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Salvesta", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Peata", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Jah", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Kopeeritud lõikelauale", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopeeri lõikelauale", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Paigaldamise kuupäev", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Uuendamise kuupäev", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylus'i andmebaasi uuendamisel esines viga. Kas soovid külastada võimalike lahendustega veebilehte?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "vaikimisi", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Kas soovid kindlasti selle stiili kustutada?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Kustuta", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Disaini veeb ümber kasutajastiilide halduri Stylus'iga. Stylus võimaldab sul lihtsalt paigaldada teemasid ja välimusi mitmetele populaarsetele saitidele.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Lülita kõik stiilid välja", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Keela", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Lohista importimiseks oma varundusfail kuskile siia lehele.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Faili installimiseks lohista see kaartide ribale (ala, kus näidatakse kaartide pealkirju).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Kustuta", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Mine reale (või rida:tulp)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Muuda stiili", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Muuda", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Muuda stiili $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Luba", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Välista praegune domeen", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Välista praegune URL", - "description": "" - }, - "exportLabel": { - "message": "Ekspordi", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Tagasiside", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Koduleht", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Väline link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Kasutajatugi", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss dokumentatsioon", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$/$numTotal$ kuvatud", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Hetkel rakendatud filtritele ei vasta ükski stiil", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Leia stiile", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Leia sellele saidile veel stiile", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Aknasisene", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Näita otsingu tulemusi selles aknas.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Lisa", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klooni", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Keelatud", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Lubatud", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Viga", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Ajalugu", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Järgmine", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Eelmine", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Lähtesta", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvestatud", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Pealkiri", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Tundmatu", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Abi", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Kirjuta käsu nimi", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Vajuta kiirklahvi", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "See host on keelatud hetkel kasutatavas brauseri praeguses versioonis oleva vea tõttu", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Lisa stiilile", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Lisa imporditud stiil praegusele stiilile", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Impordi", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Kirjuta stiil üle", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Tühista praeguse stiili sisu ja kirjuta see üle imporditud stiiliga", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "lisatud", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identset vahele jäetud", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "sobimatut vahele jäetud", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "said uuenduse nii metaandmetele kui koodile", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "uuendatud kood", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "metainfo uuendatud", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Stiilide importimine lõpetatud", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Midagi ei muudetud.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stiili võeti tagasi", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importimine on tagasi võetud", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Paigalda stiil", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stiil paigaldatud", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Paigalda stiil uuesti", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Uuenda stiil", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Paigalda uuendus", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Praegu uuendatakse stiili aadressilt $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Kontrolli uuendusi", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Litsents", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hangi abi", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Hangi stiile", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Viki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Tõlgi", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint ei toeta eeltöötlejat $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Määra reegel kui: 0 = keelatud; 1 = hoiatus; 2 = viga)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Linteri $linter$ reeglite seadistuse määramine", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Selle linteri seadistamiseks klõpsa", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Ei salvestatud nende vigaste seadistuste tõttu:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Vead", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ leidis need vead:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Vigane JSON-formaat", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Kogemata tehtud lähtestamiste tagasi võtmiseks vajuta tekstikastis Ctrl-Z (või Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vaata reeglite täielikku loendit", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Faili vaatamisel esines viga", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Reaalajas uuestilaadimine", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Lehe ikoonid rakendub-tulbas", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Tee halliks", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus kasutab välist teenust https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtrid", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Paigaldatud stiilid", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Rakendub-üksuste arv", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercss-ina", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Uus haldusliidese välimus", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Ainult keelatud stiilid", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Ainult lubatud stiilid", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Ainult välised stiilid", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Ainult kohalikult loodud stiilid", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(stiilid, mida ei paigaldatud lehelt userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Ainult mitte-Usercss stiilid", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Ainult uuenduste või vigadega", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Ainult Usercss stiilid", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Kuva aktiivsete stiilide hulka", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Vigane @var märkeruut: väärtus peab olema 0 või 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Vigane @var värv: $color$ pole värv", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Vigane @var $type$: väärtus peab olema arv või massiiv", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Vigane @var $type$: määratletud on mitu ühikut", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Vigane @var $type$: massiiv sisaldab liiga palju elemente", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Vigane @var $type$: vaikimisi väärtus on miinimumist madalam", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Vigane @var $type$: vaikimisi väärtus on maksimumist suurem", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Vigane @var $type$: '$units$' pole lubatud ühik", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Vigane URL protokoll. Lubatud on ainult http ja https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Kohustuslikud metaandmed puudu: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Tundmatud metaandmed: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Tundmatu @$varkey$ tüüp: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Tundmatu @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Sellele saidile pole stiile paigaldatud.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Halda", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Valikud", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Ava stiilihaldur", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Tegevused", - "description": "" - }, - "optionsAdvanced": { - "message": "Täpsem", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Lisa \"Kustuta\" redaktori kontekstmenüüsse", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Paljasta iframe-id HTML[stylus-iframe] kaudu", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Paljastab tipp-domeeni igas iframe'is.\nVõimaldab iframe'i-põhise CSS-koodi kirjutamise näiteks selliselt:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Kirjuta uus stiil usercss-ina", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Taustavärv keelatud olekus", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Taustavärv", - "description": "" - }, - "optionsCheck": { - "message": "Uuenda stiile", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Kontrolli ja paigalda kõik saadaolevad uuendused", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Number tööriistaribaikoonil", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Tööriistaribaikoon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Hüpikaken", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Uuendused", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sünkrooni pilve", - "description": "" - }, - "optionsHeading": { - "message": "Valikud", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Tumedad brauseriteemad", - "description": "" - }, - "optionsIconLight": { - "message": "Heledad brauseriteemad", - "description": "" - }, - "optionsOpen": { - "message": "Ava", - "description": "" - }, - "optionsOpenManager": { - "message": "Halda stiile", - "description": "" - }, - "optionsPopupWidth": { - "message": "Hüpikakna laius (pikslites)", - "description": "" - }, - "optionsReset": { - "message": "Lähtesta valikud vaikeväärtustele", - "description": "" - }, - "optionsResetButton": { - "message": "Lähtesta valikud", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Rohkem valikuid", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Kui impordid stiilide varundusi vanast versioonist või Stylish'ist, tee ühekordne käsitsi uuenduste kontroll stiilide halduris, et veenduda kõikide stiilide ajakohasuses.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Kasutajastiilide automaatse uuendamise ajavahe (keelamiseks pane 0)", - "description": "" - }, - "optionsSyncNone": { - "message": "Pole", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sünkrooni kohe", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Sünkroonimine...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Ühendumine...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Ühendatud", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Lahtiühendamine...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Lahti ühendatud", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Praegune leht", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Hinnanguline lehtede arv", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Järgmine leht", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Eelmine leht", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Lehti kokku", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus ei suutnud usercss-i analüüsida:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Lisa äärtesse valged piirjooned", - "description": "" - }, - "popupBordersTooltip": { - "message": "Kasulik tumedate teemade puhul Chrome'is, kuna see ei joonista enam külje piirjooni", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, ka numbriklahvidel - lülitab N. stiili (0 on 10)\n- lülitab esimest stiili, mille nimi algab selle tähega\n avab redaktori lülitamise asemel\n lubab nimekirjas olevad stiilid\n keelab nimekirjas olevad stiilid\n ja <`> (graavis) - lülitab esialgu lubatud stiilid; ei rakendu järgnevalt lubatud stiilidele hüpiku avatud olekus, seega saad taastada esialgse valiku peale asjade testimist: lihtsalt keela kõik ning lülita, seega \nRohkem teavet vikis", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Kiirklahvide nägemiseks klõpsa", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+klõps või paremklõps avab halduri praeguse saidi kohta käivate stiilidega", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Tegevuste menüü", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Ava redaktor uues aknas", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Lubatakse ka redaktori kaardi veebilehitseja aknast eraldamisel,\nja keelatakse üksiku redaktori kaardi haakimisel teise aknasse.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stiilid enne käske", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Praegusel saidil aktiivsete stiilide arv", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Reaalajas eelvaade", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Ajutiselt rakendab muudatused ilma salvestamata.\nMuudatuste püsivaks tegemiseks salvesta stiil.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Asenda", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Asenda kõik", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Asenda tekstiga", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Impordi stiilid", - "description": "" - }, - "search": { - "message": "Otsi", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Tõstutundlik", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Vastete arv", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Vasteid koodis ja rakendub-üksuste väärtustes", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Kasuta /re/ süntaksit regulaaravaldise otsinguks", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Paigaldusi kokku", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Sellele saidile ei leitud stiile.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Hinnang", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Uuendatud", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Paigaldus nädalas", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Lisa uus jaotis", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kood", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Eemalda jaotis", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Taasta eemaldatud jaotis", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Otseteed", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Defineeri klaviatuuriotseteed", - "description": "" - }, - "sortDateNewestFirst": { - "message": "uuemad eespool", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "vanemad eespool", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Vali, milline järjestus paigaldatud stiilidele rakendada", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Pealkiri tõusvas järjestuses", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Pealkiri laskuvas järjestuses", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Vali paigaldatud üksustele rakendatav sorteerimismeetod sorteerimise rippmenüüst. Vaikimisi seadistus rakendab kasvava sorteerimise (A-st Z-ni) üksuste pealkirjades. Sorteerimised grupis \"Kahanev pealkiri\" rakendavad pealkirjale kahaneva sorteerimise (Z-st A-ni).\nOn olemas ka teisi eelseadistusi, mis võimaldavad üksuste sorteerimist mitme kriteeriumi järgi. Mõtle sellest, nagu sorteeriksid mitme veeruga tabelit ja iga kategooria valikus (plussmärkide vahel) tähistab veergu või gruppi.\nNäiteks, kui valik on \"Lubatud (esimene) + pealkiri\", sorteeritakse üksused nii, et kõik lubatud üksused on nimekirja tipus ning nimekirja pealkirja kasvav sorteerimine (A-st Z-ni) rakendatakse nii lubatud kui keelatud üksustele eraldi.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Järjesta sisu", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regulaaravaldis on sobimatu.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Ilusta", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Taanda @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Säilita reavahetused", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Tagasi haldusesse", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Sa oled teinud sellele stiilile muutusi ilma salvestamata.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Lubatud", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Mozilla-vormingust importimine ebaõnnestus", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Kleebi Mozilla-vormingus koodi", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Paigaldad \"$stylename$\" Stylus'isse?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Kasutajastiili paigaldamine ebaõnnestus!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' on juba paigaldatud. Kas kirjutada üle?\nVersioon: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Sisesta nimi", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-vorming", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Stiili ei rakendatud selle \"regexp()\" vale kasutuse tõttu", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Teatud \"regexp()\" reegleid ei suudetud üldse kompileerida.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "See stiil kasutab osaliselt vastavaid regulaaravaldisi, olles CSS4 @dokument standardiga vastuolus, mis nõuab terve URLi vastet. Mõjutatud CSS-jaotisi ei rakendatud lehele. See stiil tehti tõenäoliselt Chrome'i Stylish'is, mis kontrollib \"regexp()\" reegleid valesti alates esimesest versioonist (teadaolev viga).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "\"regexp()\" vale kasutuse tõttu rakendamata jaotiste arv", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Regulaaravaldise katsetus", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Vastavad kaardid", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Sobimatud regulaaravaldised vahele jäetud", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Pole vastavaid kaarte", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Märkus: kasuta üksikut \\, et keelata märgi töötlemine regulaaravaldise sisendväljas, mis konverteeritakse automaatselt \\\\-ks stiili koodis, nagu CSSi tsiteeritud sõnede spetsifikatsioon ette näeb.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Ei vasta täielikult, seega vahele jäetud", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Vastavate avatud kaardide nimekiri (klõpsa URLile selle kaardi fookustamiseks)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Salvesta", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Koodi Mozilla-vormingut saab üles laadida saidile userstyles.org ja kasutada klassikalise Firefoxi Stylish'iga", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stiil Mozilla-vormingus", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Kas soovid kindlasti uuendada \"$stylename$\"?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Stiili on redaktoriväliselt muudetud. Kas soovid stiili uuesti laadida?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus ei tööta sellistel lehtedel.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Turvakaalutlustel keelab brauser laiendustel sisseehitatud lehtede (nagu chrome://version, standardne uue kaardi leht alates versioonist Chrome 61, about:addons jne) ning ka teiste laienduste lehtede muutmise. Iga brauser piirab lisaks juurdepääsu oma laienduste galeriile (nagu Chrome'i veebipood või AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Väärtust ei saa salvestada. Proovi teksti hulka vähendada.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Luba/keela stiil", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Võta tagasi", - "description": "Button label" - }, - "undoGlobal": { - "message": "Võta kõigis jaotistes tagasi", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox keelab ligipääsu sellele saidile.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Ligipääsu lubamiseks ava , parem-klõpsa nimekirjal, vali 'Uus', seejärel 'Tõeväärtus', kleebi ja klõpsa Sobib, , Sobib, laadi leht uuesti.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Firefox 60-s ja uuemas pead ka lehel eelistusest eemaldama AMO domeeni.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Ainult Firefox 59 ja uuem on võimalik seadistada lubama WebExtensionsil lisada stiilielemente CSP-kaitstud saitidele nagu see.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Lehega ei saanud ühendust. Proovi kaart uuesti laadida.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus saab ligi pääseda file:// URLidele ainult siis, kui märgistad vastava kasti Stylus laiendusel chrome://extensions lehel", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus ei saa osadele failitüüpidele ligi pääseda (nt. pdf & json failid).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Uuendusi ei leitud.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Mõndasid uuendatavaid stiile ei kontrollitud, et vältida võimalike kohalike muutuste kadu. Uuendusi saab sundida, kontrollides ükshaaval või käivitades uue kontrolli kõikidele stiilidele (kohalikud muutused kirjutatakse üle).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Uuendamine ebaõnnestus: server vastas koodiga $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Uuendamine ebaõnnestus: server on kättesaamatu.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Uuenduskontrollide ajalugu", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Paigalda uuendus (kohalikud muutused kirjutatakse üle)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Uuenduse sundimine kirjutab üle mistahes kohalikud muutused.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Seda stiili muudeti kohalikult.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Seda stiili võib olla kohalikult muudetud.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stiil on ajakohane.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Uuendus teostatud.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Uuendused paigaldatud:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Olemasoleva stiili ülekirjutamise vältimiseks palun muuda @name või @namespace väärtused.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Stiili uuendati või eemaldati pärast seadistusdialoogi kuvamist. Neid muutujaid ei salvestatud, et vältida stiili metaandmete korrumpeerumist:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Kirjelda koodis @name", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Asendad vaikimisi malli uutes kasutajacss stiilides praeguse koodiga?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Tühi @name asendab vaikimisi malli", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Sisesta kood siia...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Versioon on paigaldatud stiilist vanem.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Kirjuta stiil:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "see URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropboxi eksportimine", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropboxi importimine/eksportimine on asendatud edasijõudnuma stiilide sünkroonijaga valikute lehel.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropboxi importimine", - "description": "" - }, - "overwriteFileExport": { - "message": "Kas tahad olemasoleva faili üle kirjutada?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Fail edukalt salvestatud", - "description": "" - }, - "noFileToImport": { - "message": "Oma stiilide importimiseks peaksid esmalt selle eksportima.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropboxiga ühendumine...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropboxiga ühendumine on saadaval ainult veebipoe kaudu installitud rakendustes", - "description": "" - }, - "gettingStyles": { - "message": "Kõigi stiilide hankimine...", - "description": "" - }, - "zipStyles": { - "message": "Stiilide kokkupakkimine...", - "description": "" - }, - "unzipStyles": { - "message": "Stiilide lahtipakkimine...", - "description": "" - }, - "readingStyles": { - "message": "Stiilide lugemine...", - "description": "" - }, - "uploadingFile": { - "message": "Faili üleslaadimine...", - "description": "" - }, - "addStyleLabel": { - "message": "Kirjuta uus stiil", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus ei saa osadele failitüüpidele ligi pääseda (nt. pdf & json failid)." + }, + "addStyleLabel": { + "message": "Kirjuta uus stiil" + }, + "addStyleTitle": { + "message": "Lisa stiil" + }, + "alphaChannel": { + "message": "Läbipaistmatus" + }, + "appliesAdd": { + "message": "Lisa" + }, + "appliesDisplay": { + "message": "Rakendub saitidele: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "ja veel" + }, + "appliesDomainOption": { + "message": "URLid domeenis" + }, + "appliesHelp": { + "message": "Kasuta \"rakendub\" valikuid, et piirata, mis URLidele selles jaotises olev kood rakendub." + }, + "appliesLabel": { + "message": "Rakendub saitidele" + }, + "appliesLineWidgetLabel": { + "message": "Näita 'Rakendub' teavet" + }, + "appliesLineWidgetWarning": { + "message": "Ei tööta minimeeritud CSS-iga" + }, + "appliesRegexpOption": { + "message": "Regulaaravaldisele vastavad URLid" + }, + "appliesRemove": { + "message": "Eemalda" + }, + "appliesRemoveError": { + "message": "Viimast 'rakendub'-sisestust ei saa eemaldada" + }, + "appliesSpecify": { + "message": "Täpsusta" + }, + "appliesToEverything": { + "message": "Kõik" + }, + "appliesUrlPrefixOption": { + "message": "URLid algusega" + }, + "applyAllUpdates": { + "message": "Rakenda kõik uuendused" + }, + "author": { + "message": "Autor" + }, + "backupButtons": { + "message": "Varunda" + }, + "backupMessage": { + "message": "Vali fail või lohista see siia lehele." + }, + "bckpInstStyles": { + "message": "Ekspordi stiilid" + }, + "checkAllUpdates": { + "message": "Kontrolli kõikide stiilide uuendusi" + }, + "checkAllUpdatesForce": { + "message": "Kontrolli uuesti, ma ei muutnud ühtegi stiili!" + }, + "checkForUpdate": { + "message": "Kontrolli uuendusi" + }, + "checkingForUpdate": { + "message": "Kontrollin..." + }, + "clickToUninstall": { + "message": "Eemaldamiseks klõpsa" + }, + "cm_autoCloseBrackets": { + "message": "Automaatselt sulge sulud ja jutumärgid" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automaatselt lisab sulgeva paarilise, kui kirjutad avava ühest järgnevast: ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Automaattäide kirjutamisel" + }, + "cm_colorpicker": { + "message": "CSS-värvide värvivalijad" + }, + "cm_indentWithTabs": { + "message": "Kasuta tabeldusmärke targa taandega" + }, + "cm_keyMap": { + "message": "Klahvimäärangud" + }, + "cm_lineWrapping": { + "message": "Reamurdmine" + }, + "cm_matchHighlight": { + "message": "Tõsta esile" + }, + "cm_matchHighlightSelection": { + "message": "Ainult valik" + }, + "cm_matchHighlightToken": { + "message": "Kursori all olev sõne" + }, + "cm_resizeGripHint": { + "message": "Topeltklõpsa, et maksimeerida/taastada kõrgus" + }, + "cm_selectByTokens": { + "message": "Topeltklõps valib sõnesid" + }, + "cm_selectByTokensTooltip": { + "message": "Sõnede näited: .foo-bar-2 #aabbcc 0.32 !important\nKeelamisel valitakse punktidega eraldatud sõnad." + }, + "cm_smartIndent": { + "message": "Kasuta tarka taanet" + }, + "cm_tabSize": { + "message": "Tabeldussuurus" + }, + "cm_theme": { + "message": "Teema" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Vaheta formaate: HEX -> RGB -> HSL.\nShift-klõps vastupidise suuna jaoks.\nSamuti klahvidega PgUp (PageUp), PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "Ava värvivalija" + }, + "configOnChange": { + "message": "muutmisel" + }, + "configOnChangeTooltip": { + "message": "Automaatselt salvesta ja rakenda muudatused" + }, + "configureStyle": { + "message": "Seadista" + }, + "configureStyleOnHomepage": { + "message": "Seadista kodulehel" + }, + "confirmCancel": { + "message": "Tühista" + }, + "confirmClose": { + "message": "Sulge" + }, + "confirmDefault": { + "message": "Kasuta vaikesätet" + }, + "confirmDelete": { + "message": "Kustuta" + }, + "confirmDiscardChanges": { + "message": "Tühistada muudatused?" + }, + "confirmNo": { + "message": "Ei" + }, + "confirmSave": { + "message": "Salvesta" + }, + "confirmStop": { + "message": "Peata" + }, + "confirmYes": { + "message": "Jah" + }, + "connectingDropbox": { + "message": "Dropboxiga ühendumine..." + }, + "connectingDropboxNotAllowed": { + "message": "Dropboxiga ühendumine on saadaval ainult veebipoe kaudu installitud rakendustes" + }, + "copied": { + "message": "Kopeeritud lõikelauale" + }, + "copy": { + "message": "Kopeeri lõikelauale" + }, + "dateInstalled": { + "message": "Paigaldamise kuupäev" + }, + "dateUpdated": { + "message": "Uuendamise kuupäev" + }, + "dbError": { + "message": "Stylus'i andmebaasi uuendamisel esines viga. Kas soovid külastada võimalike lahendustega veebilehte?" + }, + "defaultTheme": { + "message": "vaikimisi" + }, + "deleteStyleConfirm": { + "message": "Kas soovid kindlasti selle stiili kustutada?" + }, + "deleteStyleLabel": { + "message": "Kustuta" + }, + "description": { + "message": "Disaini veeb ümber kasutajastiilide halduri Stylus'iga. Stylus võimaldab sul lihtsalt paigaldada teemasid ja välimusi mitmetele populaarsetele saitidele." + }, + "disableAllStyles": { + "message": "Lülita kõik stiilid välja" + }, + "disableStyleLabel": { + "message": "Keela" + }, + "dragDropMessage": { + "message": "Lohista importimiseks oma varundusfail kuskile siia lehele." + }, + "dragDropUsercssTabstrip": { + "message": "Faili installimiseks lohista see kaartide ribale (ala, kus näidatakse kaartide pealkirju)." + }, + "editDeleteText": { + "message": "Kustuta" + }, + "editGotoLine": { + "message": "Mine reale (või rida:tulp)" + }, + "editStyleHeading": { + "message": "Muuda stiili" + }, + "editStyleLabel": { + "message": "Muuda" + }, + "editStyleTitle": { + "message": "Muuda stiili $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Luba" + }, + "excludeStyleByDomainLabel": { + "message": "Välista praegune domeen" + }, + "excludeStyleByUrlLabel": { + "message": "Välista praegune URL" + }, + "exportLabel": { + "message": "Ekspordi" + }, + "exportSavedSuccess": { + "message": "Fail edukalt salvestatud" + }, + "externalFeedback": { + "message": "Tagasiside" + }, + "externalHomepage": { + "message": "Koduleht" + }, + "externalLink": { + "message": "Väline link" + }, + "externalSupport": { + "message": "Kasutajatugi" + }, + "externalUsercssDocument": { + "message": "Usercss dokumentatsioon" + }, + "filteredStyles": { + "message": "$numShown$/$numTotal$ kuvatud", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Hetkel rakendatud filtritele ei vasta ükski stiil" + }, + "findStyles": { + "message": "Leia stiile" + }, + "findStylesForSite": { + "message": "Leia sellele saidile veel stiile" + }, + "findStylesInline": { + "message": "Aknasisene" + }, + "findStylesInlineTooltip": { + "message": "Näita otsingu tulemusi selles aknas." + }, + "genericAdd": { + "message": "Lisa" + }, + "genericClone": { + "message": "Klooni" + }, + "genericDisabledLabel": { + "message": "Keelatud" + }, + "genericEnabledLabel": { + "message": "Lubatud" + }, + "genericError": { + "message": "Viga" + }, + "genericHistoryLabel": { + "message": "Ajalugu" + }, + "genericNext": { + "message": "Järgmine" + }, + "genericPrevious": { + "message": "Eelmine" + }, + "genericResetLabel": { + "message": "Lähtesta" + }, + "genericSavedMessage": { + "message": "Salvestatud" + }, + "genericTitle": { + "message": "Pealkiri" + }, + "genericUnknown": { + "message": "Tundmatu" + }, + "gettingStyles": { + "message": "Kõigi stiilide hankimine..." + }, + "helpAlt": { + "message": "Abi" + }, + "helpKeyMapCommand": { + "message": "Kirjuta käsu nimi" + }, + "helpKeyMapHotkey": { + "message": "Vajuta kiirklahvi" + }, + "hostDisabled": { + "message": "See host on keelatud hetkel kasutatavas brauseri praeguses versioonis oleva vea tõttu" + }, + "importAppendLabel": { + "message": "Lisa stiilile" + }, + "importAppendTooltip": { + "message": "Lisa imporditud stiil praegusele stiilile" + }, + "importLabel": { + "message": "Impordi" + }, + "importReplaceLabel": { + "message": "Kirjuta stiil üle" + }, + "importReplaceTooltip": { + "message": "Tühista praeguse stiili sisu ja kirjuta see üle imporditud stiiliga" + }, + "importReportLegendAdded": { + "message": "lisatud" + }, + "importReportLegendIdentical": { + "message": "identset vahele jäetud" + }, + "importReportLegendInvalid": { + "message": "sobimatut vahele jäetud" + }, + "importReportLegendUpdatedBoth": { + "message": "said uuenduse nii metaandmetele kui koodile" + }, + "importReportLegendUpdatedCode": { + "message": "uuendatud kood" + }, + "importReportLegendUpdatedMeta": { + "message": "metainfo uuendatud" + }, + "importReportTitle": { + "message": "Stiilide importimine lõpetatud" + }, + "importReportUnchanged": { + "message": "Midagi ei muudetud." + }, + "importReportUndone": { + "message": "stiili võeti tagasi" + }, + "importReportUndoneTitle": { + "message": "Importimine on tagasi võetud" + }, + "installButton": { + "message": "Paigalda stiil" + }, + "installButtonInstalled": { + "message": "Stiil paigaldatud" + }, + "installButtonReinstall": { + "message": "Paigalda stiil uuesti" + }, + "installButtonUpdate": { + "message": "Uuenda stiil" + }, + "installUpdate": { + "message": "Paigalda uuendus" + }, + "installUpdateFrom": { + "message": "Praegu uuendatakse stiili aadressilt $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Kontrolli uuendusi" + }, + "license": { + "message": "Litsents" + }, + "linkGetHelp": { + "message": "Hangi abi" + }, + "linkGetStyles": { + "message": "Hangi stiile" + }, + "linkStylusWiki": { + "message": "Viki" + }, + "linkTranslate": { + "message": "Tõlgi" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint ei toeta eeltöötlejat $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Määra reegel kui: 0 = keelatud; 1 = hoiatus; 2 = viga)" + }, + "linterConfigPopupTitle": { + "message": "Linteri $linter$ reeglite seadistuse määramine", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Selle linteri seadistamiseks klõpsa" + }, + "linterInvalidConfigError": { + "message": "Ei salvestatud nende vigaste seadistuste tõttu:" + }, + "linterIssues": { + "message": "Vead" + }, + "linterIssuesHelp": { + "message": "$link$ leidis need vead:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Vigane JSON-formaat" + }, + "linterResetMessage": { + "message": "Kogemata tehtud lähtestamiste tagasi võtmiseks vajuta tekstikastis Ctrl-Z (või Cmd-Z)" + }, + "linterRulesLink": { + "message": "Vaata reeglite täielikku loendit" + }, + "liveReloadError": { + "message": "Faili vaatamisel esines viga" + }, + "liveReloadLabel": { + "message": "Reaalajas uuestilaadimine" + }, + "manageFavicons": { + "message": "Lehe ikoonid rakendub-tulbas" + }, + "manageFaviconsGray": { + "message": "Tee halliks" + }, + "manageFaviconsHelp": { + "message": "Stylus kasutab välist teenust https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtrid" + }, + "manageHeading": { + "message": "Paigaldatud stiilid" + }, + "manageMaxTargets": { + "message": "Rakendub-üksuste arv" + }, + "manageNewStyleAsUsercss": { + "message": "Usercss-ina" + }, + "manageNewUI": { + "message": "Uus haldusliidese välimus" + }, + "manageOnlyDisabled": { + "message": "Ainult keelatud stiilid" + }, + "manageOnlyEnabled": { + "message": "Ainult lubatud stiilid" + }, + "manageOnlyExternal": { + "message": "Ainult välised stiilid" + }, + "manageOnlyLocal": { + "message": "Ainult kohalikult loodud stiilid" + }, + "manageOnlyLocalTooltip": { + "message": "(stiilid, mida ei paigaldatud lehelt userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Ainult mitte-Usercss stiilid" + }, + "manageOnlyUpdates": { + "message": "Ainult uuenduste või vigadega" + }, + "manageOnlyUsercss": { + "message": "Ainult Usercss stiilid" + }, + "menuShowBadge": { + "message": "Kuva aktiivsete stiilide hulka" + }, + "meta_invalidCheckboxDefault": { + "message": "Vigane @var märkeruut: väärtus peab olema 0 või 1" + }, + "meta_invalidColor": { + "message": "Vigane @var värv: $color$ pole värv", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidRange": { + "message": "Vigane @var $type$: väärtus peab olema arv või massiiv", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "Vigane @var $type$: vaikimisi väärtus on maksimumist suurem", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "Vigane @var $type$: vaikimisi väärtus on miinimumist madalam", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "Vigane @var $type$: määratletud on mitu ühikut", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "Vigane @var $type$: massiiv sisaldab liiga palju elemente", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "Vigane @var $type$: '$units$' pole lubatud ühik", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidURLProtocol": { + "message": "Vigane URL protokoll. Lubatud on ainult http ja https: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_missingMandatory": { + "message": "Kohustuslikud metaandmed puudu: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Tundmatud metaandmed: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "Tundmatu @preprocessor: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Tundmatu @$varkey$ tüüp: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Oma stiilide importimiseks peaksid esmalt selle eksportima." + }, + "noStylesForSite": { + "message": "Sellele saidile pole stiile paigaldatud." + }, + "openManage": { + "message": "Halda" + }, + "openOptions": { + "message": "Valikud" + }, + "openStylesManager": { + "message": "Ava stiilihaldur" + }, + "optionsActions": { + "message": "Tegevused" + }, + "optionsAdvanced": { + "message": "Täpsem" + }, + "optionsAdvancedContextDelete": { + "message": "Lisa \"Kustuta\" redaktori kontekstmenüüsse" + }, + "optionsAdvancedExposeIframes": { + "message": "Paljasta iframe-id HTML[stylus-iframe] kaudu" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Paljastab tipp-domeeni igas iframe'is.\nVõimaldab iframe'i-põhise CSS-koodi kirjutamise näiteks selliselt:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Kirjuta uus stiil usercss-ina" + }, + "optionsBadgeDisabled": { + "message": "Taustavärv keelatud olekus" + }, + "optionsBadgeNormal": { + "message": "Taustavärv" + }, + "optionsCheck": { + "message": "Uuenda stiile" + }, + "optionsCheckUpdate": { + "message": "Kontrolli ja paigalda kõik saadaolevad uuendused" + }, + "optionsCustomizeBadge": { + "message": "Number tööriistaribaikoonil" + }, + "optionsCustomizeIcon": { + "message": "Tööriistaribaikoon" + }, + "optionsCustomizePopup": { + "message": "Hüpikaken" + }, + "optionsCustomizeSync": { + "message": "Sünkrooni pilve" + }, + "optionsCustomizeUpdate": { + "message": "Uuendused" + }, + "optionsHeading": { + "message": "Valikud" + }, + "optionsIconDark": { + "message": "Tumedad brauseriteemad" + }, + "optionsIconLight": { + "message": "Heledad brauseriteemad" + }, + "optionsOpen": { + "message": "Ava" + }, + "optionsOpenManager": { + "message": "Halda stiile" + }, + "optionsPopupWidth": { + "message": "Hüpikakna laius (pikslites)" + }, + "optionsReset": { + "message": "Lähtesta valikud vaikeväärtustele" + }, + "optionsResetButton": { + "message": "Lähtesta valikud" + }, + "optionsSubheading": { + "message": "Rohkem valikuid" + }, + "optionsSyncNone": { + "message": "Pole" + }, + "optionsSyncStatusConnected": { + "message": "Ühendatud" + }, + "optionsSyncStatusConnecting": { + "message": "Ühendumine..." + }, + "optionsSyncStatusDisconnected": { + "message": "Lahti ühendatud" + }, + "optionsSyncStatusDisconnecting": { + "message": "Lahtiühendamine..." + }, + "optionsSyncStatusSyncing": { + "message": "Sünkroonimine..." + }, + "optionsSyncSyncNow": { + "message": "Sünkrooni kohe" + }, + "optionsUpdateImportNote": { + "message": "Kui impordid stiilide varundusi vanast versioonist või Stylish'ist, tee ühekordne käsitsi uuenduste kontroll stiilide halduris, et veenduda kõikide stiilide ajakohasuses." + }, + "optionsUpdateInterval": { + "message": "Kasutajastiilide automaatse uuendamise ajavahe (keelamiseks pane 0)" + }, + "overwriteFileExport": { + "message": "Kas tahad olemasoleva faili üle kirjutada?" + }, + "paginationCurrent": { + "message": "Praegune leht" + }, + "paginationEstimated": { + "message": "Hinnanguline lehtede arv" + }, + "paginationNext": { + "message": "Järgmine leht" + }, + "paginationPrevious": { + "message": "Eelmine leht" + }, + "paginationTotal": { + "message": "Lehti kokku" + }, + "parseUsercssError": { + "message": "Stylus ei suutnud usercss-i analüüsida:" + }, + "popupBorders": { + "message": "Lisa äärtesse valged piirjooned" + }, + "popupBordersTooltip": { + "message": "Kasulik tumedate teemade puhul Chrome'is, kuna see ei joonista enam külje piirjooni" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, ka numbriklahvidel - lülitab N. stiili (0 on 10)\n- lülitab esimest stiili, mille nimi algab selle tähega\n avab redaktori lülitamise asemel\n lubab nimekirjas olevad stiilid\n keelab nimekirjas olevad stiilid\n ja <`> (graavis) - lülitab esialgu lubatud stiilid; ei rakendu järgnevalt lubatud stiilidele hüpiku avatud olekus, seega saad taastada esialgse valiku peale asjade testimist: lihtsalt keela kõik ning lülita, seega \nRohkem teavet vikis" + }, + "popupHotkeysTooltip": { + "message": "Kiirklahvide nägemiseks klõpsa" + }, + "popupManageTooltip": { + "message": "Shift+klõps või paremklõps avab halduri praeguse saidi kohta käivate stiilidega" + }, + "popupMenuButtonTooltip": { + "message": "Tegevuste menüü" + }, + "popupOpenEditInWindow": { + "message": "Ava redaktor uues aknas" + }, + "popupOpenEditInWindowTooltip": { + "message": "Lubatakse ka redaktori kaardi veebilehitseja aknast eraldamisel,\nja keelatakse üksiku redaktori kaardi haakimisel teise aknasse." + }, + "popupStylesFirst": { + "message": "Stiilid enne käske" + }, + "prefShowBadge": { + "message": "Praegusel saidil aktiivsete stiilide arv" + }, + "previewLabel": { + "message": "Reaalajas eelvaade" + }, + "previewTooltip": { + "message": "Ajutiselt rakendab muudatused ilma salvestamata.\nMuudatuste püsivaks tegemiseks salvesta stiil." + }, + "readingStyles": { + "message": "Stiilide lugemine..." + }, + "replace": { + "message": "Asenda" + }, + "replaceAll": { + "message": "Asenda kõik" + }, + "replaceWith": { + "message": "Asenda tekstiga" + }, + "retrieveBckp": { + "message": "Impordi stiilid" + }, + "retrieveDropboxSync": { + "message": "Dropboxi importimine" + }, + "search": { + "message": "Otsi" + }, + "searchCaseSensitive": { + "message": "Tõstutundlik" + }, + "searchNumberOfResults": { + "message": "Vastete arv" + }, + "searchNumberOfResults2": { + "message": "Vasteid koodis ja rakendub-üksuste väärtustes" + }, + "searchRegexp": { + "message": "Kasuta /re/ süntaksit regulaaravaldise otsinguks" + }, + "searchResultInstallCount": { + "message": "Paigaldusi kokku" + }, + "searchResultNoneFound": { + "message": "Sellele saidile ei leitud stiile." + }, + "searchResultRating": { + "message": "Hinnang" + }, + "searchResultUpdated": { + "message": "Uuendatud" + }, + "searchResultWeeklyCount": { + "message": "Paigaldus nädalas" + }, + "sectionAdd": { + "message": "Lisa uus jaotis" + }, + "sectionCode": { + "message": "Kood" + }, + "sectionRemove": { + "message": "Eemalda jaotis" + }, + "sectionRestore": { + "message": "Taasta eemaldatud jaotis" + }, + "shortcuts": { + "message": "Otseteed" + }, + "shortcutsNote": { + "message": "Defineeri klaviatuuriotseteed" + }, + "sortDateNewestFirst": { + "message": "uuemad eespool" + }, + "sortDateOldestFirst": { + "message": "vanemad eespool" + }, + "sortLabel": { + "message": "Vali, milline järjestus paigaldatud stiilidele rakendada" + }, + "sortLabelTitleAsc": { + "message": "Pealkiri tõusvas järjestuses" + }, + "sortLabelTitleDesc": { + "message": "Pealkiri laskuvas järjestuses" + }, + "sortStylesHelp": { + "message": "Vali paigaldatud üksustele rakendatav sorteerimismeetod sorteerimise rippmenüüst. Vaikimisi seadistus rakendab kasvava sorteerimise (A-st Z-ni) üksuste pealkirjades. Sorteerimised grupis \"Kahanev pealkiri\" rakendavad pealkirjale kahaneva sorteerimise (Z-st A-ni).\nOn olemas ka teisi eelseadistusi, mis võimaldavad üksuste sorteerimist mitme kriteeriumi järgi. Mõtle sellest, nagu sorteeriksid mitme veeruga tabelit ja iga kategooria valikus (plussmärkide vahel) tähistab veergu või gruppi.\nNäiteks, kui valik on \"Lubatud (esimene) + pealkiri\", sorteeritakse üksused nii, et kõik lubatud üksused on nimekirja tipus ning nimekirja pealkirja kasvav sorteerimine (A-st Z-ni) rakendatakse nii lubatud kui keelatud üksustele eraldi." + }, + "sortStylesHelpTitle": { + "message": "Järjesta sisu" + }, + "styleBadRegexp": { + "message": "Regulaaravaldis on sobimatu." + }, + "styleBeautify": { + "message": "Ilusta" + }, + "styleBeautifyIndentConditional": { + "message": "Taanda @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Säilita reavahetused" + }, + "styleCancelEditLabel": { + "message": "Tagasi haldusesse" + }, + "styleChangesNotSaved": { + "message": "Sa oled teinud sellele stiilile muutusi ilma salvestamata." + }, + "styleEnabledLabel": { + "message": "Lubatud" + }, + "styleFromMozillaFormatError": { + "message": "Mozilla-vormingust importimine ebaõnnestus" + }, + "styleFromMozillaFormatPrompt": { + "message": "Kleebi Mozilla-vormingus koodi" + }, + "styleInstall": { + "message": "Paigaldad \"$stylename$\" Stylus'isse?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Kasutajastiili paigaldamine ebaõnnestus!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' on juba paigaldatud. Kas kirjutada üle?\nVersioon: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Sisesta nimi" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-vorming" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Stiili ei rakendatud selle \"regexp()\" vale kasutuse tõttu" + }, + "styleRegexpInvalidExplanation": { + "message": "Teatud \"regexp()\" reegleid ei suudetud üldse kompileerida." + }, + "styleRegexpPartialExplanation": { + "message": "See stiil kasutab osaliselt vastavaid regulaaravaldisi, olles CSS4 @dokument standardiga vastuolus, mis nõuab terve URLi vastet. Mõjutatud CSS-jaotisi ei rakendatud lehele. See stiil tehti tõenäoliselt Chrome'i Stylish'is, mis kontrollib \"regexp()\" reegleid valesti alates esimesest versioonist (teadaolev viga)." + }, + "styleRegexpProblemTooltip": { + "message": "\"regexp()\" vale kasutuse tõttu rakendamata jaotiste arv" + }, + "styleRegexpTestButton": { + "message": "Regulaaravaldise katsetus" + }, + "styleRegexpTestFull": { + "message": "Vastavad kaardid" + }, + "styleRegexpTestInvalid": { + "message": "Sobimatud regulaaravaldised vahele jäetud" + }, + "styleRegexpTestNone": { + "message": "Pole vastavaid kaarte" + }, + "styleRegexpTestNote": { + "message": "Märkus: kasuta üksikut \\, et keelata märgi töötlemine regulaaravaldise sisendväljas, mis konverteeritakse automaatselt \\\\-ks stiili koodis, nagu CSSi tsiteeritud sõnede spetsifikatsioon ette näeb." + }, + "styleRegexpTestPartial": { + "message": "Ei vasta täielikult, seega vahele jäetud" + }, + "styleRegexpTestTitle": { + "message": "Vastavate avatud kaardide nimekiri (klõpsa URLile selle kaardi fookustamiseks)" + }, + "styleSaveLabel": { + "message": "Salvesta" + }, + "styleToMozillaFormatHelp": { + "message": "Koodi Mozilla-vormingut saab üles laadida saidile userstyles.org ja kasutada klassikalise Firefoxi Stylish'iga" + }, + "styleToMozillaFormatTitle": { + "message": "Stiil Mozilla-vormingus" + }, + "styleUpdate": { + "message": "Kas soovid kindlasti uuendada \"$stylename$\"?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Stiili on redaktoriväliselt muudetud. Kas soovid stiili uuesti laadida?" + }, + "stylusUnavailableForURL": { + "message": "Stylus ei tööta sellistel lehtedel." + }, + "stylusUnavailableForURLdetails": { + "message": "Turvakaalutlustel keelab brauser laiendustel sisseehitatud lehtede (nagu chrome://version, standardne uue kaardi leht alates versioonist Chrome 61, about:addons jne) ning ka teiste laienduste lehtede muutmise. Iga brauser piirab lisaks juurdepääsu oma laienduste galeriile (nagu Chrome'i veebipood või AMO)." + }, + "syncDropboxDeprecated": { + "message": "Dropboxi importimine/eksportimine on asendatud edasijõudnuma stiilide sünkroonijaga valikute lehel." + }, + "syncDropboxStyles": { + "message": "Dropboxi eksportimine" + }, + "syncStorageErrorSaving": { + "message": "Väärtust ei saa salvestada. Proovi teksti hulka vähendada." + }, + "toggleStyle": { + "message": "Luba/keela stiil" + }, + "undo": { + "message": "Võta tagasi" + }, + "undoGlobal": { + "message": "Võta kõigis jaotistes tagasi" + }, + "unreachableAMO": { + "message": "Firefox keelab ligipääsu sellele saidile." + }, + "unreachableAMOHint": { + "message": "Ligipääsu lubamiseks ava , parem-klõpsa nimekirjal, vali 'Uus', seejärel 'Tõeväärtus', kleebi ja klõpsa Sobib, , Sobib, laadi leht uuesti." + }, + "unreachableAMOHintNewFF": { + "message": "Firefox 60-s ja uuemas pead ka lehel eelistusest eemaldama AMO domeeni." + }, + "unreachableAMOHintOldFF": { + "message": "Ainult Firefox 59 ja uuem on võimalik seadistada lubama WebExtensionsil lisada stiilielemente CSP-kaitstud saitidele nagu see." + }, + "unreachableContentScript": { + "message": "Lehega ei saanud ühendust. Proovi kaart uuesti laadida." + }, + "unreachableFileHint": { + "message": "Stylus saab ligi pääseda file:// URLidele ainult siis, kui märgistad vastava kasti Stylus laiendusel chrome://extensions lehel" + }, + "unzipStyles": { + "message": "Stiilide lahtipakkimine..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Uuendusi ei leitud." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Mõndasid uuendatavaid stiile ei kontrollitud, et vältida võimalike kohalike muutuste kadu. Uuendusi saab sundida, kontrollides ükshaaval või käivitades uue kontrolli kõikidele stiilidele (kohalikud muutused kirjutatakse üle)." + }, + "updateCheckFailBadResponseCode": { + "message": "Uuendamine ebaõnnestus: server vastas koodiga $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Uuendamine ebaõnnestus: server on kättesaamatu." + }, + "updateCheckHistory": { + "message": "Uuenduskontrollide ajalugu" + }, + "updateCheckManualUpdateForce": { + "message": "Paigalda uuendus (kohalikud muutused kirjutatakse üle)" + }, + "updateCheckManualUpdateHint": { + "message": "Uuenduse sundimine kirjutab üle mistahes kohalikud muutused." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Seda stiili muudeti kohalikult." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Seda stiili võib olla kohalikult muudetud." + }, + "updateCheckSucceededNoUpdate": { + "message": "Stiil on ajakohane." + }, + "updateCompleted": { + "message": "Uuendus teostatud." + }, + "updatesCurrentlyInstalled": { + "message": "Uuendused paigaldatud:" + }, + "uploadingFile": { + "message": "Faili üleslaadimine..." + }, + "usercssAvoidOverwriting": { + "message": "Olemasoleva stiili ülekirjutamise vältimiseks palun muuda @name või @namespace väärtused." + }, + "usercssConfigIncomplete": { + "message": "Stiili uuendati või eemaldati pärast seadistusdialoogi kuvamist. Neid muutujaid ei salvestatud, et vältida stiili metaandmete korrumpeerumist:" + }, + "usercssEditorNamePlaceholder": { + "message": "Kirjelda koodis @name" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Asendad vaikimisi malli uutes kasutajacss stiilides praeguse koodiga?" + }, + "usercssReplaceTemplateName": { + "message": "Tühi @name asendab vaikimisi malli" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Sisesta kood siia..." + }, + "versionInvalidOlder": { + "message": "Versioon on paigaldatud stiilist vanem." + }, + "writeStyleFor": { + "message": "Kirjuta stiil:" + }, + "writeStyleForURL": { + "message": "see URL" + }, + "zipStyles": { + "message": "Stiilide kokkupakkimine..." + } +} diff --git a/_locales/fi/messages.json b/_locales/fi/messages.json index c5043460..b2b970ef 100644 --- a/_locales/fi/messages.json +++ b/_locales/fi/messages.json @@ -1,1586 +1,169 @@ { - "addStyleTitle": { - "message": "Lisää Tyyli", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Lisää", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Kooskee: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "ja lisää", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL ositteita domainilla", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Käytä 'Koskee' kontrolleja rajoittaaksesi mitä URL osoitteisiin tämä osio koodista koskee.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Koskee", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL ositteet jotka vastaavat regexpiä", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Poista", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Tarkenna", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Kaikki", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL osoitteet jotka alkavat", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Apply all updates", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Tarkista kaikki tyylit päivityksien varalta", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Hae päivityksiä", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Tarkistetaan...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Oletko varma että haluat poistaa tämän tyylin?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Poista", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Uudelleen stailaa netti Stylusillä, käyttäjän tyyli hallintapaneelilla. Stylus antaa sinun helposti asentaa teemoja ja skinejä palvelluille kuten Google, Facebook, YouTube, Orkut, ja monelle, monelle muulle sivustolle.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Poista Käytöstä", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Muokkaa Tyyliä", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Muokkaa", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Muokkaa Tyyliä $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Aktivoi", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Hae lisää tyylejä tälle sivustolle", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Apu", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Asenna päivitys", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Asennetut Tyylit", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Tyylikäs", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Ei asennettuja tyylejä tällä sivustolla.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Hallitse asennettuja tyylejä", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "List styles before commands in the toolbar button menu", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Show number of styles active for the current site on the toolbar button", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Lisää uusi osio", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Koodi", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Poista osio", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp ei kelpaa.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Takaisin hallintapaneeliin", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Olet tehnyt muutoksia tähän tyyliin tallentamatta.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Aktivoitu", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Asennetaanko '$stylename$' Stylusiin?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Syötä nimi", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Tallenna", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla formaattia koodista voidaan käyttää Stylish Firefoxille ohjelmassa ja voidaan lähettää userstyles.orgiin.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "All styles are up to date.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Päivitys epäonnistui: palvelin vastasi koodilla $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Päivitys epäonnistui: ei voitu yhdistää palvelimeen.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Tyyli on ajan tasalla.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Päivitys suoritettu.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Uusi Tyyli", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Uusi Tyyli" + }, + "addStyleTitle": { + "message": "Lisää Tyyli" + }, + "appliesAdd": { + "message": "Lisää" + }, + "appliesDisplay": { + "message": "Kooskee: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "ja lisää" + }, + "appliesDomainOption": { + "message": "URL ositteita domainilla" + }, + "appliesHelp": { + "message": "Käytä 'Koskee' kontrolleja rajoittaaksesi mitä URL osoitteisiin tämä osio koodista koskee." + }, + "appliesLabel": { + "message": "Koskee" + }, + "appliesRegexpOption": { + "message": "URL ositteet jotka vastaavat regexpiä" + }, + "appliesRemove": { + "message": "Poista" + }, + "appliesSpecify": { + "message": "Tarkenna" + }, + "appliesToEverything": { + "message": "Kaikki" + }, + "appliesUrlPrefixOption": { + "message": "URL osoitteet jotka alkavat" + }, + "checkAllUpdates": { + "message": "Tarkista kaikki tyylit päivityksien varalta" + }, + "checkForUpdate": { + "message": "Hae päivityksiä" + }, + "checkingForUpdate": { + "message": "Tarkistetaan..." + }, + "deleteStyleConfirm": { + "message": "Oletko varma että haluat poistaa tämän tyylin?" + }, + "deleteStyleLabel": { + "message": "Poista" + }, + "description": { + "message": "Uudelleen stailaa netti Stylusillä, käyttäjän tyyli hallintapaneelilla. Stylus antaa sinun helposti asentaa teemoja ja skinejä palvelluille kuten Google, Facebook, YouTube, Orkut, ja monelle, monelle muulle sivustolle." + }, + "disableStyleLabel": { + "message": "Poista Käytöstä" + }, + "editStyleHeading": { + "message": "Muokkaa Tyyliä" + }, + "editStyleLabel": { + "message": "Muokkaa" + }, + "editStyleTitle": { + "message": "Muokkaa Tyyliä $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Aktivoi" + }, + "findStylesForSite": { + "message": "Hae lisää tyylejä tälle sivustolle" + }, + "helpAlt": { + "message": "Apu" + }, + "installUpdate": { + "message": "Asenna päivitys" + }, + "manageHeading": { + "message": "Asennetut Tyylit" + }, + "manageTitle": { + "message": "Tyylikäs" + }, + "noStylesForSite": { + "message": "Ei asennettuja tyylejä tällä sivustolla." + }, + "openManage": { + "message": "Hallitse asennettuja tyylejä" + }, + "popupStylesFirst": { + "message": "List styles before commands in the toolbar button menu" + }, + "prefShowBadge": { + "message": "Show number of styles active for the current site on the toolbar button" + }, + "sectionAdd": { + "message": "Lisää uusi osio" + }, + "sectionCode": { + "message": "Koodi" + }, + "sectionRemove": { + "message": "Poista osio" + }, + "styleBadRegexp": { + "message": "Regexp ei kelpaa." + }, + "styleCancelEditLabel": { + "message": "Takaisin hallintapaneeliin" + }, + "styleChangesNotSaved": { + "message": "Olet tehnyt muutoksia tähän tyyliin tallentamatta." + }, + "styleEnabledLabel": { + "message": "Aktivoitu" + }, + "styleInstall": { + "message": "Asennetaanko '$stylename$' Stylusiin?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Syötä nimi" + }, + "styleSaveLabel": { + "message": "Tallenna" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla formaattia koodista voidaan käyttää Stylish Firefoxille ohjelmassa ja voidaan lähettää userstyles.orgiin." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "All styles are up to date." + }, + "updateCheckFailBadResponseCode": { + "message": "Päivitys epäonnistui: palvelin vastasi koodilla $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Päivitys epäonnistui: ei voitu yhdistää palvelimeen." + }, + "updateCheckSucceededNoUpdate": { + "message": "Tyyli on ajan tasalla." + }, + "updateCompleted": { + "message": "Päivitys suoritettu." + } +} diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index e204012b..fad3df8f 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -1,1586 +1,1251 @@ { - "addStyleTitle": { - "message": "Ajouter un style", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacité", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Ajouter", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "S'applique à : $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "et bien plus encore", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL sur le domaine", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Utilisez l'option « S'applique à » pour préciser les URL auxquelles le code de cette section s'applique.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "S'applique à", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Afficher les informations « s’applique à »", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Ne fonctionne pas avec le CSS minifié", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL correspondant à l'expression régulière", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Supprimer", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Impossible de supprimer la dernière entrée « s’applique à »", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Préciser", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tout", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL commençant par", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Appliquer toutes les mises à jour", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Auteur", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Sauvegarde", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Sélectionner un fichier ou le glisser-déposer sur cette page", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exporter des styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Rechercher des mises à jour", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Vérifiez à nouveau, je n’ai modifié aucun style !", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Rechercher une mise à jour", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Vérification en cours…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Cliquer pour désinstaller", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Fermer automatiquement les caractères ouvrants", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Ajoute automatiquement le caractère fermant quand vous tapez le caractère ouvrant parmi ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplétion pendant la frappe", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Sélecteur de couleur pour les couleurs CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Utiliser les tabulations avec indentation intelligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Raccourcis clavier", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Retour à la ligne automatique", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Vérificateur CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Surligner", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Sélection uniquement", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Entité sous le curseur", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-cliquez pour maximiser/restaurer la taille", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-cliquer sélectionne des entités", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exemples d’entités : .foo-bar-2 #aabbcc 0.32 !important\nSi désactivé : les mots délimités par la ponctuation sont sélectionnés.", - "description": "" - }, - "cm_smartIndent": { - "message": "Utiliser l'indentation intelligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Taille des tabulations", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Thème", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Changer de format : HEX → RGB → HSL.\nMaj-clic pour inverser la direction.\nÉgalement via les touches ⇞ (Page précédente), \f (Page précédente).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Ouvrir le sélecteur de couleurs", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "automatique", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Sauvegarde et applique les changements automatiquement", - "description": "" - }, - "configureStyle": { - "message": "Configurer", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurer sur la page d’accueil", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Annuler", - "description": "" - }, - "confirmClose": { - "message": "Fermer", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Réglage par défaut", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Supprimer", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Annuler les changements ?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Non", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "Valider", - "description": "" - }, - "confirmSave": { - "message": "Enregistrer", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Arrêt ", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Oui", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copié dans le presse-papier", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copier dans le presse-papier", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date d'installation", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date de mise à jour", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Une erreur s'est produite dans la base de donnée de Stylus. Voulez-vous visiter une page web avec les solutions possibles ?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "défaut", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Voulez-vous vraiment supprimer ce style ?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Supprimer", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Changez l'apparence du Web grâce à Stylus, un outil de gestion des styles utilisateur. Stylus vous permet d'installer facilement des thèmes et des habillages pour Google, Facebook, YouTube, orkut et bien d'autres sites encore.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Désactiver tous les styles", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Désactiver", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Glisser votre fichier de sauvegarde n’importe où sur cette page pour l’importer.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Pour installer le fichier, glisser le fichier sur la barre des onglets (la zone où les titres des onglets sont affichés).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Supprimer", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Aller à la ligne (ou ligne:colonne)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Modifier le style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Modifier", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Modifier le style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Activer", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclure le domaine actuel", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclure l’URL actuelle", - "description": "" - }, - "exportLabel": { - "message": "Exporter", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Commentaires", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Page d’accueil", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Lien externe", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation d'Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ montrés sur $numTotal$ au total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Les filtres appliqués actuellement ne correspondent à aucun style", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Trouver des styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Rechercher d'autres styles pour ce site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Dans la popup", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Affiche les résultats de recherche dans cette fenêtre", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Ajouter", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Dupliquer", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Désactivé", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Activé", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Erreur", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historique", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Suivant", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Précédent", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Ré-initialiser", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Enregistré", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titre", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Inconnu(e)", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Aide", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Saisissez un nom de commande", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Pressez un raccourci clavier", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Cet hôte a été désactivé en raison d'un bogue dans la version actuelle du navigateur utilisé", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Ajouter au style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Ajouter le style importé au style actuel", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importer", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Remplacer le style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Abandonner le contenu du style actuel et le remplacer par le style importé", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "ajouté(s)", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identiques ignorés", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalides ignorés", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "codes et méta-informations mis à jour", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "codes mis à jour", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "méta-informations mises à jour", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Import des styles terminé", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Rien n’a changé.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles sont revenus à leur version antérieure", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "L’import a été annulé", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Installer le style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installé", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Ré-installer le style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Mettre à jour le style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Installer la mise à jour", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Le style est actuellement mis à jour depuis $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Rechercher les mises à jour", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licence", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Consulter l'aide", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obtenir des styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Traduire", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint ne prend pas en charge le préprocesseur $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Valeur des règles : 0 = désactivé, 1 = avertissement, 2 = erreur)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Configurer les règles de $linter$", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Cliquez pour configurer ce vérificateur", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Non sauvegardé à cause de ces paramètres invalides :", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problèmes", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Ces problèmes ont été trouvés par $link$ :", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Format JSON invalide", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Pour annuler une réinitialisation accidentelle, faites Ctrl-Z (ou Cmd-Z) dans la zone de texte", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Voir la liste complète des règles", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Une erreur est survenue durant la surveillance du fichier", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Gardez cet onglet ouvert pour mettre à jour le style automatiquement basé sur les modifications extérieures.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Gardez cet onglet ouvert ainsi que l´onglet original pour mettre à jour le style automatiquement basé sur les modifications extérieures.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Rechargement immédiat", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons dans la colonne « s’applique à »", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grisés", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus utilise le service externe https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtres", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Styles installés", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Nombre d’items « s’applique à »", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "en tant que Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nouvelle disposition de l’UI de gestion", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Seulement les styles désactivés", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Seulement les styles activés", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Seulement les styles externes", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Seulement les styles créés localement", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(les styles non installés via une page userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Styles non Usercss uniquement", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Avec mises à jour ou problèmes uniquement", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Styles Usercss uniquement", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Montrer le nombre de styles actifs", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Case à cocher @var invalide : la valeur doit être 0 ou 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Couleur @var invalide : $color$ n’est pas une couleur", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "@var $type$ invalide : la valeur doit être un nombre ou un tableau", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "@var $type$ invalide : plusieurs unités sont définies", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "@var $type$ invalide : le tableau contient trop d’items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "@var $type$ invalide : les items dans le tableau doivent être des nombres, chaines de caractères ou null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "@var $type$ invalide : la valeur par défaut est null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "@var $type$ invalide : la valeur par défaut est en dessous du minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "@var $type$ invalide : la valeur par défaut est au-dessus du maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "@var $type$ invalide : la valeur par défaut n’est pas un multiple du pas", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "@var $type$ invalide : '$units$' n’est pas une unité valide", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "@var select invalide : la valeur par défaut doit être un tableau ou un objet", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "@var select invalide : les valeurs dans le tableau/objet doivent être des chaines de caractères", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "@var select invalide : la liste d’options est vide", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "@var select invalide : le label de l’option est vide", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "@var select invalide : plusieurs options par défaut sont définies", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "@var select invalide : nom d’option dupliqué", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "@var select invalide : la valeur n’existe pas dans la liste d’options", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Protocole de l’URL invalide. Seuls http et https sont autorisés : $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Numéro de version invalide. La valeur ne correspond pas au motif SemVer : $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Nombre attendu", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Chaine entre guillemets attendue", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Mot attendu", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Caractères attendus : $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Données EOT attendues", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Métadonnée obligatoire manquante: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "JSON invalide : $literal$ n’est pas une valeur JSON valide", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Métadonnée inconnue: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Type @$varkey$ inconnu : $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "@preprocessor inconnu: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Aucun style n'est installé pour ce site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Gestion", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Ouvrir le gestionnaire de styles", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Avancé", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Ajouter « Supprimer » dans le menu contextuel de l’extension", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Exposer les iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Expose le domaine principal dans chaque iframe.\nPermet d’écrire du CSS spécifique aux iframe tel que :\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Écrire un nouveau style en tant que usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Couleur d'arrière plan si désactivé", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Couleur d'arrière plan", - "description": "" - }, - "optionsCheck": { - "message": "Mettre à jour les styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Vérifier et installer toutes les mises à jour disponibles", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge sur l’icône de la barre d’outils", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Icône de la barre d’outils", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Mises à jour", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synchroniser dans le nuage", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Thème foncé", - "description": "" - }, - "optionsIconLight": { - "message": "Thème clair", - "description": "" - }, - "optionsOpen": { - "message": "Ouvrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Gérer les styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Largeur de la popup (en pixels)", - "description": "" - }, - "optionsReset": { - "message": "Ré-initialiser les options", - "description": "" - }, - "optionsResetButton": { - "message": "Ré-initialiser les options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Plus de paramètres", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Quand vous importez des sauvegardes de style d’une ancienne version ou de Stylish, faites une vérification manuellement pour vous assurez que tous les styles sont à jour.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalle de mise à jour automatique des styles utilisateur en heures (spécifier 0 pour désactiver)", - "description": "" - }, - "optionsSyncNone": { - "message": "Aucun", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connecter", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnecter", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Synchroniser maintenant", - "description": "" - }, - "optionsSyncLogin": { - "message": "Se connecter", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Récupération du style $loaded$de $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Application du style $loaded$ de $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Synchronisation...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connection...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connecté", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnection...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnecté", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Page courante", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Nombre de pages estimé", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Page suivante", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Page précédente", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Pages au total", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus a échoué à parser le usercss :", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Retrier les styles dans la popup à chaque (dés)activation", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Ajouter des bordures blanches sur les côtés", - "description": "" - }, - "popupBordersTooltip": { - "message": "Utile pour les thèmes sombres dans le nouveau Chrome qui ne décore plus les bordures sur les côtés", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, aussi sur le pavé numérique - (dés)active le Nième style (0 correspond à 10)\n- (dés)active le 1er style avec un nom qui commence par la lettre\n ouvre l’éditeur au lieu de (dés)activer\n active les styles listés\n désactive les styles listés\n et <`> (accent grave) — désactive les styles initialement activés ; ne s’applique pas aux styles activés ensuite pendant que la popup est ouverte pour que vous puissiez restaurer la sélection initiale après avoir tester des choses : désactive simplement tout, puis (dés)active par ex. \nPlus d’informations sur le wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Cliquez pour voir les raccourcis clavier disponibles", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Maj-clic ou clic droit ouvre le gestionnaire avec les styles applicables au site courant.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Actions", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Ouvrir l'éditeur dans une nouvelle fenêtre", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Également activé en détachant l’onglet de l’éditeur depuis une fenêtre du navigateur,\net désactivé en attachant un unique onglet de l’éditeur dans une autre fenêtre.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "List styles before commands in the toolbar button menu", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Afficher le nombre de styles actifs pour le site actuel sur le boutton Stylus", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Prévisualiser en direct", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Applique temporairement les changements sans sauvegarder.\nSauvegarde le style pour rendre les changements permanents.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Recharger l´extension Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Remplacer", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Tout remplacer", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Remplacer par", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importer des styles", - "description": "" - }, - "search": { - "message": "Rechercher", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Sensible à la casse", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Nombre de correspondances", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Nombre de correspondances dans le code et les valeurs « s’applique à »", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Utilisez la syntaxe /re/ pour rechercher par regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total d'installations", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Aucun style trouvé pour ce site", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Note", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Mis à jour", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Installations hebdomadaires", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Ajouter une section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Supprimer la section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurer la section supprimée", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Raccourcis", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Définir les raccourcis clavier", - "description": "" - }, - "sortDateNewestFirst": { - "message": "les plus récents en premier", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "les plus anciens en premier", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Choisissez un tri à appliquer aux styles installés", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titre croissant", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titre décroissant", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choisir le type de tri à appliquer aux entrées installées à l’intérieur du menu de tri. La configuration par défaut applique un tri croissant (de A à Z) aux titres des entrées. Le tri « Titre décroissant » va appliquer un tri décroissant (de Z à A) aux titres.\nIl y a d’autres préréglages qui vous permettent de trier les entrées par de multiples critères. Pensez à ça comme trier un tableau avec de multiples colonnes et chaque catégorie dans une sélection (entre les signes plus) représente une colonne, ou groupe.\nPar exemple, si le paramètre est « Activé (en premier) + Titre », les entrées vont être triées de telle sorte que les entrées activées sont triées en haut de la liste, puis un tri croissant (de A à Z) est appliqué séparément sur les titres des entrées activées et des entrées désactivées.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Trier les contenus", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Le Regexp est éronné", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Embellir ", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indenter @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Conserver les sauts de ligne", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Retour à la gestion", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Vous avez apporté des modifications à ce style sans les enregistrer.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Activé", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Échec de l'importation depuis le format Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Coller le code au format Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Installer \"$stylename$\" dans Stylus ?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Échec de l’installation du style utilisateur !\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "\"$stylename$\" est déjà installé. L'écraser ?\nVersion : $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Veuillez saisir un nom", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Format Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Le style n'a pu s'appliquer en raison d'une utilisation erronée de 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Quelques règles 'regexp()' qui n’ont pas pu être compilées", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Ce style utilise des regexps correspondant partiellement en violation de la spécification CSS4 @document qui demande une correspondance totale de l’URL. Les sections de CSS affectées n’ont pas été appliquées à la page. Ce style a probablement été créé dans Stylish-for-Chrome qui vérifie mal les règles « regexp() » depuis sa toute première version (bug connu).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Nombre de sections non appliquées à cause d’une utilisation incorrecte de 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Test d’expression rationnelle", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Onglets correspondants", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Expression rationnelle invalides ignorées", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Aucun onglet correspondant", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note : utilisez un simple \\ pour échapper dans le champ de regexp, qui sera automatiquement converti en \\\\ dans le code conformément à la spécification des chaines citées en CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Correspondance partielle, donc ignorée", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Liste d’onglets ouverts correspondants (cliquez sur l’URL pour focaliser son onglet)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Enregistrer", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Le code au format Mozilla peut être utilisé dans Stylish for Firefox et envoyé à userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style au format Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Voulez-vous mettre à jour « $stylename$ » ?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Le style a été changé en dehors de l’éditeur. Voulez-vous recharger le style ?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus ne fonctionne pas sur les pages de ce genre", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Par mesure de sécurité, le navigateur interdit aux extensions d’affecter ses pages internes (comme chrome://version, la page nouvel onglet standard de Chrome 61, about:addons, etc.) ainsi que les pages d’autres extensions. Chaque navigateur restreint également l’accès à sa propre galerie d’extensions (tel que le Chrome Web Store ou AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "La valeur ne peut pas être sauvegardée. Essayez de réduire la quantité de texte.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "(Dés)activer le style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Annuler", - "description": "Button label" - }, - "undoGlobal": { - "message": "Tout annuler", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox interdit l'accès pour ce site", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Pour autoriser l’accès, ouvrir , clic-droit sur la liste, cliquez sur « Nouvelle » puis « Valeur booléenne », coller et cliquer sur OK, , OK, et rechargez la page .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Pour Firefox 60 et suivants, vous devez également supprimer le domaine AMO de dans .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Seul Firefox 59 et supérieur peut être configuré pour autoriser les WebExtensions à ajouter des éléments de style sur des sites protégés par CSP comme celui-ci.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Impossible de communiquer avec la page. Essayez de recharger l’onglet.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus peut accéder aux URL file:// uniquement si vous cochez la case correspondante pour l’extension Stylus sur la page chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus ne peut pas accéder à certains types de fichiers (ex: fichiers .pdf et .json).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Aucune mise à jour trouvée.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Certains styles pouvant être mis à jour n’ont pas été vérifiés pour éviter de perdre de potentiels modifications locales. Les mises à jour peuvent être forcées en vérifiant individuellement, ou en lançant une autre vérification pour tous les styles (les modifications locales seront perdues).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Échec de la mise à jour: le serveur a renvoyé le code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Échec de la mise à jour: le serveur est inaccessible.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historique des vérifications de mises à jour", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Installer les mises à jour (les modifications locales seront écrasées)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcer une mise à jour écrasera les modifications faites localement.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Ce style a été modifié localement", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Ce style a peut-être été modifié localement.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Le style est à jour.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Mise à jour terminée.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Mises à jour installées :", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Veuillez changer la valeur de @name ou @namespace afin d'éviter d'écraser un style pré-existant.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Le style a été mis à jour ou supprimer après l’apparition du dialogue de confirmation. Ces variables n’ont pas été sauvegardées pour éviter de corrompre les métadonnées du style :", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Spécifiez @name dans le code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Remplacer le modèle par défaut pour les nouveaux styles Usercss par le code actuel ?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Un @name vide remplace le modèle par défaut", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insérer le code ici...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "La version est antérieure à celle déjà installée.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Écrire un style pour :", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "cette URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exporter vers Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "L´import/export Dropbox est remplacé par une méthode de synchronisation de styles plus avancés dans la page des options", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importer depuis Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "Voulez-vous écraser un fichier existant ?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Fichier sauvegardé avec succès", - "description": "" - }, - "noFileToImport": { - "message": "Pour importer vos styles, vous devez d’abord les exporter.", - "description": "" - }, - "connectingDropbox": { - "message": "Connexion à Dropbox…", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "La connexion à Dropbox est disponible uniquement dans les applications installées directement depuis le Web Store.", - "description": "" - }, - "gettingStyles": { - "message": "Récupération de tous les styles…", - "description": "" - }, - "zipStyles": { - "message": "Compression des styles…", - "description": "" - }, - "unzipStyles": { - "message": "Décompression des styles…", - "description": "" - }, - "readingStyles": { - "message": "Lecture des styles…", - "description": "" - }, - "uploadingFile": { - "message": "Envoi du fichier…", - "description": "" - }, - "addStyleLabel": { - "message": "Créer un nouveau style", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus ne peut pas accéder à certains types de fichiers (ex: fichiers .pdf et .json)." + }, + "addStyleLabel": { + "message": "Créer un nouveau style" + }, + "addStyleTitle": { + "message": "Ajouter un style" + }, + "alphaChannel": { + "message": "Opacité" + }, + "appliesAdd": { + "message": "Ajouter" + }, + "appliesDisplay": { + "message": "S'applique à : $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "et bien plus encore" + }, + "appliesDomainOption": { + "message": "URL sur le domaine" + }, + "appliesHelp": { + "message": "Utilisez l'option « S'applique à » pour préciser les URL auxquelles le code de cette section s'applique." + }, + "appliesLabel": { + "message": "S'applique à" + }, + "appliesLineWidgetLabel": { + "message": "Afficher les informations « s’applique à »" + }, + "appliesLineWidgetWarning": { + "message": "Ne fonctionne pas avec le CSS minifié" + }, + "appliesRegexpOption": { + "message": "URL correspondant à l'expression régulière" + }, + "appliesRemove": { + "message": "Supprimer" + }, + "appliesRemoveError": { + "message": "Impossible de supprimer la dernière entrée « s’applique à »" + }, + "appliesSpecify": { + "message": "Préciser" + }, + "appliesToEverything": { + "message": "Tout" + }, + "appliesUrlPrefixOption": { + "message": "URL commençant par" + }, + "applyAllUpdates": { + "message": "Appliquer toutes les mises à jour" + }, + "author": { + "message": "Auteur" + }, + "backupButtons": { + "message": "Sauvegarde" + }, + "backupMessage": { + "message": "Sélectionner un fichier ou le glisser-déposer sur cette page" + }, + "bckpInstStyles": { + "message": "Exporter des styles" + }, + "checkAllUpdates": { + "message": "Rechercher des mises à jour" + }, + "checkAllUpdatesForce": { + "message": "Vérifiez à nouveau, je n’ai modifié aucun style !" + }, + "checkForUpdate": { + "message": "Rechercher une mise à jour" + }, + "checkingForUpdate": { + "message": "Vérification en cours…" + }, + "clickToUninstall": { + "message": "Cliquer pour désinstaller" + }, + "cm_autoCloseBrackets": { + "message": "Fermer automatiquement les caractères ouvrants" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Ajoute automatiquement le caractère fermant quand vous tapez le caractère ouvrant parmi ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Autocomplétion pendant la frappe" + }, + "cm_colorpicker": { + "message": "Sélecteur de couleur pour les couleurs CSS" + }, + "cm_indentWithTabs": { + "message": "Utiliser les tabulations avec indentation intelligente" + }, + "cm_keyMap": { + "message": "Raccourcis clavier" + }, + "cm_lineWrapping": { + "message": "Retour à la ligne automatique" + }, + "cm_linter": { + "message": "Vérificateur CSS" + }, + "cm_matchHighlight": { + "message": "Surligner" + }, + "cm_matchHighlightSelection": { + "message": "Sélection uniquement" + }, + "cm_matchHighlightToken": { + "message": "Entité sous le curseur" + }, + "cm_resizeGripHint": { + "message": "Double-cliquez pour maximiser/restaurer la taille" + }, + "cm_selectByTokens": { + "message": "Double-cliquer sélectionne des entités" + }, + "cm_selectByTokensTooltip": { + "message": "Exemples d’entités : .foo-bar-2 #aabbcc 0.32 !important\nSi désactivé : les mots délimités par la ponctuation sont sélectionnés." + }, + "cm_smartIndent": { + "message": "Utiliser l'indentation intelligente" + }, + "cm_tabSize": { + "message": "Taille des tabulations" + }, + "cm_theme": { + "message": "Thème" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Changer de format : HEX → RGB → HSL.\nMaj-clic pour inverser la direction.\nÉgalement via les touches ⇞ (Page précédente), \f (Page précédente)." + }, + "colorpickerTooltip": { + "message": "Ouvrir le sélecteur de couleurs" + }, + "configOnChange": { + "message": "automatique" + }, + "configOnChangeTooltip": { + "message": "Sauvegarde et applique les changements automatiquement" + }, + "configureStyle": { + "message": "Configurer" + }, + "configureStyleOnHomepage": { + "message": "Configurer sur la page d’accueil" + }, + "confirmCancel": { + "message": "Annuler" + }, + "confirmClose": { + "message": "Fermer" + }, + "confirmDefault": { + "message": "Réglage par défaut" + }, + "confirmDelete": { + "message": "Supprimer" + }, + "confirmDiscardChanges": { + "message": "Annuler les changements ?" + }, + "confirmNo": { + "message": "Non" + }, + "confirmOK": { + "message": "Valider" + }, + "confirmSave": { + "message": "Enregistrer" + }, + "confirmStop": { + "message": "Arrêt " + }, + "confirmYes": { + "message": "Oui" + }, + "connectingDropbox": { + "message": "Connexion à Dropbox…" + }, + "connectingDropboxNotAllowed": { + "message": "La connexion à Dropbox est disponible uniquement dans les applications installées directement depuis le Web Store." + }, + "copied": { + "message": "Copié dans le presse-papier" + }, + "copy": { + "message": "Copier dans le presse-papier" + }, + "dateInstalled": { + "message": "Date d'installation" + }, + "dateUpdated": { + "message": "Date de mise à jour" + }, + "dbError": { + "message": "Une erreur s'est produite dans la base de donnée de Stylus. Voulez-vous visiter une page web avec les solutions possibles ?" + }, + "defaultTheme": { + "message": "défaut" + }, + "deleteStyleConfirm": { + "message": "Voulez-vous vraiment supprimer ce style ?" + }, + "deleteStyleLabel": { + "message": "Supprimer" + }, + "description": { + "message": "Changez l'apparence du Web grâce à Stylus, un outil de gestion des styles utilisateur. Stylus vous permet d'installer facilement des thèmes et des habillages pour Google, Facebook, YouTube, orkut et bien d'autres sites encore." + }, + "disableAllStyles": { + "message": "Désactiver tous les styles" + }, + "disableStyleLabel": { + "message": "Désactiver" + }, + "dragDropMessage": { + "message": "Glisser votre fichier de sauvegarde n’importe où sur cette page pour l’importer." + }, + "dragDropUsercssTabstrip": { + "message": "Pour installer le fichier, glisser le fichier sur la barre des onglets (la zone où les titres des onglets sont affichés)." + }, + "editDeleteText": { + "message": "Supprimer" + }, + "editGotoLine": { + "message": "Aller à la ligne (ou ligne:colonne)" + }, + "editStyleHeading": { + "message": "Modifier le style" + }, + "editStyleLabel": { + "message": "Modifier" + }, + "editStyleTitle": { + "message": "Modifier le style $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Activer" + }, + "excludeStyleByDomainLabel": { + "message": "Exclure le domaine actuel" + }, + "excludeStyleByUrlLabel": { + "message": "Exclure l’URL actuelle" + }, + "exportLabel": { + "message": "Exporter" + }, + "exportSavedSuccess": { + "message": "Fichier sauvegardé avec succès" + }, + "externalFeedback": { + "message": "Commentaires" + }, + "externalHomepage": { + "message": "Page d’accueil" + }, + "externalLink": { + "message": "Lien externe" + }, + "externalUsercssDocument": { + "message": "Documentation d'Usercss" + }, + "filteredStyles": { + "message": "$numShown$ montrés sur $numTotal$ au total", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Les filtres appliqués actuellement ne correspondent à aucun style" + }, + "findStyles": { + "message": "Trouver des styles" + }, + "findStylesForSite": { + "message": "Rechercher d'autres styles pour ce site" + }, + "findStylesInline": { + "message": "Dans la popup" + }, + "findStylesInlineTooltip": { + "message": "Affiche les résultats de recherche dans cette fenêtre" + }, + "genericAdd": { + "message": "Ajouter" + }, + "genericClone": { + "message": "Dupliquer" + }, + "genericDisabledLabel": { + "message": "Désactivé" + }, + "genericEnabledLabel": { + "message": "Activé" + }, + "genericError": { + "message": "Erreur" + }, + "genericHistoryLabel": { + "message": "Historique" + }, + "genericNext": { + "message": "Suivant" + }, + "genericPrevious": { + "message": "Précédent" + }, + "genericResetLabel": { + "message": "Ré-initialiser" + }, + "genericSavedMessage": { + "message": "Enregistré" + }, + "genericTitle": { + "message": "Titre" + }, + "genericUnknown": { + "message": "Inconnu(e)" + }, + "gettingStyles": { + "message": "Récupération de tous les styles…" + }, + "helpAlt": { + "message": "Aide" + }, + "helpKeyMapCommand": { + "message": "Saisissez un nom de commande" + }, + "helpKeyMapHotkey": { + "message": "Pressez un raccourci clavier" + }, + "hostDisabled": { + "message": "Cet hôte a été désactivé en raison d'un bogue dans la version actuelle du navigateur utilisé" + }, + "importAppendLabel": { + "message": "Ajouter au style" + }, + "importAppendTooltip": { + "message": "Ajouter le style importé au style actuel" + }, + "importLabel": { + "message": "Importer" + }, + "importReplaceLabel": { + "message": "Remplacer le style" + }, + "importReplaceTooltip": { + "message": "Abandonner le contenu du style actuel et le remplacer par le style importé" + }, + "importReportLegendAdded": { + "message": "ajouté(s)" + }, + "importReportLegendIdentical": { + "message": "identiques ignorés" + }, + "importReportLegendInvalid": { + "message": "invalides ignorés" + }, + "importReportLegendUpdatedBoth": { + "message": "codes et méta-informations mis à jour" + }, + "importReportLegendUpdatedCode": { + "message": "codes mis à jour" + }, + "importReportLegendUpdatedMeta": { + "message": "méta-informations mises à jour" + }, + "importReportTitle": { + "message": "Import des styles terminé" + }, + "importReportUnchanged": { + "message": "Rien n’a changé." + }, + "importReportUndone": { + "message": "styles sont revenus à leur version antérieure" + }, + "importReportUndoneTitle": { + "message": "L’import a été annulé" + }, + "installButton": { + "message": "Installer le style" + }, + "installButtonInstalled": { + "message": "Style installé" + }, + "installButtonReinstall": { + "message": "Ré-installer le style" + }, + "installButtonUpdate": { + "message": "Mettre à jour le style" + }, + "installUpdate": { + "message": "Installer la mise à jour" + }, + "installUpdateFrom": { + "message": "Le style est actuellement mis à jour depuis $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Rechercher les mises à jour" + }, + "license": { + "message": "Licence" + }, + "linkGetHelp": { + "message": "Consulter l'aide" + }, + "linkGetStyles": { + "message": "Obtenir des styles" + }, + "linkTranslate": { + "message": "Traduire" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint ne prend pas en charge le préprocesseur $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Valeur des règles : 0 = désactivé, 1 = avertissement, 2 = erreur)" + }, + "linterConfigPopupTitle": { + "message": "Configurer les règles de $linter$", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Cliquez pour configurer ce vérificateur" + }, + "linterInvalidConfigError": { + "message": "Non sauvegardé à cause de ces paramètres invalides :" + }, + "linterIssues": { + "message": "Problèmes" + }, + "linterIssuesHelp": { + "message": "Ces problèmes ont été trouvés par $link$ :", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Format JSON invalide" + }, + "linterResetMessage": { + "message": "Pour annuler une réinitialisation accidentelle, faites Ctrl-Z (ou Cmd-Z) dans la zone de texte" + }, + "linterRulesLink": { + "message": "Voir la liste complète des règles" + }, + "liveReloadError": { + "message": "Une erreur est survenue durant la surveillance du fichier" + }, + "liveReloadInstallHint": { + "message": "Gardez cet onglet ouvert pour mettre à jour le style automatiquement basé sur les modifications extérieures." + }, + "liveReloadInstallHintFF": { + "message": "Gardez cet onglet ouvert ainsi que l´onglet original pour mettre à jour le style automatiquement basé sur les modifications extérieures." + }, + "liveReloadLabel": { + "message": "Rechargement immédiat" + }, + "manageFavicons": { + "message": "Favicons dans la colonne « s’applique à »" + }, + "manageFaviconsGray": { + "message": "Grisés" + }, + "manageFaviconsHelp": { + "message": "Stylus utilise le service externe https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtres" + }, + "manageHeading": { + "message": "Styles installés" + }, + "manageMaxTargets": { + "message": "Nombre d’items « s’applique à »" + }, + "manageNewStyleAsUsercss": { + "message": "en tant que Usercss" + }, + "manageNewUI": { + "message": "Nouvelle disposition de l’UI de gestion" + }, + "manageOnlyDisabled": { + "message": "Seulement les styles désactivés" + }, + "manageOnlyEnabled": { + "message": "Seulement les styles activés" + }, + "manageOnlyExternal": { + "message": "Seulement les styles externes" + }, + "manageOnlyLocal": { + "message": "Seulement les styles créés localement" + }, + "manageOnlyLocalTooltip": { + "message": "(les styles non installés via une page userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Styles non Usercss uniquement" + }, + "manageOnlyUpdates": { + "message": "Avec mises à jour ou problèmes uniquement" + }, + "manageOnlyUsercss": { + "message": "Styles Usercss uniquement" + }, + "menuShowBadge": { + "message": "Montrer le nombre de styles actifs" + }, + "meta_invalidCheckboxDefault": { + "message": "Case à cocher @var invalide : la valeur doit être 0 ou 1" + }, + "meta_invalidColor": { + "message": "Couleur @var invalide : $color$ n’est pas une couleur", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Nombre attendu" + }, + "meta_invalidRange": { + "message": "@var $type$ invalide : la valeur doit être un nombre ou un tableau", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "@var $type$ invalide : la valeur par défaut est null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "@var $type$ invalide : la valeur par défaut est au-dessus du maximum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "@var $type$ invalide : la valeur par défaut est en dessous du minimum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "@var $type$ invalide : plusieurs unités sont définies", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "@var $type$ invalide : la valeur par défaut n’est pas un multiple du pas", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "@var $type$ invalide : le tableau contient trop d’items", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "@var $type$ invalide : '$units$' n’est pas une unité valide", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "@var $type$ invalide : les items dans le tableau doivent être des nombres, chaines de caractères ou null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "@var select invalide : la valeur par défaut doit être un tableau ou un objet" + }, + "meta_invalidSelectEmptyOptions": { + "message": "@var select invalide : la liste d’options est vide" + }, + "meta_invalidSelectLabel": { + "message": "@var select invalide : le label de l’option est vide" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "@var select invalide : plusieurs options par défaut sont définies" + }, + "meta_invalidSelectNameDuplicated": { + "message": "@var select invalide : nom d’option dupliqué" + }, + "meta_invalidSelectValue": { + "message": "@var select invalide : les valeurs dans le tableau/objet doivent être des chaines de caractères" + }, + "meta_invalidSelectValueMismatch": { + "message": "@var select invalide : la valeur n’existe pas dans la liste d’options" + }, + "meta_invalidString": { + "message": "Chaine entre guillemets attendue" + }, + "meta_invalidURLProtocol": { + "message": "Protocole de l’URL invalide. Seuls http et https sont autorisés : $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Numéro de version invalide. La valeur ne correspond pas au motif SemVer : $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Mot attendu" + }, + "meta_missingChar": { + "message": "Caractères attendus : $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Données EOT attendues" + }, + "meta_missingMandatory": { + "message": "Métadonnée obligatoire manquante: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "JSON invalide : $literal$ n’est pas une valeur JSON valide", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Métadonnée inconnue: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "@preprocessor inconnu: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Type @$varkey$ inconnu : $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Pour importer vos styles, vous devez d’abord les exporter." + }, + "noStylesForSite": { + "message": "Aucun style n'est installé pour ce site." + }, + "openManage": { + "message": "Gestion" + }, + "openStylesManager": { + "message": "Ouvrir le gestionnaire de styles" + }, + "optionsAdvanced": { + "message": "Avancé" + }, + "optionsAdvancedContextDelete": { + "message": "Ajouter « Supprimer » dans le menu contextuel de l’extension" + }, + "optionsAdvancedExposeIframes": { + "message": "Exposer les iframes via HTML[stylus-iframe]" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Expose le domaine principal dans chaque iframe.\nPermet d’écrire du CSS spécifique aux iframe tel que :\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Écrire un nouveau style en tant que usercss" + }, + "optionsBadgeDisabled": { + "message": "Couleur d'arrière plan si désactivé" + }, + "optionsBadgeNormal": { + "message": "Couleur d'arrière plan" + }, + "optionsCheck": { + "message": "Mettre à jour les styles" + }, + "optionsCheckUpdate": { + "message": "Vérifier et installer toutes les mises à jour disponibles" + }, + "optionsCustomizeBadge": { + "message": "Badge sur l’icône de la barre d’outils" + }, + "optionsCustomizeIcon": { + "message": "Icône de la barre d’outils" + }, + "optionsCustomizeSync": { + "message": "Synchroniser dans le nuage" + }, + "optionsCustomizeUpdate": { + "message": "Mises à jour" + }, + "optionsIconDark": { + "message": "Thème foncé" + }, + "optionsIconLight": { + "message": "Thème clair" + }, + "optionsOpen": { + "message": "Ouvrir" + }, + "optionsOpenManager": { + "message": "Gérer les styles" + }, + "optionsPopupWidth": { + "message": "Largeur de la popup (en pixels)" + }, + "optionsReset": { + "message": "Ré-initialiser les options" + }, + "optionsResetButton": { + "message": "Ré-initialiser les options" + }, + "optionsSubheading": { + "message": "Plus de paramètres" + }, + "optionsSyncConnect": { + "message": "Connecter" + }, + "optionsSyncDisconnect": { + "message": "Disconnecter" + }, + "optionsSyncLogin": { + "message": "Se connecter" + }, + "optionsSyncNone": { + "message": "Aucun" + }, + "optionsSyncStatusConnected": { + "message": "Connecté" + }, + "optionsSyncStatusConnecting": { + "message": "Connection..." + }, + "optionsSyncStatusDisconnected": { + "message": "Disconnecté" + }, + "optionsSyncStatusDisconnecting": { + "message": "Disconnection..." + }, + "optionsSyncStatusPull": { + "message": "Récupération du style $loaded$de $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "Application du style $loaded$ de $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusSyncing": { + "message": "Synchronisation..." + }, + "optionsSyncSyncNow": { + "message": "Synchroniser maintenant" + }, + "optionsUpdateImportNote": { + "message": "Quand vous importez des sauvegardes de style d’une ancienne version ou de Stylish, faites une vérification manuellement pour vous assurez que tous les styles sont à jour." + }, + "optionsUpdateInterval": { + "message": "Intervalle de mise à jour automatique des styles utilisateur en heures (spécifier 0 pour désactiver)" + }, + "overwriteFileExport": { + "message": "Voulez-vous écraser un fichier existant ?" + }, + "paginationCurrent": { + "message": "Page courante" + }, + "paginationEstimated": { + "message": "Nombre de pages estimé" + }, + "paginationNext": { + "message": "Page suivante" + }, + "paginationPrevious": { + "message": "Page précédente" + }, + "paginationTotal": { + "message": "Pages au total" + }, + "parseUsercssError": { + "message": "Stylus a échoué à parser le usercss :" + }, + "popupAutoResort": { + "message": "Retrier les styles dans la popup à chaque (dés)activation" + }, + "popupBorders": { + "message": "Ajouter des bordures blanches sur les côtés" + }, + "popupBordersTooltip": { + "message": "Utile pour les thèmes sombres dans le nouveau Chrome qui ne décore plus les bordures sur les côtés" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, aussi sur le pavé numérique - (dés)active le Nième style (0 correspond à 10)\n- (dés)active le 1er style avec un nom qui commence par la lettre\n ouvre l’éditeur au lieu de (dés)activer\n active les styles listés\n désactive les styles listés\n et <`> (accent grave) — désactive les styles initialement activés ; ne s’applique pas aux styles activés ensuite pendant que la popup est ouverte pour que vous puissiez restaurer la sélection initiale après avoir tester des choses : désactive simplement tout, puis (dés)active par ex. \nPlus d’informations sur le wiki" + }, + "popupHotkeysTooltip": { + "message": "Cliquez pour voir les raccourcis clavier disponibles" + }, + "popupManageTooltip": { + "message": "Maj-clic ou clic droit ouvre le gestionnaire avec les styles applicables au site courant." + }, + "popupMenuButtonTooltip": { + "message": "Actions" + }, + "popupOpenEditInWindow": { + "message": "Ouvrir l'éditeur dans une nouvelle fenêtre" + }, + "popupOpenEditInWindowTooltip": { + "message": "Également activé en détachant l’onglet de l’éditeur depuis une fenêtre du navigateur,\net désactivé en attachant un unique onglet de l’éditeur dans une autre fenêtre." + }, + "popupStylesFirst": { + "message": "List styles before commands in the toolbar button menu" + }, + "prefShowBadge": { + "message": "Afficher le nombre de styles actifs pour le site actuel sur le boutton Stylus" + }, + "previewLabel": { + "message": "Prévisualiser en direct" + }, + "previewTooltip": { + "message": "Applique temporairement les changements sans sauvegarder.\nSauvegarde le style pour rendre les changements permanents." + }, + "readingStyles": { + "message": "Lecture des styles…" + }, + "reload": { + "message": "Recharger l´extension Stylus" + }, + "replace": { + "message": "Remplacer" + }, + "replaceAll": { + "message": "Tout remplacer" + }, + "replaceWith": { + "message": "Remplacer par" + }, + "retrieveBckp": { + "message": "Importer des styles" + }, + "retrieveDropboxSync": { + "message": "Importer depuis Dropbox" + }, + "search": { + "message": "Rechercher" + }, + "searchCaseSensitive": { + "message": "Sensible à la casse" + }, + "searchNumberOfResults": { + "message": "Nombre de correspondances" + }, + "searchNumberOfResults2": { + "message": "Nombre de correspondances dans le code et les valeurs « s’applique à »" + }, + "searchRegexp": { + "message": "Utilisez la syntaxe /re/ pour rechercher par regexp" + }, + "searchResultInstallCount": { + "message": "Total d'installations" + }, + "searchResultNoneFound": { + "message": "Aucun style trouvé pour ce site" + }, + "searchResultRating": { + "message": "Note" + }, + "searchResultUpdated": { + "message": "Mis à jour" + }, + "searchResultWeeklyCount": { + "message": "Installations hebdomadaires" + }, + "sectionAdd": { + "message": "Ajouter une section" + }, + "sectionRemove": { + "message": "Supprimer la section" + }, + "sectionRestore": { + "message": "Restaurer la section supprimée" + }, + "shortcuts": { + "message": "Raccourcis" + }, + "shortcutsNote": { + "message": "Définir les raccourcis clavier" + }, + "sortDateNewestFirst": { + "message": "les plus récents en premier" + }, + "sortDateOldestFirst": { + "message": "les plus anciens en premier" + }, + "sortLabel": { + "message": "Choisissez un tri à appliquer aux styles installés" + }, + "sortLabelTitleAsc": { + "message": "Titre croissant" + }, + "sortLabelTitleDesc": { + "message": "Titre décroissant" + }, + "sortStylesHelp": { + "message": "Choisir le type de tri à appliquer aux entrées installées à l’intérieur du menu de tri. La configuration par défaut applique un tri croissant (de A à Z) aux titres des entrées. Le tri « Titre décroissant » va appliquer un tri décroissant (de Z à A) aux titres.\nIl y a d’autres préréglages qui vous permettent de trier les entrées par de multiples critères. Pensez à ça comme trier un tableau avec de multiples colonnes et chaque catégorie dans une sélection (entre les signes plus) représente une colonne, ou groupe.\nPar exemple, si le paramètre est « Activé (en premier) + Titre », les entrées vont être triées de telle sorte que les entrées activées sont triées en haut de la liste, puis un tri croissant (de A à Z) est appliqué séparément sur les titres des entrées activées et des entrées désactivées." + }, + "sortStylesHelpTitle": { + "message": "Trier les contenus" + }, + "styleBadRegexp": { + "message": "Le Regexp est éronné" + }, + "styleBeautify": { + "message": "Embellir " + }, + "styleBeautifyIndentConditional": { + "message": "Indenter @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Conserver les sauts de ligne" + }, + "styleCancelEditLabel": { + "message": "Retour à la gestion" + }, + "styleChangesNotSaved": { + "message": "Vous avez apporté des modifications à ce style sans les enregistrer." + }, + "styleEnabledLabel": { + "message": "Activé" + }, + "styleFromMozillaFormatError": { + "message": "Échec de l'importation depuis le format Mozilla" + }, + "styleFromMozillaFormatPrompt": { + "message": "Coller le code au format Mozilla" + }, + "styleInstall": { + "message": "Installer \"$stylename$\" dans Stylus ?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Échec de l’installation du style utilisateur !\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "\"$stylename$\" est déjà installé. L'écraser ?\nVersion : $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Veuillez saisir un nom" + }, + "styleMozillaFormatHeading": { + "message": "Format Mozilla" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Le style n'a pu s'appliquer en raison d'une utilisation erronée de 'regexp()'" + }, + "styleRegexpInvalidExplanation": { + "message": "Quelques règles 'regexp()' qui n’ont pas pu être compilées" + }, + "styleRegexpPartialExplanation": { + "message": "Ce style utilise des regexps correspondant partiellement en violation de la spécification CSS4 @document qui demande une correspondance totale de l’URL. Les sections de CSS affectées n’ont pas été appliquées à la page. Ce style a probablement été créé dans Stylish-for-Chrome qui vérifie mal les règles « regexp() » depuis sa toute première version (bug connu)." + }, + "styleRegexpProblemTooltip": { + "message": "Nombre de sections non appliquées à cause d’une utilisation incorrecte de 'regexp()'" + }, + "styleRegexpTestButton": { + "message": "Test d’expression rationnelle" + }, + "styleRegexpTestFull": { + "message": "Onglets correspondants" + }, + "styleRegexpTestInvalid": { + "message": "Expression rationnelle invalides ignorées" + }, + "styleRegexpTestNone": { + "message": "Aucun onglet correspondant" + }, + "styleRegexpTestNote": { + "message": "Note : utilisez un simple \\ pour échapper dans le champ de regexp, qui sera automatiquement converti en \\\\ dans le code conformément à la spécification des chaines citées en CSS." + }, + "styleRegexpTestPartial": { + "message": "Correspondance partielle, donc ignorée" + }, + "styleRegexpTestTitle": { + "message": "Liste d’onglets ouverts correspondants (cliquez sur l’URL pour focaliser son onglet)" + }, + "styleSaveLabel": { + "message": "Enregistrer" + }, + "styleToMozillaFormatHelp": { + "message": "Le code au format Mozilla peut être utilisé dans Stylish for Firefox et envoyé à userstyles.org." + }, + "styleToMozillaFormatTitle": { + "message": "Style au format Mozilla" + }, + "styleUpdate": { + "message": "Voulez-vous mettre à jour « $stylename$ » ?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Le style a été changé en dehors de l’éditeur. Voulez-vous recharger le style ?" + }, + "stylusUnavailableForURL": { + "message": "Stylus ne fonctionne pas sur les pages de ce genre" + }, + "stylusUnavailableForURLdetails": { + "message": "Par mesure de sécurité, le navigateur interdit aux extensions d’affecter ses pages internes (comme chrome://version, la page nouvel onglet standard de Chrome 61, about:addons, etc.) ainsi que les pages d’autres extensions. Chaque navigateur restreint également l’accès à sa propre galerie d’extensions (tel que le Chrome Web Store ou AMO)." + }, + "syncDropboxDeprecated": { + "message": "L´import/export Dropbox est remplacé par une méthode de synchronisation de styles plus avancés dans la page des options" + }, + "syncDropboxStyles": { + "message": "Exporter vers Dropbox" + }, + "syncStorageErrorSaving": { + "message": "La valeur ne peut pas être sauvegardée. Essayez de réduire la quantité de texte." + }, + "toggleStyle": { + "message": "(Dés)activer le style" + }, + "undo": { + "message": "Annuler" + }, + "undoGlobal": { + "message": "Tout annuler" + }, + "unreachableAMO": { + "message": "Firefox interdit l'accès pour ce site" + }, + "unreachableAMOHint": { + "message": "Pour autoriser l’accès, ouvrir , clic-droit sur la liste, cliquez sur « Nouvelle » puis « Valeur booléenne », coller et cliquer sur OK, , OK, et rechargez la page ." + }, + "unreachableAMOHintNewFF": { + "message": "Pour Firefox 60 et suivants, vous devez également supprimer le domaine AMO de dans ." + }, + "unreachableAMOHintOldFF": { + "message": "Seul Firefox 59 et supérieur peut être configuré pour autoriser les WebExtensions à ajouter des éléments de style sur des sites protégés par CSP comme celui-ci." + }, + "unreachableContentScript": { + "message": "Impossible de communiquer avec la page. Essayez de recharger l’onglet." + }, + "unreachableFileHint": { + "message": "Stylus peut accéder aux URL file:// uniquement si vous cochez la case correspondante pour l’extension Stylus sur la page chrome://extensions." + }, + "unzipStyles": { + "message": "Décompression des styles…" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Aucune mise à jour trouvée." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Certains styles pouvant être mis à jour n’ont pas été vérifiés pour éviter de perdre de potentiels modifications locales. Les mises à jour peuvent être forcées en vérifiant individuellement, ou en lançant une autre vérification pour tous les styles (les modifications locales seront perdues)." + }, + "updateCheckFailBadResponseCode": { + "message": "Échec de la mise à jour: le serveur a renvoyé le code $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Échec de la mise à jour: le serveur est inaccessible." + }, + "updateCheckHistory": { + "message": "Historique des vérifications de mises à jour" + }, + "updateCheckManualUpdateForce": { + "message": "Installer les mises à jour (les modifications locales seront écrasées)" + }, + "updateCheckManualUpdateHint": { + "message": "Forcer une mise à jour écrasera les modifications faites localement." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Ce style a été modifié localement" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Ce style a peut-être été modifié localement." + }, + "updateCheckSucceededNoUpdate": { + "message": "Le style est à jour." + }, + "updateCompleted": { + "message": "Mise à jour terminée." + }, + "updatesCurrentlyInstalled": { + "message": "Mises à jour installées :" + }, + "uploadingFile": { + "message": "Envoi du fichier…" + }, + "usercssAvoidOverwriting": { + "message": "Veuillez changer la valeur de @name ou @namespace afin d'éviter d'écraser un style pré-existant." + }, + "usercssConfigIncomplete": { + "message": "Le style a été mis à jour ou supprimer après l’apparition du dialogue de confirmation. Ces variables n’ont pas été sauvegardées pour éviter de corrompre les métadonnées du style :" + }, + "usercssEditorNamePlaceholder": { + "message": "Spécifiez @name dans le code" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Remplacer le modèle par défaut pour les nouveaux styles Usercss par le code actuel ?" + }, + "usercssReplaceTemplateName": { + "message": "Un @name vide remplace le modèle par défaut" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insérer le code ici..." + }, + "versionInvalidOlder": { + "message": "La version est antérieure à celle déjà installée." + }, + "writeStyleFor": { + "message": "Écrire un style pour :" + }, + "writeStyleForURL": { + "message": "cette URL" + }, + "zipStyles": { + "message": "Compression des styles…" + } +} diff --git a/_locales/fy/messages.json b/_locales/fy/messages.json index 7f9feee0..e186fc6a 100644 --- a/_locales/fy/messages.json +++ b/_locales/fy/messages.json @@ -1,1586 +1,97 @@ { - "addStyleTitle": { - "message": "Styl tafoegje", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Tafoegje", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Fan tapassing op: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "en mear", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL’s op it domein", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Brûk de ‘Fan tapassing op’-funksjes om de URL’s foar de koade yn dizze seksje te beheinen.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Fan tapassing op", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL’s oerienkommend mei de regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Fuortsmite", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Spesifisearje", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alles", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL’s begjinnend mei", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Alle fernijingen tapasse", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Alle stilen kontrolearje op fernijingen", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Kontrolearje op fernijing", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrolearje...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Ljepblêden mei tûke ynspringing brûke", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Toetseboerdyndieling", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Teksttebekrin", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Tûke ynspringing brûke", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Ljepblêdgrutte", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nee", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stoppe", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Der is in flater bard by it brûken fan de Stylus-database. Wolle jo in webside mei mooglike oplossingen besykje?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "standert", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Binne jo wis dat jo dizze styl fuortsmite wolle?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Fuortsmite", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disable", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit Style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Enable", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Help", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installed Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Nije styl skriuwe", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Nije styl skriuwe" + }, + "addStyleTitle": { + "message": "Styl tafoegje" + }, + "appliesAdd": { + "message": "Tafoegje" + }, + "appliesDisplay": { + "message": "Fan tapassing op: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "en mear" + }, + "appliesDomainOption": { + "message": "URL’s op it domein" + }, + "appliesHelp": { + "message": "Brûk de ‘Fan tapassing op’-funksjes om de URL’s foar de koade yn dizze seksje te beheinen." + }, + "appliesLabel": { + "message": "Fan tapassing op" + }, + "appliesRegexpOption": { + "message": "URL’s oerienkommend mei de regexp" + }, + "appliesRemove": { + "message": "Fuortsmite" + }, + "appliesSpecify": { + "message": "Spesifisearje" + }, + "appliesToEverything": { + "message": "Alles" + }, + "appliesUrlPrefixOption": { + "message": "URL’s begjinnend mei" + }, + "applyAllUpdates": { + "message": "Alle fernijingen tapasse" + }, + "checkAllUpdates": { + "message": "Alle stilen kontrolearje op fernijingen" + }, + "checkForUpdate": { + "message": "Kontrolearje op fernijing" + }, + "checkingForUpdate": { + "message": "Kontrolearje..." + }, + "cm_indentWithTabs": { + "message": "Ljepblêden mei tûke ynspringing brûke" + }, + "cm_keyMap": { + "message": "Toetseboerdyndieling" + }, + "cm_lineWrapping": { + "message": "Teksttebekrin" + }, + "cm_smartIndent": { + "message": "Tûke ynspringing brûke" + }, + "cm_tabSize": { + "message": "Ljepblêdgrutte" + }, + "cm_theme": { + "message": "Tema" + }, + "confirmNo": { + "message": "Nee" + }, + "confirmStop": { + "message": "Stoppe" + }, + "confirmYes": { + "message": "Ja" + }, + "dbError": { + "message": "Der is in flater bard by it brûken fan de Stylus-database. Wolle jo in webside mei mooglike oplossingen besykje?" + }, + "defaultTheme": { + "message": "standert" + }, + "deleteStyleConfirm": { + "message": "Binne jo wis dat jo dizze styl fuortsmite wolle?" + }, + "deleteStyleLabel": { + "message": "Fuortsmite" + } +} diff --git a/_locales/gl/messages.json b/_locales/gl/messages.json index 01d1b942..2f3b1c55 100644 --- a/_locales/gl/messages.json +++ b/_locales/gl/messages.json @@ -1,1586 +1,52 @@ { - "addStyleTitle": { - "message": "Engadir Estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidade", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Engadir", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplica a: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "e mais", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs no dominio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Aplica para", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Non funciona con CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs que concorden co regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Suprimir", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Todo", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs que comecen por", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar tódalas actualizacións", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Check all styles for updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Check for update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Checking...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Are you sure you want to delete this style?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Delete", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disable", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit Style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Enable", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Help", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installed Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Write new style", - "description": "Label for the button to go to the add style page" + "addStyleTitle": { + "message": "Engadir Estilo" + }, + "alphaChannel": { + "message": "Opacidade" + }, + "appliesAdd": { + "message": "Engadir" + }, + "appliesDisplay": { + "message": "Aplica a: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "e mais" + }, + "appliesDomainOption": { + "message": "URLs no dominio" + }, + "appliesLabel": { + "message": "Aplica para" + }, + "appliesLineWidgetWarning": { + "message": "Non funciona con CSS minificado" + }, + "appliesRegexpOption": { + "message": "URLs que concorden co regexp" + }, + "appliesRemove": { + "message": "Suprimir" + }, + "appliesSpecify": { + "message": "Especificar" + }, + "appliesToEverything": { + "message": "Todo" + }, + "appliesUrlPrefixOption": { + "message": "URLs que comecen por" + }, + "applyAllUpdates": { + "message": "Aplicar tódalas actualizacións" + }, + "author": { + "message": "Autor" + } +} diff --git a/_locales/he/messages.json b/_locales/he/messages.json index 3474f250..a41eb011 100644 --- a/_locales/he/messages.json +++ b/_locales/he/messages.json @@ -1,1586 +1,1055 @@ { - "addStyleTitle": { - "message": "הוסף עיצוב", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "שקיפות", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "הוסף", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "חל על: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "עוד", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "קישורים תחת הדומיין", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "השתמש בהגדרות 'חל על' כדי להגביל את כתובות האתרים שהקוד בסעיף זה חל עליהם.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "חל על", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "הצג אינפורמציית 'חל על'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "לא עובד עם CSS מוקטן (minified)", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "קישורים התואמים את ה־regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "הסר", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "לא ניתן להסיר את הערך 'חל על' האחרון", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "פרט", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "כל האתרים", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "כתובת אתר", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "קישורים המתחילים ב", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "החל את כל העדכונים", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "מחבר", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "גיבוי", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "בחר קובץ או גרור ושחרר אותו בדף זה.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "ייצא עיצובים", - "description": "" - }, - "checkAllUpdates": { - "message": "בדוקים עדכונים עבור כל העיצובים", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "בדוק שוב, לא ערכתי אף עיצוב!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "בדוק עדכונים", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "בודק...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "הקלק להסרה", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "סגור באופן אוטומטי סוגריים וגרשיים", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "הוסף סוגר באופן אוטומטי כשמקלידים את אחת מהפותחים של ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "השלמה אוטומטית בזמן הכתיבה", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "פלטות בחירת צבעים עבור צבעי CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "השתמש בטאבים יחד עם הזחה חכמה", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "מפת מקשים", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "עטיפת מילים", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "עורך שגיאות CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "הדגש", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "בחירה בלבד", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "תג תחת הסמן", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "דאבל קליק להגדלה מירבית/איפוס הגובה", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "דאבל קליק בוחר תגים", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "דוגמאות לתגים: .foo-bar-2 #aabbcc 0.32 !important\nבמצב מושבת: נבחרות מילים המופרדות בין פיסוק.", - "description": "" - }, - "cm_smartIndent": { - "message": "השתמש בהזחה חכמה", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "גודל הכרטיסייה", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "ערכת נושא", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "החלף פורמטים: HEX -> RGB -> HSL.\nלחץ Shift כדי להפוך את הכיוון.\nגם באמצעות מקשי PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "פתח את פלטת בחירת הצבעים", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "בעת שינוי", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "שמור והחל שינויים באופן אוטומטי", - "description": "" - }, - "configureStyle": { - "message": "הגדר", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "הגדר בדף הבית", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "ביטול", - "description": "" - }, - "confirmClose": { - "message": "סגור", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "השתמש בברירת מחדל", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "מחיקה", - "description": "" - }, - "confirmDiscardChanges": { - "message": "למחוק את השינויים?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "לא", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "אוקיי", - "description": "" - }, - "confirmSave": { - "message": "שמור", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "עצור", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "כן", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "הועתק אל לוח ההעתקה", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "העתק אל לוח ההעתקה", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "תאריך התקנה", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "תאריך עדכון", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "אירעה שגיאה בשימוש במסד הנתונים של Stylus. האם ברצונך לבקר בדף אינטרנט עם פתרונות אפשריים?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "ברירת מחדל", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "האם אתה בטוח שברצונך למחוק עיצוב זה?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "מחק", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "עיצוב מחדש של האינטרנט באמצעות Stylus, מנהל סגנונות משתמש. Stylus מאפשר לך להתקין בקלות עיצובים וערכות נושא עבור אתרים פופולריים רבים.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "השבת את כל העיצובים", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "השבת", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "שחרר את קובץ הגיבוי שלך בכל מקום בדף זה על־מנת לייבא אותו.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "מחק", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "גש לשורה (או line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "ערוך עיצוב", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "ערוך", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "עריכת העיצוב $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "אפשר", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "אל תכלול את הדומיין הנוכחי", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "אל תכלול את כתובת האתר הנוכחית", - "description": "" - }, - "exportLabel": { - "message": "ייצא", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "חוות דעת", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "דף הבית", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "קישור חיצוני", - "description": "Label for external links" - }, - "externalSupport": { - "message": "תמיכה", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "תיעוד ל־Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ מתוך $numTotal$ סך־הכל", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "מסננים שהוחלו כעת אינם תואמים עיצובים", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "מצא עיצובים", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "מצא סגנונות נוספים לאתר זה", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "מוטבע", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "הצג תוצאות חיפוש בחלון זה.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "הוספה", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "שכפול", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "מושבת", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "מאופשר", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "שגיאה", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "היסטוריה", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "הבא", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "הקודם", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "איפוס", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "נשמר", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "כותרת", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "לא ידוע", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "עזרה", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "הקלד שם פקודה", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "לחץ על המקש החם", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "מארח זה הושבת בגלל באג בגרסה הנוכחית של הדפדפן בו נעשה שימוש", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "צרף לעיצוב", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "צרף את העיצוב המיובא לעיצוב הנוכחי", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "ייבא", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "דרוס עיצוב", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "הסר את התוכן של הסגנון הנוכחי והחלף אותו עם העיצוב המיובא", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "נוספו", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "זהה דולג", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "לא חוקי דולג", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "מטא דאטה והקוד עודכנו", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "קודים עודכנו", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "מטא דאטה עודכן", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "סיום ייבוא עיצובים", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "שום דבר לא השתנה.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "עיצובים הוחזרו", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "הייבוא בוטל", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "התקן עיצוב", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "העיצוב הותקן בהצלחה", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "התקן עיצוב מחדש", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "עדכן עיצוב", - "description": "Label for update button" - }, - "installUpdate": { - "message": "התקן עדכון", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "נכון לעכשיו הסגנון מעודכן מ־ $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "בדוק עדכונים", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "רישיון", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "קבל עזרה", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "מצא עיצובים", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "תרגום", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "עורך שגיאות ה־CSS אינו תומך ב־ $preprocessorname$ כמעבד מקדים", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(הגדר כלל כ: 0 = מושבת; 1 = אזהרה; 2 = שגיאה)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "הגדר $linter$ כללי תצורה", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "לחץ להגדרת linter זה", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "לא נשמר עקב הגדרות תצורה לא חוקיות אלה:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "תקלות", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "התקלות האלו נמצאו על־ידי $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "פורמט JSON לא תקין", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "על־מנת לבטל איפוסים לא רצוניים, לחץ Ctrl-Z (או Cmd-Z) בתיבת הטקסט", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "ראה רשימת חוקים מלאה", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "התרחשה שגיאה בזמן הצפייה בקובץ", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "רענון לייב (live)", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "הצגת אייקונים בעמודת 'חל על'", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "האפרת האייקונים", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus משתמש בשירות חיצוני https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "מסננים", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "עיצובים מותקנים", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "מספר הפריטים ה־'מוחלים על'", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "כ־Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "פריסת ממשק משתמש ניהול חדשה", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "רק עיצובים מושבתים", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "רק עיצובים מאופשרים", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "רק עיצובים חיצוניים", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "רק עיצובים שנוצרו באופן מקומי", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(הסגנונות שלא הותקנו דרך דף userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "רק לא עיצובי Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "רק עם עדכונים או תקלות", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "רק עיצובי Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "הצג כמות עיצובים מאופשרים", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "תיבת סימון @var לא חוקית: הערך חייב להיות 0 או 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "נדרש מספר", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "נדרשת מחרוזת בתוך גרשיים", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "נדרשת מילה", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "נדרשים תווים: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "נדרש מידע EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "לא הותקנו עיצובים עבור אתר זה.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "ניהול", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "אפשרויות", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "פתח את מנהל העיצובים", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "פעולות", - "description": "" - }, - "optionsAdvanced": { - "message": "מתקדם", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "הוספת 'מחק' בתפריט העורך", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "חשוף iframes באמצעות HTML [stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "חושף את תחום האתר העליון בכל iframe.\nמאפשר כתיבת CSS ספציפית ל־iframe כך:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "כתוב עיצוב חדש בתור usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "צבע רקע בעת השבתה", - "description": "" - }, - "optionsBadgeNormal": { - "message": "צבע רקע", - "description": "" - }, - "optionsCheck": { - "message": "עדכן עיצובים", - "description": "" - }, - "optionsCheckUpdate": { - "message": "בדוק והתקן את כל העדכונים הזמינים", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "תג על האייקון בסרגל הכלים", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "אייקון בסרגל הכלים", - "description": "" - }, - "optionsCustomizePopup": { - "message": "חלון קופץ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "עדכונים", - "description": "" - }, - "optionsCustomizeSync": { - "message": "סנכרון לענן", - "description": "" - }, - "optionsHeading": { - "message": "אפשרויות", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "ערכות נושא כהות לדפדפן", - "description": "" - }, - "optionsIconLight": { - "message": "ערכות נושא בהירות לדפדפן", - "description": "" - }, - "optionsOpen": { - "message": "פתח", - "description": "" - }, - "optionsOpenManager": { - "message": "נהל עיצובים", - "description": "" - }, - "optionsPopupWidth": { - "message": "רוחב החלון הקופץ (בפיקסלים)", - "description": "" - }, - "optionsReset": { - "message": "איפוס האפשרויות לערכי ברירת המחדל", - "description": "" - }, - "optionsResetButton": { - "message": "אפס אפשרויות", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "אפשרויות נוספות", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "בעת ייבוא גיבויים לסגנון מגרסה ישנה או מ־Stylish, בדוק באופן חד פעמי אם יש עדכונים באופן ידני במנהל הסגנונות כדי לוודא שכל הסגנונות מעודכנים.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "עדכון אוטומטי של Userstyle בשעות (הגדר 0 להשבתה)", - "description": "" - }, - "optionsSyncNone": { - "message": "ללא", - "description": "" - }, - "optionsSyncConnect": { - "message": "התחבר", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "התנתק", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "סנכרן כעת", - "description": "" - }, - "optionsSyncLogin": { - "message": "היכנס", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "מושך סגנון $loaded$ מתוך $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "מפרסם סגנון $loaded$ מתוך $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "מסנכרן...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "מתחבר...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "מחובר", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "מתנתק...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "מנותק", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "הדף הנוכחי", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "מספר דפים משוער", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "הדף הבא", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "הדף הקודם", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "סה״כ דפים", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus נכשל בניתוח usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "הוספת שוליים לבנים בצדדים", - "description": "" - }, - "popupBordersTooltip": { - "message": "שימושי לעיצובים כהים ב־Chrome החדש מכיוון שהוא כבר לא מצייר את גבולות הצד", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "לחץ על־מנת לצפות במקשים החמים הזמינים", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "לחיצה על Shift או מקש ימני בעכבר פותח את מנהל העיצובים", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "תפריט פעולות", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "פתח את העורך בחלון חדש", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "מופעל גם על ידי ניתוק לשונית העורך מחלון הדפדפן,\nומושבת על ידי חיבור לשונית עורך יחידה לחלון אחר.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "עיצובים לפני הפקודות", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "מספר העיצובים המאופשרים באתר הנוכחי", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "תצוגת לייב (live)", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "החלת השינויים באופן זמני ללא שמירה.\nשמור את העיצוב על־מנת להפוך את השינויים לקבועים.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "טען מחדש את Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "החלף", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "החלף הכל", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "החלף עם", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "ייבוא עיצובים", - "description": "" - }, - "search": { - "message": "חיפוש", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "רגיש לאותיות גדולות/קטנות", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "מספר ההתאמות", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "מספר ההתאמות בקוד ובערכים ה'מוחלים על'", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "השתמש ב־/re/ לחיפוש באמצעות ביטוי regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "סה״כ התקנות", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "לא נמצאו עיצובים לאתר זה.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "דירוג", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "עודכן", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "התקנות שבועיות", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "הוסף מקטע נוסף", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "קוד", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "הסר סעיף", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "שחזר סעיף שהוסר", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "קיצורי מקשים", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "הגדר קיצורי מקשים", - "description": "" - }, - "sortDateNewestFirst": { - "message": "החדש ביותר ראשון", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "הישן ביותר ראשון", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "בחר שיטת מיון להחלה על העיצובים המותקנים", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "סידור תכנים", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "ביטוי ה־regexp לא תקין.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "ייפה CSS", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "הזחת @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "שמור שורות חדשות", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "חזרה לניהול", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "ביצעת שינויים בסגנון זה מבלי לשמור.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "מאופשר", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "הייבוא נכשל מ־Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "הדבק את הקוד ב־Mozilla-format", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "להתקין ';$stylename$' אל Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "נכשל בהתקנת העיצוב!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "';$stylename$' כבר מותקן. האם לדרוס?\nגרסה: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "הזן שם", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "הסגנון לא הוחל בגלל השימוש בו שגוי ב־'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "לא היה ניתן להחיל מספר כללי 'regexp()' כלל.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "סגנון זה משתמש ב- regexps תואם חלקית בניגוד למפרט CSS4 @document המצריך התאמה מלאה של כתובת אתר. קטעי ה־CSS המושפעים לא הוחלו על הדף. סגנון זה נוצר ככל הנראה ב־Stylish-for-Chrome שבודק באופן שגוי את כללי 'regexp()' מאז הגרסה הראשונה (באג ידוע).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "מספר המקטעים שלא הוחלו עקב שימוש שגוי ב־'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "בדוק RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "כרטיסיות תואמות", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "ביטוי regrxp לא תקין", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "לא תואם אף כרטיסייה", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "לא תואם לחלוטין, לכן דולג", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "רשימת לשוניות פתוחות בהתאמה (לחץ על כתובת אתר למיקוד הלשונית שלה)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "שמור", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "ניתן לפרסם את ה־Mozilla format של הקוד לאתר userstyles.org ולהשתמש בו עם Stylish הקלאסי עבור Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "עיצוב ב־Mozilla-format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "האם אתה בטוח שברצונך לעדכן את '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus לא עובד על דפים כמו זה.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "כאמצעי אבטחה, הדפדפן אוסר על הרחבות להשפיע על הדפים המובנים שלו (כמו chrome://version, הכרטיסייה החדשה הרגילה החל מ־Chrome 61, about:addons וכן הלאה), וכן על דפי הרחבות אחרים. כל דפדפן גם מגביל את הגישה לגלריית התוספים שלו (כמו חנות האינטרנט של Chrome או AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "הערך לא יכול להשמר. אנא נסה להקטין את גודל הטקסט.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "אפשר או השבת עיצוב", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "בטל", - "description": "Button label" - }, - "undoGlobal": { - "message": "בטל בכל הסעיפים", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox לא מאפשרת גישה לאתר זה.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "לא ניתן לתקשר עם הדף. אנא טען מחדש את הכרטיסייה.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus יכול לגשת לכתובות אתר file:// רק אם תיבת הסימון המתאימה עבור סיומת Stylus פעילה בדף chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "לא נמצאו עדכונים.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "כמה סגנונות הניתנים לעדכון לא נבדקו כדי להימנע מאבדן עריכות מקומיות אפשריות. ניתן לאלץ עדכונים על ידי בדיקה באופן פרטני, או על ידי הפעלת בדיקה אחרת לכל הסגנונות (עריכות מקומיות יידרסו).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "העדכון נכשל: השרת החזיר תגובה עם הקוד $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "העדכון נכשל: השרת לא זמין.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "היסטוריה של בדיקת עדכונים", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "התקן עדכון (עריכות מקומיות יידרסו)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "אילוץ עדכון ידרוס כל עריכה מקומית.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "עיצוב זה נערך באופן מקומי.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "ייתכן כי עיצוב זה נערך באופן מקומי.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "העיצוב מעודכן.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "העדכון הושלם.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "העדכונים הותקנו.", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "אנא שנה את הערך של @name or @namespace על־מנת להמנע מדריסה של עיצוב קיים.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "ציין @name בקוד", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "הכנס כאן קוד...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "הגרסה ישנה יותר מהעיצוב המותקן.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "כתוב עיצוב עבור: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "הקישור הנוכחי", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "ייצוא Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox ייבוא", - "description": "" - }, - "overwriteFileExport": { - "message": "האם ברצונך להחליף קובץ קיים?", - "description": "" - }, - "exportSavedSuccess": { - "message": "קובץ נשמר בהצלחה", - "description": "" - }, - "noFileToImport": { - "message": "כדי לייבא את הסגנונות שלך, עליך לייצא אותם תחילה.", - "description": "" - }, - "connectingDropbox": { - "message": "מתחבר אל Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "התחברות אל Dropbox זמינה רק בהרחבות המותקנות ישירות מחנות האינטרנט", - "description": "" - }, - "gettingStyles": { - "message": "טוען את כל העיצובים...", - "description": "" - }, - "zipStyles": { - "message": "מקבץ עיצובים...", - "description": "" - }, - "unzipStyles": { - "message": "מחלץ עיצובים...", - "description": "" - }, - "readingStyles": { - "message": "קורא עיצובים...", - "description": "" - }, - "uploadingFile": { - "message": "מעלה קובץ...", - "description": "" - }, - "addStyleLabel": { - "message": "כתוב עיצוב חדש", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "כתוב עיצוב חדש" + }, + "addStyleTitle": { + "message": "הוסף עיצוב" + }, + "alphaChannel": { + "message": "שקיפות" + }, + "appliesAdd": { + "message": "הוסף" + }, + "appliesDisplay": { + "message": "חל על: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "עוד" + }, + "appliesDomainOption": { + "message": "קישורים תחת הדומיין" + }, + "appliesHelp": { + "message": "השתמש בהגדרות 'חל על' כדי להגביל את כתובות האתרים שהקוד בסעיף זה חל עליהם." + }, + "appliesLabel": { + "message": "חל על" + }, + "appliesLineWidgetLabel": { + "message": "הצג אינפורמציית 'חל על'" + }, + "appliesLineWidgetWarning": { + "message": "לא עובד עם CSS מוקטן (minified)" + }, + "appliesRegexpOption": { + "message": "קישורים התואמים את ה־regexp" + }, + "appliesRemove": { + "message": "הסר" + }, + "appliesRemoveError": { + "message": "לא ניתן להסיר את הערך 'חל על' האחרון" + }, + "appliesSpecify": { + "message": "פרט" + }, + "appliesToEverything": { + "message": "כל האתרים" + }, + "appliesUrlOption": { + "message": "כתובת אתר" + }, + "appliesUrlPrefixOption": { + "message": "קישורים המתחילים ב" + }, + "applyAllUpdates": { + "message": "החל את כל העדכונים" + }, + "author": { + "message": "מחבר" + }, + "backupButtons": { + "message": "גיבוי" + }, + "backupMessage": { + "message": "בחר קובץ או גרור ושחרר אותו בדף זה." + }, + "bckpInstStyles": { + "message": "ייצא עיצובים" + }, + "checkAllUpdates": { + "message": "בדוקים עדכונים עבור כל העיצובים" + }, + "checkAllUpdatesForce": { + "message": "בדוק שוב, לא ערכתי אף עיצוב!" + }, + "checkForUpdate": { + "message": "בדוק עדכונים" + }, + "checkingForUpdate": { + "message": "בודק..." + }, + "clickToUninstall": { + "message": "הקלק להסרה" + }, + "cm_autoCloseBrackets": { + "message": "סגור באופן אוטומטי סוגריים וגרשיים" + }, + "cm_autoCloseBracketsTooltip": { + "message": "הוסף סוגר באופן אוטומטי כשמקלידים את אחת מהפותחים של ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "השלמה אוטומטית בזמן הכתיבה" + }, + "cm_colorpicker": { + "message": "פלטות בחירת צבעים עבור צבעי CSS" + }, + "cm_indentWithTabs": { + "message": "השתמש בטאבים יחד עם הזחה חכמה" + }, + "cm_keyMap": { + "message": "מפת מקשים" + }, + "cm_lineWrapping": { + "message": "עטיפת מילים" + }, + "cm_linter": { + "message": "עורך שגיאות CSS" + }, + "cm_matchHighlight": { + "message": "הדגש" + }, + "cm_matchHighlightSelection": { + "message": "בחירה בלבד" + }, + "cm_matchHighlightToken": { + "message": "תג תחת הסמן" + }, + "cm_resizeGripHint": { + "message": "דאבל קליק להגדלה מירבית/איפוס הגובה" + }, + "cm_selectByTokens": { + "message": "דאבל קליק בוחר תגים" + }, + "cm_selectByTokensTooltip": { + "message": "דוגמאות לתגים: .foo-bar-2 #aabbcc 0.32 !important\nבמצב מושבת: נבחרות מילים המופרדות בין פיסוק." + }, + "cm_smartIndent": { + "message": "השתמש בהזחה חכמה" + }, + "cm_tabSize": { + "message": "גודל הכרטיסייה" + }, + "cm_theme": { + "message": "ערכת נושא" + }, + "colorpickerSwitchFormatTooltip": { + "message": "החלף פורמטים: HEX -> RGB -> HSL.\nלחץ Shift כדי להפוך את הכיוון.\nגם באמצעות מקשי PgUp (PageUp), PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "פתח את פלטת בחירת הצבעים" + }, + "configOnChange": { + "message": "בעת שינוי" + }, + "configOnChangeTooltip": { + "message": "שמור והחל שינויים באופן אוטומטי" + }, + "configureStyle": { + "message": "הגדר" + }, + "configureStyleOnHomepage": { + "message": "הגדר בדף הבית" + }, + "confirmCancel": { + "message": "ביטול" + }, + "confirmClose": { + "message": "סגור" + }, + "confirmDefault": { + "message": "השתמש בברירת מחדל" + }, + "confirmDelete": { + "message": "מחיקה" + }, + "confirmDiscardChanges": { + "message": "למחוק את השינויים?" + }, + "confirmNo": { + "message": "לא" + }, + "confirmOK": { + "message": "אוקיי" + }, + "confirmSave": { + "message": "שמור" + }, + "confirmStop": { + "message": "עצור" + }, + "confirmYes": { + "message": "כן" + }, + "connectingDropbox": { + "message": "מתחבר אל Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "התחברות אל Dropbox זמינה רק בהרחבות המותקנות ישירות מחנות האינטרנט" + }, + "copied": { + "message": "הועתק אל לוח ההעתקה" + }, + "copy": { + "message": "העתק אל לוח ההעתקה" + }, + "dateInstalled": { + "message": "תאריך התקנה" + }, + "dateUpdated": { + "message": "תאריך עדכון" + }, + "dbError": { + "message": "אירעה שגיאה בשימוש במסד הנתונים של Stylus. האם ברצונך לבקר בדף אינטרנט עם פתרונות אפשריים?" + }, + "defaultTheme": { + "message": "ברירת מחדל" + }, + "deleteStyleConfirm": { + "message": "האם אתה בטוח שברצונך למחוק עיצוב זה?" + }, + "deleteStyleLabel": { + "message": "מחק" + }, + "description": { + "message": "עיצוב מחדש של האינטרנט באמצעות Stylus, מנהל סגנונות משתמש. Stylus מאפשר לך להתקין בקלות עיצובים וערכות נושא עבור אתרים פופולריים רבים." + }, + "disableAllStyles": { + "message": "השבת את כל העיצובים" + }, + "disableStyleLabel": { + "message": "השבת" + }, + "dragDropMessage": { + "message": "שחרר את קובץ הגיבוי שלך בכל מקום בדף זה על־מנת לייבא אותו." + }, + "editDeleteText": { + "message": "מחק" + }, + "editGotoLine": { + "message": "גש לשורה (או line:col)" + }, + "editStyleHeading": { + "message": "ערוך עיצוב" + }, + "editStyleLabel": { + "message": "ערוך" + }, + "editStyleTitle": { + "message": "עריכת העיצוב $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "אפשר" + }, + "excludeStyleByDomainLabel": { + "message": "אל תכלול את הדומיין הנוכחי" + }, + "excludeStyleByUrlLabel": { + "message": "אל תכלול את כתובת האתר הנוכחית" + }, + "exportLabel": { + "message": "ייצא" + }, + "exportSavedSuccess": { + "message": "קובץ נשמר בהצלחה" + }, + "externalFeedback": { + "message": "חוות דעת" + }, + "externalHomepage": { + "message": "דף הבית" + }, + "externalLink": { + "message": "קישור חיצוני" + }, + "externalSupport": { + "message": "תמיכה" + }, + "externalUsercssDocument": { + "message": "תיעוד ל־Usercss" + }, + "filteredStyles": { + "message": "$numShown$ מתוך $numTotal$ סך־הכל", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "מסננים שהוחלו כעת אינם תואמים עיצובים" + }, + "findStyles": { + "message": "מצא עיצובים" + }, + "findStylesForSite": { + "message": "מצא סגנונות נוספים לאתר זה" + }, + "findStylesInline": { + "message": "מוטבע" + }, + "findStylesInlineTooltip": { + "message": "הצג תוצאות חיפוש בחלון זה." + }, + "genericAdd": { + "message": "הוספה" + }, + "genericClone": { + "message": "שכפול" + }, + "genericDisabledLabel": { + "message": "מושבת" + }, + "genericEnabledLabel": { + "message": "מאופשר" + }, + "genericError": { + "message": "שגיאה" + }, + "genericHistoryLabel": { + "message": "היסטוריה" + }, + "genericNext": { + "message": "הבא" + }, + "genericPrevious": { + "message": "הקודם" + }, + "genericResetLabel": { + "message": "איפוס" + }, + "genericSavedMessage": { + "message": "נשמר" + }, + "genericTitle": { + "message": "כותרת" + }, + "genericUnknown": { + "message": "לא ידוע" + }, + "gettingStyles": { + "message": "טוען את כל העיצובים..." + }, + "helpAlt": { + "message": "עזרה" + }, + "helpKeyMapCommand": { + "message": "הקלד שם פקודה" + }, + "helpKeyMapHotkey": { + "message": "לחץ על המקש החם" + }, + "hostDisabled": { + "message": "מארח זה הושבת בגלל באג בגרסה הנוכחית של הדפדפן בו נעשה שימוש" + }, + "importAppendLabel": { + "message": "צרף לעיצוב" + }, + "importAppendTooltip": { + "message": "צרף את העיצוב המיובא לעיצוב הנוכחי" + }, + "importLabel": { + "message": "ייבא" + }, + "importReplaceLabel": { + "message": "דרוס עיצוב" + }, + "importReplaceTooltip": { + "message": "הסר את התוכן של הסגנון הנוכחי והחלף אותו עם העיצוב המיובא" + }, + "importReportLegendAdded": { + "message": "נוספו" + }, + "importReportLegendIdentical": { + "message": "זהה דולג" + }, + "importReportLegendInvalid": { + "message": "לא חוקי דולג" + }, + "importReportLegendUpdatedBoth": { + "message": "מטא דאטה והקוד עודכנו" + }, + "importReportLegendUpdatedCode": { + "message": "קודים עודכנו" + }, + "importReportLegendUpdatedMeta": { + "message": "מטא דאטה עודכן" + }, + "importReportTitle": { + "message": "סיום ייבוא עיצובים" + }, + "importReportUnchanged": { + "message": "שום דבר לא השתנה." + }, + "importReportUndone": { + "message": "עיצובים הוחזרו" + }, + "importReportUndoneTitle": { + "message": "הייבוא בוטל" + }, + "installButton": { + "message": "התקן עיצוב" + }, + "installButtonInstalled": { + "message": "העיצוב הותקן בהצלחה" + }, + "installButtonReinstall": { + "message": "התקן עיצוב מחדש" + }, + "installButtonUpdate": { + "message": "עדכן עיצוב" + }, + "installUpdate": { + "message": "התקן עדכון" + }, + "installUpdateFrom": { + "message": "נכון לעכשיו הסגנון מעודכן מ־ $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "בדוק עדכונים" + }, + "license": { + "message": "רישיון" + }, + "linkGetHelp": { + "message": "קבל עזרה" + }, + "linkGetStyles": { + "message": "מצא עיצובים" + }, + "linkTranslate": { + "message": "תרגום" + }, + "linterCSSLintIncompatible": { + "message": "עורך שגיאות ה־CSS אינו תומך ב־ $preprocessorname$ כמעבד מקדים", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(הגדר כלל כ: 0 = מושבת; 1 = אזהרה; 2 = שגיאה)" + }, + "linterConfigPopupTitle": { + "message": "הגדר $linter$ כללי תצורה", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "לחץ להגדרת linter זה" + }, + "linterInvalidConfigError": { + "message": "לא נשמר עקב הגדרות תצורה לא חוקיות אלה:" + }, + "linterIssues": { + "message": "תקלות" + }, + "linterIssuesHelp": { + "message": "התקלות האלו נמצאו על־ידי $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "פורמט JSON לא תקין" + }, + "linterResetMessage": { + "message": "על־מנת לבטל איפוסים לא רצוניים, לחץ Ctrl-Z (או Cmd-Z) בתיבת הטקסט" + }, + "linterRulesLink": { + "message": "ראה רשימת חוקים מלאה" + }, + "liveReloadError": { + "message": "התרחשה שגיאה בזמן הצפייה בקובץ" + }, + "liveReloadLabel": { + "message": "רענון לייב (live)" + }, + "manageFavicons": { + "message": "הצגת אייקונים בעמודת 'חל על'" + }, + "manageFaviconsGray": { + "message": "האפרת האייקונים" + }, + "manageFaviconsHelp": { + "message": "Stylus משתמש בשירות חיצוני https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "מסננים" + }, + "manageHeading": { + "message": "עיצובים מותקנים" + }, + "manageMaxTargets": { + "message": "מספר הפריטים ה־'מוחלים על'" + }, + "manageNewStyleAsUsercss": { + "message": "כ־Usercss" + }, + "manageNewUI": { + "message": "פריסת ממשק משתמש ניהול חדשה" + }, + "manageOnlyDisabled": { + "message": "רק עיצובים מושבתים" + }, + "manageOnlyEnabled": { + "message": "רק עיצובים מאופשרים" + }, + "manageOnlyExternal": { + "message": "רק עיצובים חיצוניים" + }, + "manageOnlyLocal": { + "message": "רק עיצובים שנוצרו באופן מקומי" + }, + "manageOnlyLocalTooltip": { + "message": "(הסגנונות שלא הותקנו דרך דף userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "רק לא עיצובי Usercss" + }, + "manageOnlyUpdates": { + "message": "רק עם עדכונים או תקלות" + }, + "manageOnlyUsercss": { + "message": "רק עיצובי Usercss" + }, + "menuShowBadge": { + "message": "הצג כמות עיצובים מאופשרים" + }, + "meta_invalidCheckboxDefault": { + "message": "תיבת סימון @var לא חוקית: הערך חייב להיות 0 או 1" + }, + "meta_invalidNumber": { + "message": "נדרש מספר" + }, + "meta_invalidString": { + "message": "נדרשת מחרוזת בתוך גרשיים" + }, + "meta_invalidWord": { + "message": "נדרשת מילה" + }, + "meta_missingChar": { + "message": "נדרשים תווים: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "נדרש מידע EOT" + }, + "noFileToImport": { + "message": "כדי לייבא את הסגנונות שלך, עליך לייצא אותם תחילה." + }, + "noStylesForSite": { + "message": "לא הותקנו עיצובים עבור אתר זה." + }, + "openManage": { + "message": "ניהול" + }, + "openOptions": { + "message": "אפשרויות" + }, + "openStylesManager": { + "message": "פתח את מנהל העיצובים" + }, + "optionsActions": { + "message": "פעולות" + }, + "optionsAdvanced": { + "message": "מתקדם" + }, + "optionsAdvancedContextDelete": { + "message": "הוספת 'מחק' בתפריט העורך" + }, + "optionsAdvancedExposeIframes": { + "message": "חשוף iframes באמצעות HTML [stylus-iframe]" + }, + "optionsAdvancedExposeIframesNote": { + "message": "חושף את תחום האתר העליון בכל iframe.\nמאפשר כתיבת CSS ספציפית ל־iframe כך:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "כתוב עיצוב חדש בתור usercss" + }, + "optionsBadgeDisabled": { + "message": "צבע רקע בעת השבתה" + }, + "optionsBadgeNormal": { + "message": "צבע רקע" + }, + "optionsCheck": { + "message": "עדכן עיצובים" + }, + "optionsCheckUpdate": { + "message": "בדוק והתקן את כל העדכונים הזמינים" + }, + "optionsCustomizeBadge": { + "message": "תג על האייקון בסרגל הכלים" + }, + "optionsCustomizeIcon": { + "message": "אייקון בסרגל הכלים" + }, + "optionsCustomizePopup": { + "message": "חלון קופץ" + }, + "optionsCustomizeSync": { + "message": "סנכרון לענן" + }, + "optionsCustomizeUpdate": { + "message": "עדכונים" + }, + "optionsHeading": { + "message": "אפשרויות" + }, + "optionsIconDark": { + "message": "ערכות נושא כהות לדפדפן" + }, + "optionsIconLight": { + "message": "ערכות נושא בהירות לדפדפן" + }, + "optionsOpen": { + "message": "פתח" + }, + "optionsOpenManager": { + "message": "נהל עיצובים" + }, + "optionsPopupWidth": { + "message": "רוחב החלון הקופץ (בפיקסלים)" + }, + "optionsReset": { + "message": "איפוס האפשרויות לערכי ברירת המחדל" + }, + "optionsResetButton": { + "message": "אפס אפשרויות" + }, + "optionsSubheading": { + "message": "אפשרויות נוספות" + }, + "optionsSyncConnect": { + "message": "התחבר" + }, + "optionsSyncDisconnect": { + "message": "התנתק" + }, + "optionsSyncLogin": { + "message": "היכנס" + }, + "optionsSyncNone": { + "message": "ללא" + }, + "optionsSyncStatusConnected": { + "message": "מחובר" + }, + "optionsSyncStatusConnecting": { + "message": "מתחבר..." + }, + "optionsSyncStatusDisconnected": { + "message": "מנותק" + }, + "optionsSyncStatusDisconnecting": { + "message": "מתנתק..." + }, + "optionsSyncStatusPull": { + "message": "מושך סגנון $loaded$ מתוך $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "מפרסם סגנון $loaded$ מתוך $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusSyncing": { + "message": "מסנכרן..." + }, + "optionsSyncSyncNow": { + "message": "סנכרן כעת" + }, + "optionsUpdateImportNote": { + "message": "בעת ייבוא גיבויים לסגנון מגרסה ישנה או מ־Stylish, בדוק באופן חד פעמי אם יש עדכונים באופן ידני במנהל הסגנונות כדי לוודא שכל הסגנונות מעודכנים." + }, + "optionsUpdateInterval": { + "message": "עדכון אוטומטי של Userstyle בשעות (הגדר 0 להשבתה)" + }, + "overwriteFileExport": { + "message": "האם ברצונך להחליף קובץ קיים?" + }, + "paginationCurrent": { + "message": "הדף הנוכחי" + }, + "paginationEstimated": { + "message": "מספר דפים משוער" + }, + "paginationNext": { + "message": "הדף הבא" + }, + "paginationPrevious": { + "message": "הדף הקודם" + }, + "paginationTotal": { + "message": "סה״כ דפים" + }, + "parseUsercssError": { + "message": "Stylus נכשל בניתוח usercss:" + }, + "popupBorders": { + "message": "הוספת שוליים לבנים בצדדים" + }, + "popupBordersTooltip": { + "message": "שימושי לעיצובים כהים ב־Chrome החדש מכיוון שהוא כבר לא מצייר את גבולות הצד" + }, + "popupHotkeysTooltip": { + "message": "לחץ על־מנת לצפות במקשים החמים הזמינים" + }, + "popupManageTooltip": { + "message": "לחיצה על Shift או מקש ימני בעכבר פותח את מנהל העיצובים" + }, + "popupMenuButtonTooltip": { + "message": "תפריט פעולות" + }, + "popupOpenEditInWindow": { + "message": "פתח את העורך בחלון חדש" + }, + "popupOpenEditInWindowTooltip": { + "message": "מופעל גם על ידי ניתוק לשונית העורך מחלון הדפדפן,\nומושבת על ידי חיבור לשונית עורך יחידה לחלון אחר." + }, + "popupStylesFirst": { + "message": "עיצובים לפני הפקודות" + }, + "prefShowBadge": { + "message": "מספר העיצובים המאופשרים באתר הנוכחי" + }, + "previewLabel": { + "message": "תצוגת לייב (live)" + }, + "previewTooltip": { + "message": "החלת השינויים באופן זמני ללא שמירה.\nשמור את העיצוב על־מנת להפוך את השינויים לקבועים." + }, + "readingStyles": { + "message": "קורא עיצובים..." + }, + "reload": { + "message": "טען מחדש את Stylus" + }, + "replace": { + "message": "החלף" + }, + "replaceAll": { + "message": "החלף הכל" + }, + "replaceWith": { + "message": "החלף עם" + }, + "retrieveBckp": { + "message": "ייבוא עיצובים" + }, + "retrieveDropboxSync": { + "message": "Dropbox ייבוא" + }, + "search": { + "message": "חיפוש" + }, + "searchCaseSensitive": { + "message": "רגיש לאותיות גדולות/קטנות" + }, + "searchNumberOfResults": { + "message": "מספר ההתאמות" + }, + "searchNumberOfResults2": { + "message": "מספר ההתאמות בקוד ובערכים ה'מוחלים על'" + }, + "searchRegexp": { + "message": "השתמש ב־/re/ לחיפוש באמצעות ביטוי regexp" + }, + "searchResultInstallCount": { + "message": "סה״כ התקנות" + }, + "searchResultNoneFound": { + "message": "לא נמצאו עיצובים לאתר זה." + }, + "searchResultRating": { + "message": "דירוג" + }, + "searchResultUpdated": { + "message": "עודכן" + }, + "searchResultWeeklyCount": { + "message": "התקנות שבועיות" + }, + "sectionAdd": { + "message": "הוסף מקטע נוסף" + }, + "sectionCode": { + "message": "קוד" + }, + "sectionRemove": { + "message": "הסר סעיף" + }, + "sectionRestore": { + "message": "שחזר סעיף שהוסר" + }, + "shortcuts": { + "message": "קיצורי מקשים" + }, + "shortcutsNote": { + "message": "הגדר קיצורי מקשים" + }, + "sortDateNewestFirst": { + "message": "החדש ביותר ראשון" + }, + "sortDateOldestFirst": { + "message": "הישן ביותר ראשון" + }, + "sortLabel": { + "message": "בחר שיטת מיון להחלה על העיצובים המותקנים" + }, + "sortStylesHelpTitle": { + "message": "סידור תכנים" + }, + "styleBadRegexp": { + "message": "ביטוי ה־regexp לא תקין." + }, + "styleBeautify": { + "message": "ייפה CSS" + }, + "styleBeautifyIndentConditional": { + "message": "הזחת @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "שמור שורות חדשות" + }, + "styleCancelEditLabel": { + "message": "חזרה לניהול" + }, + "styleChangesNotSaved": { + "message": "ביצעת שינויים בסגנון זה מבלי לשמור." + }, + "styleEnabledLabel": { + "message": "מאופשר" + }, + "styleFromMozillaFormatError": { + "message": "הייבוא נכשל מ־Mozilla format" + }, + "styleFromMozillaFormatPrompt": { + "message": "הדבק את הקוד ב־Mozilla-format" + }, + "styleInstall": { + "message": "להתקין ';$stylename$' אל Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "נכשל בהתקנת העיצוב!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "';$stylename$' כבר מותקן. האם לדרוס?\nגרסה: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "הזן שם" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-format" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "הסגנון לא הוחל בגלל השימוש בו שגוי ב־'regexp()'" + }, + "styleRegexpInvalidExplanation": { + "message": "לא היה ניתן להחיל מספר כללי 'regexp()' כלל." + }, + "styleRegexpPartialExplanation": { + "message": "סגנון זה משתמש ב- regexps תואם חלקית בניגוד למפרט CSS4 @document המצריך התאמה מלאה של כתובת אתר. קטעי ה־CSS המושפעים לא הוחלו על הדף. סגנון זה נוצר ככל הנראה ב־Stylish-for-Chrome שבודק באופן שגוי את כללי 'regexp()' מאז הגרסה הראשונה (באג ידוע)." + }, + "styleRegexpProblemTooltip": { + "message": "מספר המקטעים שלא הוחלו עקב שימוש שגוי ב־'regexp()'" + }, + "styleRegexpTestButton": { + "message": "בדוק RegExp" + }, + "styleRegexpTestFull": { + "message": "כרטיסיות תואמות" + }, + "styleRegexpTestInvalid": { + "message": "ביטוי regrxp לא תקין" + }, + "styleRegexpTestNone": { + "message": "לא תואם אף כרטיסייה" + }, + "styleRegexpTestPartial": { + "message": "לא תואם לחלוטין, לכן דולג" + }, + "styleRegexpTestTitle": { + "message": "רשימת לשוניות פתוחות בהתאמה (לחץ על כתובת אתר למיקוד הלשונית שלה)" + }, + "styleSaveLabel": { + "message": "שמור" + }, + "styleToMozillaFormatHelp": { + "message": "ניתן לפרסם את ה־Mozilla format של הקוד לאתר userstyles.org ולהשתמש בו עם Stylish הקלאסי עבור Firefox" + }, + "styleToMozillaFormatTitle": { + "message": "עיצוב ב־Mozilla-format" + }, + "styleUpdate": { + "message": "האם אתה בטוח שברצונך לעדכן את '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "stylusUnavailableForURL": { + "message": "Stylus לא עובד על דפים כמו זה." + }, + "stylusUnavailableForURLdetails": { + "message": "כאמצעי אבטחה, הדפדפן אוסר על הרחבות להשפיע על הדפים המובנים שלו (כמו chrome://version, הכרטיסייה החדשה הרגילה החל מ־Chrome 61, about:addons וכן הלאה), וכן על דפי הרחבות אחרים. כל דפדפן גם מגביל את הגישה לגלריית התוספים שלו (כמו חנות האינטרנט של Chrome או AMO)." + }, + "syncDropboxStyles": { + "message": "ייצוא Dropbox" + }, + "syncStorageErrorSaving": { + "message": "הערך לא יכול להשמר. אנא נסה להקטין את גודל הטקסט." + }, + "toggleStyle": { + "message": "אפשר או השבת עיצוב" + }, + "undo": { + "message": "בטל" + }, + "undoGlobal": { + "message": "בטל בכל הסעיפים" + }, + "unreachableAMO": { + "message": "Firefox לא מאפשרת גישה לאתר זה." + }, + "unreachableContentScript": { + "message": "לא ניתן לתקשר עם הדף. אנא טען מחדש את הכרטיסייה." + }, + "unreachableFileHint": { + "message": "Stylus יכול לגשת לכתובות אתר file:// רק אם תיבת הסימון המתאימה עבור סיומת Stylus פעילה בדף chrome://extensions." + }, + "unzipStyles": { + "message": "מחלץ עיצובים..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "לא נמצאו עדכונים." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "כמה סגנונות הניתנים לעדכון לא נבדקו כדי להימנע מאבדן עריכות מקומיות אפשריות. ניתן לאלץ עדכונים על ידי בדיקה באופן פרטני, או על ידי הפעלת בדיקה אחרת לכל הסגנונות (עריכות מקומיות יידרסו)." + }, + "updateCheckFailBadResponseCode": { + "message": "העדכון נכשל: השרת החזיר תגובה עם הקוד $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "העדכון נכשל: השרת לא זמין." + }, + "updateCheckHistory": { + "message": "היסטוריה של בדיקת עדכונים" + }, + "updateCheckManualUpdateForce": { + "message": "התקן עדכון (עריכות מקומיות יידרסו)" + }, + "updateCheckManualUpdateHint": { + "message": "אילוץ עדכון ידרוס כל עריכה מקומית." + }, + "updateCheckSkippedLocallyEdited": { + "message": "עיצוב זה נערך באופן מקומי." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "ייתכן כי עיצוב זה נערך באופן מקומי." + }, + "updateCheckSucceededNoUpdate": { + "message": "העיצוב מעודכן." + }, + "updateCompleted": { + "message": "העדכון הושלם." + }, + "updatesCurrentlyInstalled": { + "message": "העדכונים הותקנו." + }, + "uploadingFile": { + "message": "מעלה קובץ..." + }, + "usercssAvoidOverwriting": { + "message": "אנא שנה את הערך של @name or @namespace על־מנת להמנע מדריסה של עיצוב קיים." + }, + "usercssEditorNamePlaceholder": { + "message": "ציין @name בקוד" + }, + "usercssReplaceTemplateSectionBody": { + "message": "הכנס כאן קוד..." + }, + "versionInvalidOlder": { + "message": "הגרסה ישנה יותר מהעיצוב המותקן." + }, + "writeStyleFor": { + "message": "כתוב עיצוב עבור: " + }, + "writeStyleForURL": { + "message": "הקישור הנוכחי" + }, + "zipStyles": { + "message": "מקבץ עיצובים..." + } +} diff --git a/_locales/hr/messages.json b/_locales/hr/messages.json deleted file mode 100644 index d058a54d..00000000 --- a/_locales/hr/messages.json +++ /dev/null @@ -1,1586 +0,0 @@ -{ - "addStyleTitle": { - "message": "Add Style", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Add", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Applies to: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "and more", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs on the domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Applies to", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs matching the regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remove", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specify", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Everything", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs starting with", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Apply all updates", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Check all styles for updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Check for update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Checking...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Are you sure you want to delete this style?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Delete", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disable", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit Style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Enable", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Help", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installed Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Write new style", - "description": "Label for the button to go to the add style page" - } -} \ No newline at end of file diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index 7350c01b..f5741c6a 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -1,1586 +1,1242 @@ { - "addStyleTitle": { - "message": "Stílus hozzáadása", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Átlátszatlanság", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Hozzáadás", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Érvényes erre:$applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "és ennél is több", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL-ek a tartományban", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Az \"Érvényes erre\" beállítással korlártozható, hogy milyen URL-ekre vonatkozik az itt lévő kód.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Érvényes erre", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Információ arról, hogy mire érvényes", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nem működik minimalizált CSS-sel", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Reguláris kifejezésre (regexp) illeszkedő URL-ek", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Eltávolítás", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Nem lehet eltávolítani az utolsó 'érvényes erre' bejegyzést", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Szűkítés", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Minden", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL-ek adott kezdettel", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Minden módosítás alkalmazása", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Szerző", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Biztonsági mentés", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Válassz ki egy fájlt vagy húzd erre az oldalra!", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Stílusok exportálása", - "description": "" - }, - "checkAllUpdates": { - "message": "Összes stílus frissítésének ellenőrzése", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Ellenőrizd újra, nem módosítottam egy stílust sem!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Frissítések ellenőrzése", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Ellenőrzés...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Kattints az eltávolításhoz", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Zárójelek és idézőjelek automatikus bezárása", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Nyitó '([{'zárójel gépelésekor lezáró ')]}' zárójel automatikus hozzáadása", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automatikus kiegészítés gépeléskor", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Színválasztó CSS-színekhez", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Tabulátorok használata intelligens behúzásra", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Billentyűműveletek", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Automatikus sortörés", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Kijelölés", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Csak kiválasztás", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Kurzor alatti kifejezés", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Kattints duplán a magasság maximalizálásához/visszaállításához", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Kifejezések kijelölése dupla kattintással", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Példák kifejezésekre: .valami-2 #aabbcc 0.32 !important\nAmikor ki van kapcsolva: a központosítással elválasztott szavak ki lesznek jelölve.", - "description": "" - }, - "cm_smartIndent": { - "message": "Intelligens behúzás", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabulátorméret", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Téma", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Formátumváltás: HEX -> RGB -> HSL.\nShift-kattintás megfordítja az irányt.\nA PgUp (PageUp) és PgDn (PageDown) billentyűkkel is lehet váltani.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Színválasztó megnyitása", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "változtatáskor", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Automatikus mentés és alkalmazás", - "description": "" - }, - "configureStyle": { - "message": "Konfigurálás", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Beállítás a honlapon", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Mégsem", - "description": "" - }, - "confirmClose": { - "message": "Bezárás", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Alapértelmezés használata", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Törlés", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Elveted a változásokat?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nem", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Mentés", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Állj", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Igen", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Vágólapra másolva", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Másolás vágólapra", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Telepítés dátuma", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Frissítés dátuma", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Hiba történt a Stylus adatbázisának használatakor. Szeretnéd meglátogatni a lehetséges megoldásokat tartalmazó weboldalt?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "alapértelmezett", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Biztos, hogy törölni akarod ezt a stílust?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Törlés", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Tervezd újra a webet a Stylus stíluskezelővel. A Stylus lehetővé teszi a témák és egyéni külsők egyszerű telepítését sok népszerű oldalhoz.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Összes stílus kikapcsolása", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Letiltás", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Ejtsd a biztonsági másolat fájlt bárhova erre az oldalra az importáláshoz!", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Törlés", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Sorra (vagy sor:oszlopra) ugrás", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Stílus szerkesztése", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Szerkesztés", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "A(z) $stylename$ stílus szerkesztése", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Engedélyezés", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Aktuális tartományt kivéve", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Aktuális URL-t kivéve", - "description": "" - }, - "exportLabel": { - "message": "Exportálás", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Visszajelzés", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Kezdőoldal", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Külső hivatkozás", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Támogatás", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss dokumentáció", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mutatva $numTotal$-ból/-ből", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Nincs illeszkedés a jelenleg alkalmazott szűrőkre", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Stílusok keresése", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "További stílusok keresése ehhez az oldalhoz", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Helyben", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Keresési eredmények megjelenítése ebben az ablakban.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Hozzáadás", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klónozás", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Letiltott", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Engedélyezve", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Hiba", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Előzmények", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Következő", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Előző", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "VIsszaállítás", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Mentve", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Cím", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Ismeretlen", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Segítség", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Írj be egy parancsot", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Gyorsbillentyű", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Hozzáfűzés stílushoz", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Az importált stílus hozzáadása a jelenlegi stílushoz", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importálás", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Stílus felülírása", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "A jelenlegi stílus tartalmának elvetése és annak felülírása az importált stílussal", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "hozzáadva", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "kihagyott egyezések", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "kihagyott érvénytelen", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "metainformáció és kód frissítve", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "frissített kód", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "metainfó frissítve", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "A stílusok importálása befejeződött.", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nincs változás.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stílusok visszavonva", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Az importálás vissza lett vonva", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Stílus telepítése", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stílus telepítve", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Stílus újratelepítése", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Stílus frissítése", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Frissítés telepítése", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "A stílus jelenleg innen frissül: $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Frissítések keresése", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licenc", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Segítség kérése", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Szerezz be stílusokat", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Fordítás", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "A CSSLint nem támogatja a(z) $preprocessorname$ nevű előfeldolgozót", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Szabály megadása: 0 = letiltva; 1 = figyelmeztetés; 2 = hiba)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$ szabály beállítása", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Linter beállítása", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nincs mentve a következő érvénytelen beállítások miatt:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problémák", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$a következő hibákat találta:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Érvénytelen JSON-formátum", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Egy véletlen visszaállítás visszavonásához nyomj Ctrl-Z-t (vagy Cmd-Z) a szövegdobozon belül)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Összes szabály listája", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Hiba történt a fájl figyelése közben", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Valós idejű újratöltés", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Faviconok az 'Érvényes erre' oszlopban", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Megjelenítés szürkítve", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "A Stylus külső szolgáltatást használ (https://www.google.com/s2/favicons)", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Szűrők", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Telepített stílusok", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "'Érvényes erre' elemek kijelzendő száma", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercss-ként", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Új kezelői felület", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Csak a letiltott stílusok", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Csak a telepített stílusok", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Csak külső stílusok", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Csak helyileg létrehozott stílusok", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(a stílusok nem a userstyles.org egyik oldaláról települtek)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Csak nem Usercss stílusok", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Csak a frissíthetők vagy problémásak", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Csak Usercss stílusok", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Aktív stílusok számlálójának mutatása", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Érvénytelen jelölő négyzet @var: az érték csak 0 vagy 1 lehet", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Érvénytelen szín @var: a(z) $color$ nem szín", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Érvénytelen változó @var (típus: $type$): az érték csak szám vagy tömb lehet", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Érvénytelen változó @var (típus: $type$): többféle egység van megadva", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Érvénytelen változó @var (típus: $type$): a tömb túl sok elemet tartalmaz", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Érvénytelen változó @var (típus: $type$): csak szám, karakterlánc vagy null típusú elem lehet a tömbben", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett értéke null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték kisebb, mint a minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nagyobb, mint a maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nem a lépésköz többszöröse", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Érvénytelen változó @var (típus: $type$): a(z) '$units$' nem érvényes egység", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Érvénytelen kiválasztó lista @var: az alapértelmezett érték tömb vagy objektum lehet csak", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Érvénytelen kiválasztó lista @var: a tömbön/objektumon belüli érték csak karakterlánc lehet", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Érvénytelen kiválasztó lista @var: a lista üres", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Érvénytelen kiválasztó lista @var: a listaelem címkéje üres", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Érvénytelen kiválasztó lista @var: egynél több alapértelmezett elem van megadva", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Érvénytelen kiválasztó lista @var: egy listaelem kétszer szerepel", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Érvénytelen kiválasztó lista @var: az érték nem található a listaelemek között", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Érvénytelen URL-protokoll. Csak 'http' vagy 'https' engedett: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Érvénytelen verziószám. Az érték nem illeszkedik a SemVer mintájához: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Várt elem: szám", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Várt elem: idézőjelek közti karakterlánc", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Várt elem: szó", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Várt karakterek: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Várt elem: EOT-adat", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Kötelező metaadat hiányzik: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Érvénytelen JSON: a(z) $literal$ nem érvényes JSON-karakterlánc (literális)", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Ismeretlen metaadat: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Ismeretlen @$varkey$ változó, típus: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Ismeretlen @preprocesszor (előfeldolgozó): $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Nincs telepítve stílus ehhez az oldalhoz.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Kezelés", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Stíluskezelő megnyitása", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Műveletek", - "description": "" - }, - "optionsAdvanced": { - "message": "Haladó", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "'Törlés' parancs a szerkesztő helyi menüjében", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "iframe-ek kitevése HTML[stylus-iframe]-en keresztül", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Az oldal felső tartományának jelölése minden iframe-ben.\nLehetővé teszi az iframe-specifikus CSS írását, mint pl.:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Új stílus írása usercss-ként", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Háttérszín, amikor le van tiltva", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Háttérszín", - "description": "" - }, - "optionsCheck": { - "message": "Stílusok frissítése", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Az összes frissítés ellenőrzése és telepítése", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Ikon képe az eszköztáron", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Eszköztárikon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Felugró ablak", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Frissítések", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Szinkronizálás felhővel", - "description": "" - }, - "optionsHeading": { - "message": "Beállítások", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Sötét böngészőtémák", - "description": "" - }, - "optionsIconLight": { - "message": "Világos böngészőtémák", - "description": "" - }, - "optionsOpen": { - "message": "Megnyitás", - "description": "" - }, - "optionsOpenManager": { - "message": "Stílusok kezelése", - "description": "" - }, - "optionsPopupWidth": { - "message": "Felugró ablak szélessége (pixelben)", - "description": "" - }, - "optionsReset": { - "message": "Beállítások visszaállítása alapértelmezett értékre", - "description": "" - }, - "optionsResetButton": { - "message": "Alapértelmezés visszaállítása", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "További beállítások", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Amikor régebbi verzióból vagy a Stylishból importálsz stílusokat, egyszer manuálisan frissítsd a stílusokat a stíluskezelőben, hogy megbizonyosodj afelől, hogy mindegyik frissítve van!", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Felhasználói stílus automatikus frissítési időköze órában (0=kikapcsolva)", - "description": "" - }, - "optionsSyncNone": { - "message": "Nincs", - "description": "" - }, - "optionsSyncConnect": { - "message": "Kapcsolódás", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Kapcsolat bontása", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Szinkronizálás most", - "description": "" - }, - "optionsSyncLogin": { - "message": "Bejelentkezés", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Stílusok helyi frissítése (pull): $loaded$/$total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Stílusok távoli frissítése (push): $loaded$/$total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Szinkronizálás...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Kapcsolódás...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Kapcsolódva", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Kapcsolat bontása...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Nincs kapcsolat", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Jelenlegi oldal", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Becsült oldalak száma", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Következő oldal", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Előző oldal", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Összes oldal", - "description": "" - }, - "parseUsercssError": { - "message": "A Stylus nem tudta elemezni a usercss-t", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Stílusok újrarendezése a felugró ablakban átkapcsoláskor", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Fehér szegély az oldalakon", - "description": "" - }, - "popupBordersTooltip": { - "message": "Hasznos az új Chrome sötét témáinál, mert nem színezi át az oldalszegélyeket", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, a numpaden is - be-/kikapcsolja az n-nedik stílust (a 0 10-et jelent)\n- az adott betűvel kezdődő első stílust kapcsolja be/ki \n kapcsolgatás helyett megnyitja a szerkesztőt\n listázott stílusokat engedélyez\n listázott stílusokat tilt le\n és <`> (fordított félidézőjel) - kezdeti állapotban engedélyezett stílusokat kapcsol; nem vonatkozik azokra a stílusokra, amiket később engedélyeztél, mialatt a felugró ablakocska nyitva volt, hogy vissza tudd állítani a kezdeti kiválasztást tesztelés után: egyszerűen tilts le mindent, majd pl. vagy \nTovábbi információ a wikiben", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Elérhető gyorsbillentyűk megtekintése", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+kattintás vagy jobb kattintás: a stíluskezelő megnyitása a jelenlegi oldalra érvényes stílusokkal", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Műveletmenü", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Szerkesztő megnyitása új ablakban", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "A fül a böngésző ablakától történő leválasztásával is engedélyezhető, és letiltható a fül egy másik ablakhoz való hozzácsatolásával.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stílusnevek a parancsok előtt", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "A jelenlegi oldalon aktív stílusok száma", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Valós idejű előnézet", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Átmenetileg alkalmazza a változtatásokat mentés nélkül.\nMentsd a stílust, hogy a változtatások véglegesek legyenek!", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Csere", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Az összes cseréje", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Csere a következővel", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Stílusok importálása", - "description": "" - }, - "search": { - "message": "Keresés", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Kis- és nagybetű megkülönböztetése", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Illeszkedések száma", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Illeszkedések száma a kódban és célértékek", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Használd a /re/ szintaxist a regexp kereséshez", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Összes telepítés", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nem találhatók stílusok ehhez az oldalhoz.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Értékelés", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Frissítve", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Heti telepítések", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Új szakasz hozzáadása", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kód", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Szekció eltávolítása", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Eltávolított szekció visszaállítása", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Gyorsbillentyűk", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Gyorsbillentyűk megadása", - "description": "" - }, - "sortDateNewestFirst": { - "message": "újabb elöl", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "régebbi elöl", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Telepített stílusok sorbarendezésének módja", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Cím - növekvő sorrend", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Cím - csökkenő sorrend", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "A legördülő menüben válaszhatjuk ki, hogyan szeretnénk sorbarendezni a telepített stílusok bejegyzéseit. Az alapértelmezett beállítás a bejegyzések címei szerinti növekvő (A-tól Z-ig) sorrend. A „Cím - csökkenő sorrend” csoportban megadott rendezési módok csökkenő (Z-től A-ig) sorrendben rendezik a címeket.\nEgyéb beállításokkal több szempont alapján is rendezhetők a bejegyzések. Tekintsünk erre úgy, mint egy többoszlopos, rendezhető táblázatra, amelyben minden egyes (a plusz jelek között) kiválasztott kategória egy oszlopot vagy egy csoportot jelképez.\nPéldául, ha az van beállítva, hogy „Engedélyezve (első) + Cím”, az engedélyezett bejegyzések kerülnek a lista tetejére, majd az engedélyezett és a letiltott bejegyzések címei külön-külön, növekvő (A-tól Z-ig) sorrendben jelennek meg.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Tartalom rendezése", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Érvénytelen reguláris kifejezés.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Csinosít", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports behúzása", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Új sorok megtartása", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Vissza a kezeléshez", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Nem mentetted a stílusban lévő változásokat.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Engedélyezve", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Nem sikerült importálni Mozilla formátumból", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla formátumú kód beillesztése", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Telepíted a(z) „$stylename$” nevű stílust a Stylusba?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "A stílus telepítése nem sikerült!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "„$stylename$” már telepítve van. Felülírod?\nVerzió: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Írj be egy nevet!", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-formátum", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "A stílus nem lett alkalmazva a „regexp()” helytelen használata miatt", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Néhány „regexp()” szabály nem lefordítható.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "A stílus olyan részlegesen illeszkedő reguláris kifejezéseket használ, amelyek sértik aCSS4@dokumentumspecifikációt, amely megköveteli az URL teljes illeszkedését. Az érintett CSS-szekciók nem kerültek alkalmazásra az oldalon. A stílus valószínűleg a Stylish-for-Chrome kiegészítőben készült, amely helytelenül ellenőrzi a „regexp()” szabályokat a legelső verziótól fogva (ismert hiba).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "A nem alkalmazott szeckiók száma helytelen 'regexp()' használat miatt", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp tesztelése", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Illeszkedő fülek", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Kihagyott, érvénytelen reguláris kifejezések", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Nincs illeszkedő fül", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Megjegyzés: használj egy \\-jelet speciális karakterek elrejtéséhez a regexp beviteli mezőben, amely automatikusan két \\-jellé (\\\\) lesz alakítva a CSS stíluskódban idézett karakterláncokban.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Nincs teljes egyezés, így ki vagy hagyva", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Illeszkedő megnyitott fülek megjelenítése (kattints az URL-re az arra a fülre való ugráshoz)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Mentés", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "A Mozilla formátumú kódot beküldheted a userstyles.org-ra és használhatod a klasszikus Stylish Firefoxkiegészítővel.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla formátumú stílus", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Biztos, hogy frissíteni akarod a(z) „$stylename$” stílust?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "A stílus módosítva lett a szerkesztőn kívül. Szeretnéd újratölteni?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "A Stylus nem működik az ilyen oldalakon.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Biztonsági okokból a böngésző megtiltja, hogy a kiegészítők változtatásokat tegyenek a beépített oldalain (pl. chrome://verzió, a Chrome 61 alapértelmezett „új lap” oldala, about:addons és így tovább) valamint más kiterjesztések oldalain. Ezen kívül mindegyik böngésző korlátozza a saját kiegészítőgalériájának elérését (pl. Chrome webáruház vagy a Mozilla kiegészítők oldala)", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Az értéket nem lehet menteni. Próbáld meg csökkenteni a szövegmennyiséget!", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Stílus be-/kikapcsolása", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Visszavonás", - "description": "Button label" - }, - "undoGlobal": { - "message": "Visszavonás mindegyik szekcióban", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "A Firefox megtiltja ennek az oldalnak az elérését.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Az elérés engedélyezéséhez nyisd meg az -ot, kattints jobb egérgombbal, majd „Új”, „Logikai”, és illeszd be, hogy , és kattints az OK-ra, OK, és töltsd újra az oldalt!", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "A Firefox 60-ban vagy annál újabb verzióban az AMO doménjét is el kell távolítanod a -ban levő -ból.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Csak a Firefox 59 vagy annál újabb állítható be az ilyen CSP-védett oldalak stílusának átszabása WebExtensions kiegészítőkön keresztül.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Nem sikerült az oldallal történő kommunikáció. Próbáld meg újratölteni az oldalt!", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "A Stylus csak akkor képes hozzáférni a file:// URL-ekhez, ha engedélyezed az erre vonatkozó beállítást a Stylus kiegészítőre a chrome://extensions oldalon.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "A Stylus nem tud bizonyos fájltípusokhoz hozzáférni (pl. PDF- & JSON-fájlokhoz)", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nem találhatók frissítések.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Egyes frissíthető stílusok nem lettek ellenőrizve, nehogy elvesszenek a helyi változtatások. A frissítéseket lehet erőltetni egyéni ellenőrzéssel külön-külön vagy az összes stílus ismételt ellenőrzésével (ez felülírja a helyi módosításokat).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Sikertelen frissítés: a szerver $code$kóddal válaszolt.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Sikertelen frissítés: nem érhető el a szerver.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Frissítések ellenőrzésének előzményei", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Frissítés telepítése (a helyi módosítások felül lesznek írva)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Egy frissítés erőltetése minden helyi szerkesztést felül fog írni.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Ez a stílus helyileg lett szerkesztve.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Lehet, hogy ezt a stílust helyileg szerkesztették", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "A stílus legfrissebb verziója van telepítve.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "A frissítés befejeződött.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Frissítve:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Kérlek, módosítsd a @name vagy a @namespace értékét, nehogy felül legyen írva az egyik létező stílus!", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "A stílust frissítették vagy törölték, miután a beállítóablak megjelent. Ezek a változók nem kerültek mentésre, nehogy megsérüljön a stílus metaadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Adj meg egy @name-et a kódban", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Le legyen cserélve az alapértelmezett sablon az új Usercss stílusokhoz a jelenlegi kóddal?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Az üres @name lecseréli az alapértelmezett sablont", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Írj kódot ide…", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "A verzió régebb a telepített stílusnál", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Stílus írása a következőhöz:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "ehhez az URL-hez", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exportálás Dropboxba", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importálás Dropboxból", - "description": "" - }, - "overwriteFileExport": { - "message": "Felülírjuk a létező fájlt?", - "description": "" - }, - "exportSavedSuccess": { - "message": "A fájl sikeresen elmentve.", - "description": "" - }, - "noFileToImport": { - "message": "A stílusok importálásához előbb exportálni kell őket.", - "description": "" - }, - "connectingDropbox": { - "message": "Kapcsolódás Dropboxhoz...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropboxhoz csak közvetlenül a web-boltból telepített alkalmazásból lehet kapcsolódni.", - "description": "" - }, - "gettingStyles": { - "message": "Minden stílus fogadása...", - "description": "" - }, - "zipStyles": { - "message": "Stílusok tömörítése...", - "description": "" - }, - "unzipStyles": { - "message": "Stílusok kibontása...", - "description": "" - }, - "readingStyles": { - "message": "Stílusok olvasása...", - "description": "" - }, - "uploadingFile": { - "message": "Fájl feltöltése...", - "description": "" - }, - "addStyleLabel": { - "message": "Új stílus írása", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "A Stylus nem tud bizonyos fájltípusokhoz hozzáférni (pl. PDF- & JSON-fájlokhoz)" + }, + "addStyleLabel": { + "message": "Új stílus írása" + }, + "addStyleTitle": { + "message": "Stílus hozzáadása" + }, + "alphaChannel": { + "message": "Átlátszatlanság" + }, + "appliesAdd": { + "message": "Hozzáadás" + }, + "appliesDisplay": { + "message": "Érvényes erre:$applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "és ennél is több" + }, + "appliesDomainOption": { + "message": "URL-ek a tartományban" + }, + "appliesHelp": { + "message": "Az \"Érvényes erre\" beállítással korlártozható, hogy milyen URL-ekre vonatkozik az itt lévő kód." + }, + "appliesLabel": { + "message": "Érvényes erre" + }, + "appliesLineWidgetLabel": { + "message": "Információ arról, hogy mire érvényes" + }, + "appliesLineWidgetWarning": { + "message": "Nem működik minimalizált CSS-sel" + }, + "appliesRegexpOption": { + "message": "Reguláris kifejezésre (regexp) illeszkedő URL-ek" + }, + "appliesRemove": { + "message": "Eltávolítás" + }, + "appliesRemoveError": { + "message": "Nem lehet eltávolítani az utolsó 'érvényes erre' bejegyzést" + }, + "appliesSpecify": { + "message": "Szűkítés" + }, + "appliesToEverything": { + "message": "Minden" + }, + "appliesUrlPrefixOption": { + "message": "URL-ek adott kezdettel" + }, + "applyAllUpdates": { + "message": "Minden módosítás alkalmazása" + }, + "author": { + "message": "Szerző" + }, + "backupButtons": { + "message": "Biztonsági mentés" + }, + "backupMessage": { + "message": "Válassz ki egy fájlt vagy húzd erre az oldalra!" + }, + "bckpInstStyles": { + "message": "Stílusok exportálása" + }, + "checkAllUpdates": { + "message": "Összes stílus frissítésének ellenőrzése" + }, + "checkAllUpdatesForce": { + "message": "Ellenőrizd újra, nem módosítottam egy stílust sem!" + }, + "checkForUpdate": { + "message": "Frissítések ellenőrzése" + }, + "checkingForUpdate": { + "message": "Ellenőrzés..." + }, + "clickToUninstall": { + "message": "Kattints az eltávolításhoz" + }, + "cm_autoCloseBrackets": { + "message": "Zárójelek és idézőjelek automatikus bezárása" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Nyitó '([{'zárójel gépelésekor lezáró ')]}' zárójel automatikus hozzáadása" + }, + "cm_autocompleteOnTyping": { + "message": "Automatikus kiegészítés gépeléskor" + }, + "cm_colorpicker": { + "message": "Színválasztó CSS-színekhez" + }, + "cm_indentWithTabs": { + "message": "Tabulátorok használata intelligens behúzásra" + }, + "cm_keyMap": { + "message": "Billentyűműveletek" + }, + "cm_lineWrapping": { + "message": "Automatikus sortörés" + }, + "cm_matchHighlight": { + "message": "Kijelölés" + }, + "cm_matchHighlightSelection": { + "message": "Csak kiválasztás" + }, + "cm_matchHighlightToken": { + "message": "Kurzor alatti kifejezés" + }, + "cm_resizeGripHint": { + "message": "Kattints duplán a magasság maximalizálásához/visszaállításához" + }, + "cm_selectByTokens": { + "message": "Kifejezések kijelölése dupla kattintással" + }, + "cm_selectByTokensTooltip": { + "message": "Példák kifejezésekre: .valami-2 #aabbcc 0.32 !important\nAmikor ki van kapcsolva: a központosítással elválasztott szavak ki lesznek jelölve." + }, + "cm_smartIndent": { + "message": "Intelligens behúzás" + }, + "cm_tabSize": { + "message": "Tabulátorméret" + }, + "cm_theme": { + "message": "Téma" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Formátumváltás: HEX -> RGB -> HSL.\nShift-kattintás megfordítja az irányt.\nA PgUp (PageUp) és PgDn (PageDown) billentyűkkel is lehet váltani." + }, + "colorpickerTooltip": { + "message": "Színválasztó megnyitása" + }, + "configOnChange": { + "message": "változtatáskor" + }, + "configOnChangeTooltip": { + "message": "Automatikus mentés és alkalmazás" + }, + "configureStyle": { + "message": "Konfigurálás" + }, + "configureStyleOnHomepage": { + "message": "Beállítás a honlapon" + }, + "confirmCancel": { + "message": "Mégsem" + }, + "confirmClose": { + "message": "Bezárás" + }, + "confirmDefault": { + "message": "Alapértelmezés használata" + }, + "confirmDelete": { + "message": "Törlés" + }, + "confirmDiscardChanges": { + "message": "Elveted a változásokat?" + }, + "confirmNo": { + "message": "Nem" + }, + "confirmSave": { + "message": "Mentés" + }, + "confirmStop": { + "message": "Állj" + }, + "confirmYes": { + "message": "Igen" + }, + "connectingDropbox": { + "message": "Kapcsolódás Dropboxhoz..." + }, + "connectingDropboxNotAllowed": { + "message": "Dropboxhoz csak közvetlenül a web-boltból telepített alkalmazásból lehet kapcsolódni." + }, + "copied": { + "message": "Vágólapra másolva" + }, + "copy": { + "message": "Másolás vágólapra" + }, + "dateInstalled": { + "message": "Telepítés dátuma" + }, + "dateUpdated": { + "message": "Frissítés dátuma" + }, + "dbError": { + "message": "Hiba történt a Stylus adatbázisának használatakor. Szeretnéd meglátogatni a lehetséges megoldásokat tartalmazó weboldalt?" + }, + "defaultTheme": { + "message": "alapértelmezett" + }, + "deleteStyleConfirm": { + "message": "Biztos, hogy törölni akarod ezt a stílust?" + }, + "deleteStyleLabel": { + "message": "Törlés" + }, + "description": { + "message": "Tervezd újra a webet a Stylus stíluskezelővel. A Stylus lehetővé teszi a témák és egyéni külsők egyszerű telepítését sok népszerű oldalhoz." + }, + "disableAllStyles": { + "message": "Összes stílus kikapcsolása" + }, + "disableStyleLabel": { + "message": "Letiltás" + }, + "dragDropMessage": { + "message": "Ejtsd a biztonsági másolat fájlt bárhova erre az oldalra az importáláshoz!" + }, + "editDeleteText": { + "message": "Törlés" + }, + "editGotoLine": { + "message": "Sorra (vagy sor:oszlopra) ugrás" + }, + "editStyleHeading": { + "message": "Stílus szerkesztése" + }, + "editStyleLabel": { + "message": "Szerkesztés" + }, + "editStyleTitle": { + "message": "A(z) $stylename$ stílus szerkesztése", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Engedélyezés" + }, + "excludeStyleByDomainLabel": { + "message": "Aktuális tartományt kivéve" + }, + "excludeStyleByUrlLabel": { + "message": "Aktuális URL-t kivéve" + }, + "exportLabel": { + "message": "Exportálás" + }, + "exportSavedSuccess": { + "message": "A fájl sikeresen elmentve." + }, + "externalFeedback": { + "message": "Visszajelzés" + }, + "externalHomepage": { + "message": "Kezdőoldal" + }, + "externalLink": { + "message": "Külső hivatkozás" + }, + "externalSupport": { + "message": "Támogatás" + }, + "externalUsercssDocument": { + "message": "Usercss dokumentáció" + }, + "filteredStyles": { + "message": "$numShown$ mutatva $numTotal$-ból/-ből", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Nincs illeszkedés a jelenleg alkalmazott szűrőkre" + }, + "findStyles": { + "message": "Stílusok keresése" + }, + "findStylesForSite": { + "message": "További stílusok keresése ehhez az oldalhoz" + }, + "findStylesInline": { + "message": "Helyben" + }, + "findStylesInlineTooltip": { + "message": "Keresési eredmények megjelenítése ebben az ablakban." + }, + "genericAdd": { + "message": "Hozzáadás" + }, + "genericClone": { + "message": "Klónozás" + }, + "genericDisabledLabel": { + "message": "Letiltott" + }, + "genericEnabledLabel": { + "message": "Engedélyezve" + }, + "genericError": { + "message": "Hiba" + }, + "genericHistoryLabel": { + "message": "Előzmények" + }, + "genericNext": { + "message": "Következő" + }, + "genericPrevious": { + "message": "Előző" + }, + "genericResetLabel": { + "message": "VIsszaállítás" + }, + "genericSavedMessage": { + "message": "Mentve" + }, + "genericTitle": { + "message": "Cím" + }, + "genericUnknown": { + "message": "Ismeretlen" + }, + "gettingStyles": { + "message": "Minden stílus fogadása..." + }, + "helpAlt": { + "message": "Segítség" + }, + "helpKeyMapCommand": { + "message": "Írj be egy parancsot" + }, + "helpKeyMapHotkey": { + "message": "Gyorsbillentyű" + }, + "importAppendLabel": { + "message": "Hozzáfűzés stílushoz" + }, + "importAppendTooltip": { + "message": "Az importált stílus hozzáadása a jelenlegi stílushoz" + }, + "importLabel": { + "message": "Importálás" + }, + "importReplaceLabel": { + "message": "Stílus felülírása" + }, + "importReplaceTooltip": { + "message": "A jelenlegi stílus tartalmának elvetése és annak felülírása az importált stílussal" + }, + "importReportLegendAdded": { + "message": "hozzáadva" + }, + "importReportLegendIdentical": { + "message": "kihagyott egyezések" + }, + "importReportLegendInvalid": { + "message": "kihagyott érvénytelen" + }, + "importReportLegendUpdatedBoth": { + "message": "metainformáció és kód frissítve" + }, + "importReportLegendUpdatedCode": { + "message": "frissített kód" + }, + "importReportLegendUpdatedMeta": { + "message": "metainfó frissítve" + }, + "importReportTitle": { + "message": "A stílusok importálása befejeződött." + }, + "importReportUnchanged": { + "message": "Nincs változás." + }, + "importReportUndone": { + "message": "stílusok visszavonva" + }, + "importReportUndoneTitle": { + "message": "Az importálás vissza lett vonva" + }, + "installButton": { + "message": "Stílus telepítése" + }, + "installButtonInstalled": { + "message": "Stílus telepítve" + }, + "installButtonReinstall": { + "message": "Stílus újratelepítése" + }, + "installButtonUpdate": { + "message": "Stílus frissítése" + }, + "installUpdate": { + "message": "Frissítés telepítése" + }, + "installUpdateFrom": { + "message": "A stílus jelenleg innen frissül: $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Frissítések keresése" + }, + "license": { + "message": "Licenc" + }, + "linkGetHelp": { + "message": "Segítség kérése" + }, + "linkGetStyles": { + "message": "Szerezz be stílusokat" + }, + "linkTranslate": { + "message": "Fordítás" + }, + "linterCSSLintIncompatible": { + "message": "A CSSLint nem támogatja a(z) $preprocessorname$ nevű előfeldolgozót", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Szabály megadása: 0 = letiltva; 1 = figyelmeztetés; 2 = hiba)" + }, + "linterConfigPopupTitle": { + "message": "$linter$ szabály beállítása", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Linter beállítása" + }, + "linterInvalidConfigError": { + "message": "Nincs mentve a következő érvénytelen beállítások miatt:" + }, + "linterIssues": { + "message": "Problémák" + }, + "linterIssuesHelp": { + "message": "$link$a következő hibákat találta:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Érvénytelen JSON-formátum" + }, + "linterResetMessage": { + "message": "Egy véletlen visszaállítás visszavonásához nyomj Ctrl-Z-t (vagy Cmd-Z) a szövegdobozon belül)" + }, + "linterRulesLink": { + "message": "Összes szabály listája" + }, + "liveReloadError": { + "message": "Hiba történt a fájl figyelése közben" + }, + "liveReloadLabel": { + "message": "Valós idejű újratöltés" + }, + "manageFavicons": { + "message": "Faviconok az 'Érvényes erre' oszlopban" + }, + "manageFaviconsGray": { + "message": "Megjelenítés szürkítve" + }, + "manageFaviconsHelp": { + "message": "A Stylus külső szolgáltatást használ (https://www.google.com/s2/favicons)" + }, + "manageFilters": { + "message": "Szűrők" + }, + "manageHeading": { + "message": "Telepített stílusok" + }, + "manageMaxTargets": { + "message": "'Érvényes erre' elemek kijelzendő száma" + }, + "manageNewStyleAsUsercss": { + "message": "Usercss-ként" + }, + "manageNewUI": { + "message": "Új kezelői felület" + }, + "manageOnlyDisabled": { + "message": "Csak a letiltott stílusok" + }, + "manageOnlyEnabled": { + "message": "Csak a telepített stílusok" + }, + "manageOnlyExternal": { + "message": "Csak külső stílusok" + }, + "manageOnlyLocal": { + "message": "Csak helyileg létrehozott stílusok" + }, + "manageOnlyLocalTooltip": { + "message": "(a stílusok nem a userstyles.org egyik oldaláról települtek)" + }, + "manageOnlyNonUsercss": { + "message": "Csak nem Usercss stílusok" + }, + "manageOnlyUpdates": { + "message": "Csak a frissíthetők vagy problémásak" + }, + "manageOnlyUsercss": { + "message": "Csak Usercss stílusok" + }, + "menuShowBadge": { + "message": "Aktív stílusok számlálójának mutatása" + }, + "meta_invalidCheckboxDefault": { + "message": "Érvénytelen jelölő négyzet @var: az érték csak 0 vagy 1 lehet" + }, + "meta_invalidColor": { + "message": "Érvénytelen szín @var: a(z) $color$ nem szín", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Várt elem: szám" + }, + "meta_invalidRange": { + "message": "Érvénytelen változó @var (típus: $type$): az érték csak szám vagy tömb lehet", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett értéke null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nagyobb, mint a maximum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték kisebb, mint a minimum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "Érvénytelen változó @var (típus: $type$): többféle egység van megadva", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "Érvénytelen változó @var (típus: $type$): az alapértelmezett érték nem a lépésköz többszöröse", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "Érvénytelen változó @var (típus: $type$): a tömb túl sok elemet tartalmaz", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "Érvénytelen változó @var (típus: $type$): a(z) '$units$' nem érvényes egység", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "Érvénytelen változó @var (típus: $type$): csak szám, karakterlánc vagy null típusú elem lehet a tömbben", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "Érvénytelen kiválasztó lista @var: az alapértelmezett érték tömb vagy objektum lehet csak" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Érvénytelen kiválasztó lista @var: a lista üres" + }, + "meta_invalidSelectLabel": { + "message": "Érvénytelen kiválasztó lista @var: a listaelem címkéje üres" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Érvénytelen kiválasztó lista @var: egynél több alapértelmezett elem van megadva" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Érvénytelen kiválasztó lista @var: egy listaelem kétszer szerepel" + }, + "meta_invalidSelectValue": { + "message": "Érvénytelen kiválasztó lista @var: a tömbön/objektumon belüli érték csak karakterlánc lehet" + }, + "meta_invalidSelectValueMismatch": { + "message": "Érvénytelen kiválasztó lista @var: az érték nem található a listaelemek között" + }, + "meta_invalidString": { + "message": "Várt elem: idézőjelek közti karakterlánc" + }, + "meta_invalidURLProtocol": { + "message": "Érvénytelen URL-protokoll. Csak 'http' vagy 'https' engedett: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Érvénytelen verziószám. Az érték nem illeszkedik a SemVer mintájához: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Várt elem: szó" + }, + "meta_missingChar": { + "message": "Várt karakterek: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Várt elem: EOT-adat" + }, + "meta_missingMandatory": { + "message": "Kötelező metaadat hiányzik: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "Érvénytelen JSON: a(z) $literal$ nem érvényes JSON-karakterlánc (literális)", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Ismeretlen metaadat: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "Ismeretlen @preprocesszor (előfeldolgozó): $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Ismeretlen @$varkey$ változó, típus: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "A stílusok importálásához előbb exportálni kell őket." + }, + "noStylesForSite": { + "message": "Nincs telepítve stílus ehhez az oldalhoz." + }, + "openManage": { + "message": "Kezelés" + }, + "openStylesManager": { + "message": "Stíluskezelő megnyitása" + }, + "optionsActions": { + "message": "Műveletek" + }, + "optionsAdvanced": { + "message": "Haladó" + }, + "optionsAdvancedContextDelete": { + "message": "'Törlés' parancs a szerkesztő helyi menüjében" + }, + "optionsAdvancedExposeIframes": { + "message": "iframe-ek kitevése HTML[stylus-iframe]-en keresztül" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Az oldal felső tartományának jelölése minden iframe-ben.\nLehetővé teszi az iframe-specifikus CSS írását, mint pl.:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Új stílus írása usercss-ként" + }, + "optionsBadgeDisabled": { + "message": "Háttérszín, amikor le van tiltva" + }, + "optionsBadgeNormal": { + "message": "Háttérszín" + }, + "optionsCheck": { + "message": "Stílusok frissítése" + }, + "optionsCheckUpdate": { + "message": "Az összes frissítés ellenőrzése és telepítése" + }, + "optionsCustomizeBadge": { + "message": "Ikon képe az eszköztáron" + }, + "optionsCustomizeIcon": { + "message": "Eszköztárikon" + }, + "optionsCustomizePopup": { + "message": "Felugró ablak" + }, + "optionsCustomizeSync": { + "message": "Szinkronizálás felhővel" + }, + "optionsCustomizeUpdate": { + "message": "Frissítések" + }, + "optionsHeading": { + "message": "Beállítások" + }, + "optionsIconDark": { + "message": "Sötét böngészőtémák" + }, + "optionsIconLight": { + "message": "Világos böngészőtémák" + }, + "optionsOpen": { + "message": "Megnyitás" + }, + "optionsOpenManager": { + "message": "Stílusok kezelése" + }, + "optionsPopupWidth": { + "message": "Felugró ablak szélessége (pixelben)" + }, + "optionsReset": { + "message": "Beállítások visszaállítása alapértelmezett értékre" + }, + "optionsResetButton": { + "message": "Alapértelmezés visszaállítása" + }, + "optionsSubheading": { + "message": "További beállítások" + }, + "optionsSyncConnect": { + "message": "Kapcsolódás" + }, + "optionsSyncDisconnect": { + "message": "Kapcsolat bontása" + }, + "optionsSyncLogin": { + "message": "Bejelentkezés" + }, + "optionsSyncNone": { + "message": "Nincs" + }, + "optionsSyncStatusConnected": { + "message": "Kapcsolódva" + }, + "optionsSyncStatusConnecting": { + "message": "Kapcsolódás..." + }, + "optionsSyncStatusDisconnected": { + "message": "Nincs kapcsolat" + }, + "optionsSyncStatusDisconnecting": { + "message": "Kapcsolat bontása..." + }, + "optionsSyncStatusPull": { + "message": "Stílusok helyi frissítése (pull): $loaded$/$total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "Stílusok távoli frissítése (push): $loaded$/$total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusSyncing": { + "message": "Szinkronizálás..." + }, + "optionsSyncSyncNow": { + "message": "Szinkronizálás most" + }, + "optionsUpdateImportNote": { + "message": "Amikor régebbi verzióból vagy a Stylishból importálsz stílusokat, egyszer manuálisan frissítsd a stílusokat a stíluskezelőben, hogy megbizonyosodj afelől, hogy mindegyik frissítve van!" + }, + "optionsUpdateInterval": { + "message": "Felhasználói stílus automatikus frissítési időköze órában (0=kikapcsolva)" + }, + "overwriteFileExport": { + "message": "Felülírjuk a létező fájlt?" + }, + "paginationCurrent": { + "message": "Jelenlegi oldal" + }, + "paginationEstimated": { + "message": "Becsült oldalak száma" + }, + "paginationNext": { + "message": "Következő oldal" + }, + "paginationPrevious": { + "message": "Előző oldal" + }, + "paginationTotal": { + "message": "Összes oldal" + }, + "parseUsercssError": { + "message": "A Stylus nem tudta elemezni a usercss-t" + }, + "popupAutoResort": { + "message": "Stílusok újrarendezése a felugró ablakban átkapcsoláskor" + }, + "popupBorders": { + "message": "Fehér szegély az oldalakon" + }, + "popupBordersTooltip": { + "message": "Hasznos az új Chrome sötét témáinál, mert nem színezi át az oldalszegélyeket" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, a numpaden is - be-/kikapcsolja az n-nedik stílust (a 0 10-et jelent)\n- az adott betűvel kezdődő első stílust kapcsolja be/ki \n kapcsolgatás helyett megnyitja a szerkesztőt\n listázott stílusokat engedélyez\n listázott stílusokat tilt le\n és <`> (fordított félidézőjel) - kezdeti állapotban engedélyezett stílusokat kapcsol; nem vonatkozik azokra a stílusokra, amiket később engedélyeztél, mialatt a felugró ablakocska nyitva volt, hogy vissza tudd állítani a kezdeti kiválasztást tesztelés után: egyszerűen tilts le mindent, majd pl. vagy \nTovábbi információ a wikiben" + }, + "popupHotkeysTooltip": { + "message": "Elérhető gyorsbillentyűk megtekintése" + }, + "popupManageTooltip": { + "message": "Shift+kattintás vagy jobb kattintás: a stíluskezelő megnyitása a jelenlegi oldalra érvényes stílusokkal" + }, + "popupMenuButtonTooltip": { + "message": "Műveletmenü" + }, + "popupOpenEditInWindow": { + "message": "Szerkesztő megnyitása új ablakban" + }, + "popupOpenEditInWindowTooltip": { + "message": "A fül a böngésző ablakától történő leválasztásával is engedélyezhető, és letiltható a fül egy másik ablakhoz való hozzácsatolásával." + }, + "popupStylesFirst": { + "message": "Stílusnevek a parancsok előtt" + }, + "prefShowBadge": { + "message": "A jelenlegi oldalon aktív stílusok száma" + }, + "previewLabel": { + "message": "Valós idejű előnézet" + }, + "previewTooltip": { + "message": "Átmenetileg alkalmazza a változtatásokat mentés nélkül.\nMentsd a stílust, hogy a változtatások véglegesek legyenek!" + }, + "readingStyles": { + "message": "Stílusok olvasása..." + }, + "replace": { + "message": "Csere" + }, + "replaceAll": { + "message": "Az összes cseréje" + }, + "replaceWith": { + "message": "Csere a következővel" + }, + "retrieveBckp": { + "message": "Stílusok importálása" + }, + "retrieveDropboxSync": { + "message": "Importálás Dropboxból" + }, + "search": { + "message": "Keresés" + }, + "searchCaseSensitive": { + "message": "Kis- és nagybetű megkülönböztetése" + }, + "searchNumberOfResults": { + "message": "Illeszkedések száma" + }, + "searchNumberOfResults2": { + "message": "Illeszkedések száma a kódban és célértékek" + }, + "searchRegexp": { + "message": "Használd a /re/ szintaxist a regexp kereséshez" + }, + "searchResultInstallCount": { + "message": "Összes telepítés" + }, + "searchResultNoneFound": { + "message": "Nem találhatók stílusok ehhez az oldalhoz." + }, + "searchResultRating": { + "message": "Értékelés" + }, + "searchResultUpdated": { + "message": "Frissítve" + }, + "searchResultWeeklyCount": { + "message": "Heti telepítések" + }, + "sectionAdd": { + "message": "Új szakasz hozzáadása" + }, + "sectionCode": { + "message": "Kód" + }, + "sectionRemove": { + "message": "Szekció eltávolítása" + }, + "sectionRestore": { + "message": "Eltávolított szekció visszaállítása" + }, + "shortcuts": { + "message": "Gyorsbillentyűk" + }, + "shortcutsNote": { + "message": "Gyorsbillentyűk megadása" + }, + "sortDateNewestFirst": { + "message": "újabb elöl" + }, + "sortDateOldestFirst": { + "message": "régebbi elöl" + }, + "sortLabel": { + "message": "Telepített stílusok sorbarendezésének módja" + }, + "sortLabelTitleAsc": { + "message": "Cím - növekvő sorrend" + }, + "sortLabelTitleDesc": { + "message": "Cím - csökkenő sorrend" + }, + "sortStylesHelp": { + "message": "A legördülő menüben válaszhatjuk ki, hogyan szeretnénk sorbarendezni a telepített stílusok bejegyzéseit. Az alapértelmezett beállítás a bejegyzések címei szerinti növekvő (A-tól Z-ig) sorrend. A „Cím - csökkenő sorrend” csoportban megadott rendezési módok csökkenő (Z-től A-ig) sorrendben rendezik a címeket.\nEgyéb beállításokkal több szempont alapján is rendezhetők a bejegyzések. Tekintsünk erre úgy, mint egy többoszlopos, rendezhető táblázatra, amelyben minden egyes (a plusz jelek között) kiválasztott kategória egy oszlopot vagy egy csoportot jelképez.\nPéldául, ha az van beállítva, hogy „Engedélyezve (első) + Cím”, az engedélyezett bejegyzések kerülnek a lista tetejére, majd az engedélyezett és a letiltott bejegyzések címei külön-külön, növekvő (A-tól Z-ig) sorrendben jelennek meg." + }, + "sortStylesHelpTitle": { + "message": "Tartalom rendezése" + }, + "styleBadRegexp": { + "message": "Érvénytelen reguláris kifejezés." + }, + "styleBeautify": { + "message": "Csinosít" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports behúzása" + }, + "styleBeautifyPreserveNewlines": { + "message": "Új sorok megtartása" + }, + "styleCancelEditLabel": { + "message": "Vissza a kezeléshez" + }, + "styleChangesNotSaved": { + "message": "Nem mentetted a stílusban lévő változásokat." + }, + "styleEnabledLabel": { + "message": "Engedélyezve" + }, + "styleFromMozillaFormatError": { + "message": "Nem sikerült importálni Mozilla formátumból" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla formátumú kód beillesztése" + }, + "styleInstall": { + "message": "Telepíted a(z) „$stylename$” nevű stílust a Stylusba?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "A stílus telepítése nem sikerült!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "„$stylename$” már telepítve van. Felülírod?\nVerzió: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Írj be egy nevet!" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-formátum" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "A stílus nem lett alkalmazva a „regexp()” helytelen használata miatt" + }, + "styleRegexpInvalidExplanation": { + "message": "Néhány „regexp()” szabály nem lefordítható." + }, + "styleRegexpPartialExplanation": { + "message": "A stílus olyan részlegesen illeszkedő reguláris kifejezéseket használ, amelyek sértik aCSS4@dokumentumspecifikációt, amely megköveteli az URL teljes illeszkedését. Az érintett CSS-szekciók nem kerültek alkalmazásra az oldalon. A stílus valószínűleg a Stylish-for-Chrome kiegészítőben készült, amely helytelenül ellenőrzi a „regexp()” szabályokat a legelső verziótól fogva (ismert hiba)." + }, + "styleRegexpProblemTooltip": { + "message": "A nem alkalmazott szeckiók száma helytelen 'regexp()' használat miatt" + }, + "styleRegexpTestButton": { + "message": "RegExp tesztelése" + }, + "styleRegexpTestFull": { + "message": "Illeszkedő fülek" + }, + "styleRegexpTestInvalid": { + "message": "Kihagyott, érvénytelen reguláris kifejezések" + }, + "styleRegexpTestNone": { + "message": "Nincs illeszkedő fül" + }, + "styleRegexpTestNote": { + "message": "Megjegyzés: használj egy \\-jelet speciális karakterek elrejtéséhez a regexp beviteli mezőben, amely automatikusan két \\-jellé (\\\\) lesz alakítva a CSS stíluskódban idézett karakterláncokban." + }, + "styleRegexpTestPartial": { + "message": "Nincs teljes egyezés, így ki vagy hagyva" + }, + "styleRegexpTestTitle": { + "message": "Illeszkedő megnyitott fülek megjelenítése (kattints az URL-re az arra a fülre való ugráshoz)" + }, + "styleSaveLabel": { + "message": "Mentés" + }, + "styleToMozillaFormatHelp": { + "message": "A Mozilla formátumú kódot beküldheted a userstyles.org-ra és használhatod a klasszikus Stylish Firefoxkiegészítővel." + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla formátumú stílus" + }, + "styleUpdate": { + "message": "Biztos, hogy frissíteni akarod a(z) „$stylename$” stílust?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "A stílus módosítva lett a szerkesztőn kívül. Szeretnéd újratölteni?" + }, + "stylusUnavailableForURL": { + "message": "A Stylus nem működik az ilyen oldalakon." + }, + "stylusUnavailableForURLdetails": { + "message": "Biztonsági okokból a böngésző megtiltja, hogy a kiegészítők változtatásokat tegyenek a beépített oldalain (pl. chrome://verzió, a Chrome 61 alapértelmezett „új lap” oldala, about:addons és így tovább) valamint más kiterjesztések oldalain. Ezen kívül mindegyik böngésző korlátozza a saját kiegészítőgalériájának elérését (pl. Chrome webáruház vagy a Mozilla kiegészítők oldala)" + }, + "syncDropboxStyles": { + "message": "Exportálás Dropboxba" + }, + "syncStorageErrorSaving": { + "message": "Az értéket nem lehet menteni. Próbáld meg csökkenteni a szövegmennyiséget!" + }, + "toggleStyle": { + "message": "Stílus be-/kikapcsolása" + }, + "undo": { + "message": "Visszavonás" + }, + "undoGlobal": { + "message": "Visszavonás mindegyik szekcióban" + }, + "unreachableAMO": { + "message": "A Firefox megtiltja ennek az oldalnak az elérését." + }, + "unreachableAMOHint": { + "message": "Az elérés engedélyezéséhez nyisd meg az -ot, kattints jobb egérgombbal, majd „Új”, „Logikai”, és illeszd be, hogy , és kattints az OK-ra, OK, és töltsd újra az oldalt!" + }, + "unreachableAMOHintNewFF": { + "message": "A Firefox 60-ban vagy annál újabb verzióban az AMO doménjét is el kell távolítanod a -ban levő -ból." + }, + "unreachableAMOHintOldFF": { + "message": "Csak a Firefox 59 vagy annál újabb állítható be az ilyen CSP-védett oldalak stílusának átszabása WebExtensions kiegészítőkön keresztül." + }, + "unreachableContentScript": { + "message": "Nem sikerült az oldallal történő kommunikáció. Próbáld meg újratölteni az oldalt!" + }, + "unreachableFileHint": { + "message": "A Stylus csak akkor képes hozzáférni a file:// URL-ekhez, ha engedélyezed az erre vonatkozó beállítást a Stylus kiegészítőre a chrome://extensions oldalon." + }, + "unzipStyles": { + "message": "Stílusok kibontása..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nem találhatók frissítések." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Egyes frissíthető stílusok nem lettek ellenőrizve, nehogy elvesszenek a helyi változtatások. A frissítéseket lehet erőltetni egyéni ellenőrzéssel külön-külön vagy az összes stílus ismételt ellenőrzésével (ez felülírja a helyi módosításokat)." + }, + "updateCheckFailBadResponseCode": { + "message": "Sikertelen frissítés: a szerver $code$kóddal válaszolt.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Sikertelen frissítés: nem érhető el a szerver." + }, + "updateCheckHistory": { + "message": "Frissítések ellenőrzésének előzményei" + }, + "updateCheckManualUpdateForce": { + "message": "Frissítés telepítése (a helyi módosítások felül lesznek írva)" + }, + "updateCheckManualUpdateHint": { + "message": "Egy frissítés erőltetése minden helyi szerkesztést felül fog írni." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Ez a stílus helyileg lett szerkesztve." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Lehet, hogy ezt a stílust helyileg szerkesztették" + }, + "updateCheckSucceededNoUpdate": { + "message": "A stílus legfrissebb verziója van telepítve." + }, + "updateCompleted": { + "message": "A frissítés befejeződött." + }, + "updatesCurrentlyInstalled": { + "message": "Frissítve:" + }, + "uploadingFile": { + "message": "Fájl feltöltése..." + }, + "usercssAvoidOverwriting": { + "message": "Kérlek, módosítsd a @name vagy a @namespace értékét, nehogy felül legyen írva az egyik létező stílus!" + }, + "usercssConfigIncomplete": { + "message": "A stílust frissítették vagy törölték, miután a beállítóablak megjelent. Ezek a változók nem kerültek mentésre, nehogy megsérüljön a stílus metaadata:" + }, + "usercssEditorNamePlaceholder": { + "message": "Adj meg egy @name-et a kódban" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Le legyen cserélve az alapértelmezett sablon az új Usercss stílusokhoz a jelenlegi kóddal?" + }, + "usercssReplaceTemplateName": { + "message": "Az üres @name lecseréli az alapértelmezett sablont" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Írj kódot ide…" + }, + "versionInvalidOlder": { + "message": "A verzió régebb a telepített stílusnál" + }, + "writeStyleFor": { + "message": "Stílus írása a következőhöz:" + }, + "writeStyleForURL": { + "message": "ehhez az URL-hez" + }, + "zipStyles": { + "message": "Stílusok tömörítése..." + } +} diff --git a/_locales/it/messages.json b/_locales/it/messages.json index d56eb30f..3a1aeb3d 100644 --- a/_locales/it/messages.json +++ b/_locales/it/messages.json @@ -1,1586 +1,810 @@ { - "addStyleTitle": { - "message": "Aggiungi stili", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacità", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Aggiungi", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Applica a: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "e altro ancora", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL nel dominio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Utilizza i controlli \"Applica a\" per limitare gli URL a cui viene applicato il codice in questa sezione.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Applica a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Visualizza info 'Applica a'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Non funziona con CSS minificato", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL corrispondenti all'espressione regolare", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Rimuovi", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specifica", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tutto", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL che iniziano con", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Applica tutti gli aggiornamenti", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autore", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Seleziona un file o trascinalo in questa pagina.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Esporta stili", - "description": "" - }, - "checkAllUpdates": { - "message": "Verifica la disponibilità di aggiornamenti per tutti gli stili", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Controlla di nuovo, non ho modificato nessuno stile!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Verifica la presenza di aggiornamenti", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Verifica in corso...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Clicca per disinstallare", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Chiudi automaticamente parentesi e virgolette", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Aggiungi automaticamente il simbolo di chiusura quando apri ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Completamento automatico durante digitazione", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Selezionatore colore per colori CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usa tabulazioni con indentazione intellingente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mappa caratteri", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Evidenzia", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Solo selezione", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token sotto il puntatore", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Doppio click per massimizzare/ripristinare l'altezza", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Doppio click seleziona i token", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Esempi di token: foo-bar-2 #aabbcc 0.32 !important\nQuando disabilitato: vengono selezionate le parole delimitate dalla punteggiatura.", - "description": "" - }, - "cm_smartIndent": { - "message": "Usa indentazione intelligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Dimensione tabulazione", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Apri selettore colore", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "su modifica", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Salva e applica modifiche automaticamente", - "description": "" - }, - "configureStyle": { - "message": "Configura", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configura su homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Annulla", - "description": "" - }, - "confirmClose": { - "message": "Chiudi", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Utilizza predefinito", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Elimina", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Scartare le modifiche?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Salva", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Si", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Data installazione", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data aggiornata", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Si è verificato un errore durante l'utilizzo del database Stylus. Vuoi visitare una pagina web con le possibili soluzioni?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "predefinito", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Vuoi eliminare questo stile?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Elimina", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Modifica lo stile del Web con Stylus, un gestore di stili utente. Stylus consente di installare facilmente temi e skin per Google, Facebook, YouTube, Orkut e moltissimi altri siti.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Disattiva tutti gli stili", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disattiva", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Elimina", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Vai alla riga (oppure riga:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Modifica di stili", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Modifica", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Modifica dello stile $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Attiva", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Esporta", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Link esterno", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Supporto", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentazione per Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mostrati di $numTotal$ totali", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Nessuno stile corrispondente ai filtri applicati", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Trova stili", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Trova più stili per questo sito", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Visualizza risultati in questa finestra.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Aggiungi", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clona", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disattivato", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Attivato", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Errore", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Cronologia", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Successivo", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Precedente", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reimposta", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvato", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titolo", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Sconosciuto", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Guida", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Inserisci il nome di un comando", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Digita una scorciatoia", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Aggiungi ad uno stile", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Aggiungi lo stile importato a quello corrente", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importa", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Sovrascrivi stile", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Scarta i contenuti dello stile corrente e sovrascrivili con quelli dello stile importato", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "aggiunto", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identico saltato", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalido saltato", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "info meta e codice aggiornati", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "codice aggiornato", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "info meta aggiornate", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importazione stili terminata", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Non è stato cambiato nulla.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "gli stili sono stati ripristinati", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importazione annullata", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Installa stile", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stile installato", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalla stile", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Aggiorna stile", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Installa aggiornamento", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Attualmente lo stile è aggiornato da $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Controlla aggiornamenti", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licenza", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Otteini aiuto", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Ottieni stili", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Traduci", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Imposta regola: 0 = disabilitata; 1 = warning; 2 = errore)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Imposta configurazione delle regole di $linter$", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Non salvato a causa di queste impostazioni di configurazione non valide:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemi", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Formato JSON non valido", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vedi una lista completa di regole", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Ricaricamento live", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus utilizza un servizio esterno https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtri", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Stili installati", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "come Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nuovo layout Gestione UI", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Solo stili disattivati", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Solo stili attivati", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Solo stili esterni", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Solo stili creati localmente", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Solo stili non-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Solo con aggiornamenti o problemi", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Solo stili Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Mostra contatore stili attivi", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Atteso un numero", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Attesa una stringa tra apici", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Attesa una parola", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Attesi caratteri: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Atteso EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Manca metadata obbligatorio: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "JSON non valido: $literal$ non è un letterale JSON valido", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "metadata sconosciuto: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Nessuno stile installato per questo sito.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Gestisci gli stili installati", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Apri gestore stili", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Azioni", - "description": "" - }, - "optionsAdvanced": { - "message": "Avanzato", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Aggiungi 'Elimina' al menu contestuale dell'editor", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Colore sfondo quanto disattivato", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Colore sfondo", - "description": "" - }, - "optionsCheck": { - "message": "Aggiorna stili", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Controlla e installa gli aggiornamenti disponibili", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Aggiornamenti", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Opzioni", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Temi browser scuri", - "description": "" - }, - "optionsIconLight": { - "message": "Temi browser chiari", - "description": "" - }, - "optionsOpen": { - "message": "Apri", - "description": "" - }, - "optionsOpenManager": { - "message": "Organizza stili", - "description": "" - }, - "optionsPopupWidth": { - "message": "Larghezza popup (in pixel)", - "description": "" - }, - "optionsReset": { - "message": "Reimposta le opzioni ai valori predefiniti", - "description": "" - }, - "optionsResetButton": { - "message": "Reimposta opzioni", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Più Opzioni", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Quando importi backup di stili da una vecchia versione di Stylish, esegui un controllo una tantum manualmente nel gestore stili per assicurarti che siano tutti aggiornati.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Pagina corrente", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Numero stimato di pagine", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Pagine successiva", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Pagine precedente", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Totale pagine", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Aggiungi bordi bianchi sui lati", - "description": "" - }, - "popupBordersTooltip": { - "message": "Utile per temi scuri nelle nuove versioni di Chrome dato che non colora più i bordi laterali", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click per visualizzare le scorciatoie disponibili", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click o click destro apre il gestore con gli stili applicabili per il sito corrente", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Apri editor in una nuova finestra", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Stili attivi per il sito attuale", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Anteprima live", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Applica temporaneamente le modifiche senza salvarle.\nSalva lo stile per rendere le modifiche permanenti.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Sostituisci", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Sostituisci tutto", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Sostituisci con", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importa stili", - "description": "" - }, - "search": { - "message": "Cerca", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Numero di occorrenze", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Installazioni totali", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nessuno stile trovato per questo sito.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Valutazioni", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Aggiornato", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Installazioni settimanali", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Aggiungi un'altra sezione", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Codice", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Rimuovi sezione", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Scorciatoie", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Definisci scorciatoie da tastiera", - "description": "" - }, - "sortDateNewestFirst": { - "message": "prima i più recenti", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "prima i più vecchi", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Seleziona come ordinare gli stili installati", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titolo Discendente", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Ordina contenuti", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp non valida.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Mantieni gli \"a capo\"", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Torna a gestione", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Hai apportato modifiche a questo stile senza salvare.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Attivato", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Importazione da formato Mozilla fallita", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Incolla il codice formato Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Installare \"$stylename$\" in Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Installazione stile fallita!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' è già installato. Vuoi sovrascriverlo?\nVersione: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Inserisci un nome", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Lo stile non è stato applicato a causa dell'uso errato di 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Qualche regola 'regexp()' che non può essere compilata.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Numero di sezioni non applicato a causa dell'uso errato di 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Test RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Regexp invalida ignorata", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Salva", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Il formato Mozilla del codice può essere utilizzato con Stylish per Firefox e può essere inviato a userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stile in formato Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Sei sicuro di voler aggiornare '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus non funziona in pagine come questa.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Il valore non può essere salvato. Prova a ridurre la quantità di testo.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Annulla", - "description": "Button label" - }, - "undoGlobal": { - "message": "Annulla in tutte le sezioni", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox proibisce l'accesso al sito.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Solo Firefox 59 e successivi possono essere configurati per consentire alle WebExtensions di aggiungere elementi degli stili su siti CSP-protected come questo.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Impossibile comunicare con la pagina. Prova a ricaricare la scheda.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nessun aggiornamento trovato", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Alcuni aggiornamenti di stili non sono stati controllati per evitare la perdita di modifiche locali. Gli aggiornamenti possono essere forzati individualmente, o eseguendo un ulteriore controllo per tutti gli stili (le modifiche locali saranno sovrascritte).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Aggiornamento non riuscito: il server ha risposto con il codice $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Aggiornamento non riuscito: server non raggiungibile.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Cronologia controlli aggiornamento", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Installa aggiornamento (le modifiche locali verranno sovrascritte)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forzare un aggiornamento sovrascriverà tutte le modifiche locali", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Questo stile è stato editato localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Lo stile è aggiornato.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aggiornamento completato.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Aggiornamenti installati:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Inserisci codice qui...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "La versione dello stile è più vecchia di quella installata.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Scrivi stile per:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "questo URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Scrivi nuovo stile", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Scrivi nuovo stile" + }, + "addStyleTitle": { + "message": "Aggiungi stili" + }, + "alphaChannel": { + "message": "Opacità" + }, + "appliesAdd": { + "message": "Aggiungi" + }, + "appliesDisplay": { + "message": "Applica a: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "e altro ancora" + }, + "appliesDomainOption": { + "message": "URL nel dominio" + }, + "appliesHelp": { + "message": "Utilizza i controlli \"Applica a\" per limitare gli URL a cui viene applicato il codice in questa sezione." + }, + "appliesLabel": { + "message": "Applica a" + }, + "appliesLineWidgetLabel": { + "message": "Visualizza info 'Applica a'" + }, + "appliesLineWidgetWarning": { + "message": "Non funziona con CSS minificato" + }, + "appliesRegexpOption": { + "message": "URL corrispondenti all'espressione regolare" + }, + "appliesRemove": { + "message": "Rimuovi" + }, + "appliesSpecify": { + "message": "Specifica" + }, + "appliesToEverything": { + "message": "Tutto" + }, + "appliesUrlPrefixOption": { + "message": "URL che iniziano con" + }, + "applyAllUpdates": { + "message": "Applica tutti gli aggiornamenti" + }, + "author": { + "message": "Autore" + }, + "backupMessage": { + "message": "Seleziona un file o trascinalo in questa pagina." + }, + "bckpInstStyles": { + "message": "Esporta stili" + }, + "checkAllUpdates": { + "message": "Verifica la disponibilità di aggiornamenti per tutti gli stili" + }, + "checkAllUpdatesForce": { + "message": "Controlla di nuovo, non ho modificato nessuno stile!" + }, + "checkForUpdate": { + "message": "Verifica la presenza di aggiornamenti" + }, + "checkingForUpdate": { + "message": "Verifica in corso..." + }, + "clickToUninstall": { + "message": "Clicca per disinstallare" + }, + "cm_autoCloseBrackets": { + "message": "Chiudi automaticamente parentesi e virgolette" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Aggiungi automaticamente il simbolo di chiusura quando apri ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Completamento automatico durante digitazione" + }, + "cm_colorpicker": { + "message": "Selezionatore colore per colori CSS" + }, + "cm_indentWithTabs": { + "message": "Usa tabulazioni con indentazione intellingente" + }, + "cm_keyMap": { + "message": "Mappa caratteri" + }, + "cm_matchHighlight": { + "message": "Evidenzia" + }, + "cm_matchHighlightSelection": { + "message": "Solo selezione" + }, + "cm_matchHighlightToken": { + "message": "Token sotto il puntatore" + }, + "cm_resizeGripHint": { + "message": "Doppio click per massimizzare/ripristinare l'altezza" + }, + "cm_selectByTokens": { + "message": "Doppio click seleziona i token" + }, + "cm_selectByTokensTooltip": { + "message": "Esempi di token: foo-bar-2 #aabbcc 0.32 !important\nQuando disabilitato: vengono selezionate le parole delimitate dalla punteggiatura." + }, + "cm_smartIndent": { + "message": "Usa indentazione intelligente" + }, + "cm_tabSize": { + "message": "Dimensione tabulazione" + }, + "cm_theme": { + "message": "Tema" + }, + "colorpickerTooltip": { + "message": "Apri selettore colore" + }, + "configOnChange": { + "message": "su modifica" + }, + "configOnChangeTooltip": { + "message": "Salva e applica modifiche automaticamente" + }, + "configureStyle": { + "message": "Configura" + }, + "configureStyleOnHomepage": { + "message": "Configura su homepage" + }, + "confirmCancel": { + "message": "Annulla" + }, + "confirmClose": { + "message": "Chiudi" + }, + "confirmDefault": { + "message": "Utilizza predefinito" + }, + "confirmDelete": { + "message": "Elimina" + }, + "confirmDiscardChanges": { + "message": "Scartare le modifiche?" + }, + "confirmSave": { + "message": "Salva" + }, + "confirmYes": { + "message": "Si" + }, + "dateInstalled": { + "message": "Data installazione" + }, + "dateUpdated": { + "message": "Data aggiornata" + }, + "dbError": { + "message": "Si è verificato un errore durante l'utilizzo del database Stylus. Vuoi visitare una pagina web con le possibili soluzioni?" + }, + "defaultTheme": { + "message": "predefinito" + }, + "deleteStyleConfirm": { + "message": "Vuoi eliminare questo stile?" + }, + "deleteStyleLabel": { + "message": "Elimina" + }, + "description": { + "message": "Modifica lo stile del Web con Stylus, un gestore di stili utente. Stylus consente di installare facilmente temi e skin per Google, Facebook, YouTube, Orkut e moltissimi altri siti." + }, + "disableAllStyles": { + "message": "Disattiva tutti gli stili" + }, + "disableStyleLabel": { + "message": "Disattiva" + }, + "editDeleteText": { + "message": "Elimina" + }, + "editGotoLine": { + "message": "Vai alla riga (oppure riga:col)" + }, + "editStyleHeading": { + "message": "Modifica di stili" + }, + "editStyleLabel": { + "message": "Modifica" + }, + "editStyleTitle": { + "message": "Modifica dello stile $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Attiva" + }, + "exportLabel": { + "message": "Esporta" + }, + "externalLink": { + "message": "Link esterno" + }, + "externalSupport": { + "message": "Supporto" + }, + "externalUsercssDocument": { + "message": "Documentazione per Usercss" + }, + "filteredStyles": { + "message": "$numShown$ mostrati di $numTotal$ totali", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Nessuno stile corrispondente ai filtri applicati" + }, + "findStyles": { + "message": "Trova stili" + }, + "findStylesForSite": { + "message": "Trova più stili per questo sito" + }, + "findStylesInlineTooltip": { + "message": "Visualizza risultati in questa finestra." + }, + "genericAdd": { + "message": "Aggiungi" + }, + "genericClone": { + "message": "Clona" + }, + "genericDisabledLabel": { + "message": "Disattivato" + }, + "genericEnabledLabel": { + "message": "Attivato" + }, + "genericError": { + "message": "Errore" + }, + "genericHistoryLabel": { + "message": "Cronologia" + }, + "genericNext": { + "message": "Successivo" + }, + "genericPrevious": { + "message": "Precedente" + }, + "genericResetLabel": { + "message": "Reimposta" + }, + "genericSavedMessage": { + "message": "Salvato" + }, + "genericTitle": { + "message": "Titolo" + }, + "genericUnknown": { + "message": "Sconosciuto" + }, + "helpAlt": { + "message": "Guida" + }, + "helpKeyMapCommand": { + "message": "Inserisci il nome di un comando" + }, + "helpKeyMapHotkey": { + "message": "Digita una scorciatoia" + }, + "importAppendLabel": { + "message": "Aggiungi ad uno stile" + }, + "importAppendTooltip": { + "message": "Aggiungi lo stile importato a quello corrente" + }, + "importLabel": { + "message": "Importa" + }, + "importReplaceLabel": { + "message": "Sovrascrivi stile" + }, + "importReplaceTooltip": { + "message": "Scarta i contenuti dello stile corrente e sovrascrivili con quelli dello stile importato" + }, + "importReportLegendAdded": { + "message": "aggiunto" + }, + "importReportLegendIdentical": { + "message": "identico saltato" + }, + "importReportLegendInvalid": { + "message": "invalido saltato" + }, + "importReportLegendUpdatedBoth": { + "message": "info meta e codice aggiornati" + }, + "importReportLegendUpdatedCode": { + "message": "codice aggiornato" + }, + "importReportLegendUpdatedMeta": { + "message": "info meta aggiornate" + }, + "importReportTitle": { + "message": "Importazione stili terminata" + }, + "importReportUnchanged": { + "message": "Non è stato cambiato nulla." + }, + "importReportUndone": { + "message": "gli stili sono stati ripristinati" + }, + "importReportUndoneTitle": { + "message": "Importazione annullata" + }, + "installButton": { + "message": "Installa stile" + }, + "installButtonInstalled": { + "message": "Stile installato" + }, + "installButtonReinstall": { + "message": "Reinstalla stile" + }, + "installButtonUpdate": { + "message": "Aggiorna stile" + }, + "installUpdate": { + "message": "Installa aggiornamento" + }, + "installUpdateFrom": { + "message": "Attualmente lo stile è aggiornato da $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Controlla aggiornamenti" + }, + "license": { + "message": "Licenza" + }, + "linkGetHelp": { + "message": "Otteini aiuto" + }, + "linkGetStyles": { + "message": "Ottieni stili" + }, + "linkTranslate": { + "message": "Traduci" + }, + "linterCSSLintSettings": { + "message": "(Imposta regola: 0 = disabilitata; 1 = warning; 2 = errore)" + }, + "linterConfigPopupTitle": { + "message": "Imposta configurazione delle regole di $linter$", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterInvalidConfigError": { + "message": "Non salvato a causa di queste impostazioni di configurazione non valide:" + }, + "linterIssues": { + "message": "Problemi" + }, + "linterJSONError": { + "message": "Formato JSON non valido" + }, + "linterRulesLink": { + "message": "Vedi una lista completa di regole" + }, + "liveReloadLabel": { + "message": "Ricaricamento live" + }, + "manageFaviconsHelp": { + "message": "Stylus utilizza un servizio esterno https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtri" + }, + "manageHeading": { + "message": "Stili installati" + }, + "manageNewStyleAsUsercss": { + "message": "come Usercss" + }, + "manageNewUI": { + "message": "Nuovo layout Gestione UI" + }, + "manageOnlyDisabled": { + "message": "Solo stili disattivati" + }, + "manageOnlyEnabled": { + "message": "Solo stili attivati" + }, + "manageOnlyExternal": { + "message": "Solo stili esterni" + }, + "manageOnlyLocal": { + "message": "Solo stili creati localmente" + }, + "manageOnlyNonUsercss": { + "message": "Solo stili non-Usercss" + }, + "manageOnlyUpdates": { + "message": "Solo con aggiornamenti o problemi" + }, + "manageOnlyUsercss": { + "message": "Solo stili Usercss" + }, + "menuShowBadge": { + "message": "Mostra contatore stili attivi" + }, + "meta_invalidNumber": { + "message": "Atteso un numero" + }, + "meta_invalidString": { + "message": "Attesa una stringa tra apici" + }, + "meta_invalidWord": { + "message": "Attesa una parola" + }, + "meta_missingChar": { + "message": "Attesi caratteri: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Atteso EOT" + }, + "meta_missingMandatory": { + "message": "Manca metadata obbligatorio: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "JSON non valido: $literal$ non è un letterale JSON valido", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "metadata sconosciuto: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "noStylesForSite": { + "message": "Nessuno stile installato per questo sito." + }, + "openManage": { + "message": "Gestisci gli stili installati" + }, + "openStylesManager": { + "message": "Apri gestore stili" + }, + "optionsActions": { + "message": "Azioni" + }, + "optionsAdvanced": { + "message": "Avanzato" + }, + "optionsAdvancedContextDelete": { + "message": "Aggiungi 'Elimina' al menu contestuale dell'editor" + }, + "optionsBadgeDisabled": { + "message": "Colore sfondo quanto disattivato" + }, + "optionsBadgeNormal": { + "message": "Colore sfondo" + }, + "optionsCheck": { + "message": "Aggiorna stili" + }, + "optionsCheckUpdate": { + "message": "Controlla e installa gli aggiornamenti disponibili" + }, + "optionsCustomizeUpdate": { + "message": "Aggiornamenti" + }, + "optionsHeading": { + "message": "Opzioni" + }, + "optionsIconDark": { + "message": "Temi browser scuri" + }, + "optionsIconLight": { + "message": "Temi browser chiari" + }, + "optionsOpen": { + "message": "Apri" + }, + "optionsOpenManager": { + "message": "Organizza stili" + }, + "optionsPopupWidth": { + "message": "Larghezza popup (in pixel)" + }, + "optionsReset": { + "message": "Reimposta le opzioni ai valori predefiniti" + }, + "optionsResetButton": { + "message": "Reimposta opzioni" + }, + "optionsSubheading": { + "message": "Più Opzioni" + }, + "optionsUpdateImportNote": { + "message": "Quando importi backup di stili da una vecchia versione di Stylish, esegui un controllo una tantum manualmente nel gestore stili per assicurarti che siano tutti aggiornati." + }, + "paginationCurrent": { + "message": "Pagina corrente" + }, + "paginationEstimated": { + "message": "Numero stimato di pagine" + }, + "paginationNext": { + "message": "Pagine successiva" + }, + "paginationPrevious": { + "message": "Pagine precedente" + }, + "paginationTotal": { + "message": "Totale pagine" + }, + "popupBorders": { + "message": "Aggiungi bordi bianchi sui lati" + }, + "popupBordersTooltip": { + "message": "Utile per temi scuri nelle nuove versioni di Chrome dato che non colora più i bordi laterali" + }, + "popupHotkeysTooltip": { + "message": "Click per visualizzare le scorciatoie disponibili" + }, + "popupManageTooltip": { + "message": "Shift-click o click destro apre il gestore con gli stili applicabili per il sito corrente" + }, + "popupOpenEditInWindow": { + "message": "Apri editor in una nuova finestra" + }, + "prefShowBadge": { + "message": "Stili attivi per il sito attuale" + }, + "previewLabel": { + "message": "Anteprima live" + }, + "previewTooltip": { + "message": "Applica temporaneamente le modifiche senza salvarle.\nSalva lo stile per rendere le modifiche permanenti." + }, + "replace": { + "message": "Sostituisci" + }, + "replaceAll": { + "message": "Sostituisci tutto" + }, + "replaceWith": { + "message": "Sostituisci con" + }, + "retrieveBckp": { + "message": "Importa stili" + }, + "search": { + "message": "Cerca" + }, + "searchNumberOfResults": { + "message": "Numero di occorrenze" + }, + "searchResultInstallCount": { + "message": "Installazioni totali" + }, + "searchResultNoneFound": { + "message": "Nessuno stile trovato per questo sito." + }, + "searchResultRating": { + "message": "Valutazioni" + }, + "searchResultUpdated": { + "message": "Aggiornato" + }, + "searchResultWeeklyCount": { + "message": "Installazioni settimanali" + }, + "sectionAdd": { + "message": "Aggiungi un'altra sezione" + }, + "sectionCode": { + "message": "Codice" + }, + "sectionRemove": { + "message": "Rimuovi sezione" + }, + "shortcuts": { + "message": "Scorciatoie" + }, + "shortcutsNote": { + "message": "Definisci scorciatoie da tastiera" + }, + "sortDateNewestFirst": { + "message": "prima i più recenti" + }, + "sortDateOldestFirst": { + "message": "prima i più vecchi" + }, + "sortLabel": { + "message": "Seleziona come ordinare gli stili installati" + }, + "sortLabelTitleDesc": { + "message": "Titolo Discendente" + }, + "sortStylesHelpTitle": { + "message": "Ordina contenuti" + }, + "styleBadRegexp": { + "message": "Regexp non valida." + }, + "styleBeautifyPreserveNewlines": { + "message": "Mantieni gli \"a capo\"" + }, + "styleCancelEditLabel": { + "message": "Torna a gestione" + }, + "styleChangesNotSaved": { + "message": "Hai apportato modifiche a questo stile senza salvare." + }, + "styleEnabledLabel": { + "message": "Attivato" + }, + "styleFromMozillaFormatError": { + "message": "Importazione da formato Mozilla fallita" + }, + "styleFromMozillaFormatPrompt": { + "message": "Incolla il codice formato Mozilla" + }, + "styleInstall": { + "message": "Installare \"$stylename$\" in Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Installazione stile fallita!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' è già installato. Vuoi sovrascriverlo?\nVersione: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Inserisci un nome" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Lo stile non è stato applicato a causa dell'uso errato di 'regexp()'" + }, + "styleRegexpInvalidExplanation": { + "message": "Qualche regola 'regexp()' che non può essere compilata." + }, + "styleRegexpProblemTooltip": { + "message": "Numero di sezioni non applicato a causa dell'uso errato di 'regexp()'" + }, + "styleRegexpTestButton": { + "message": "Test RegExp" + }, + "styleRegexpTestInvalid": { + "message": "Regexp invalida ignorata" + }, + "styleSaveLabel": { + "message": "Salva" + }, + "styleToMozillaFormatHelp": { + "message": "Il formato Mozilla del codice può essere utilizzato con Stylish per Firefox e può essere inviato a userstyles.org." + }, + "styleToMozillaFormatTitle": { + "message": "Stile in formato Mozilla" + }, + "styleUpdate": { + "message": "Sei sicuro di voler aggiornare '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "stylusUnavailableForURL": { + "message": "Stylus non funziona in pagine come questa." + }, + "syncStorageErrorSaving": { + "message": "Il valore non può essere salvato. Prova a ridurre la quantità di testo." + }, + "undo": { + "message": "Annulla" + }, + "undoGlobal": { + "message": "Annulla in tutte le sezioni" + }, + "unreachableAMO": { + "message": "Firefox proibisce l'accesso al sito." + }, + "unreachableAMOHintOldFF": { + "message": "Solo Firefox 59 e successivi possono essere configurati per consentire alle WebExtensions di aggiungere elementi degli stili su siti CSP-protected come questo." + }, + "unreachableContentScript": { + "message": "Impossibile comunicare con la pagina. Prova a ricaricare la scheda." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nessun aggiornamento trovato" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Alcuni aggiornamenti di stili non sono stati controllati per evitare la perdita di modifiche locali. Gli aggiornamenti possono essere forzati individualmente, o eseguendo un ulteriore controllo per tutti gli stili (le modifiche locali saranno sovrascritte)." + }, + "updateCheckFailBadResponseCode": { + "message": "Aggiornamento non riuscito: il server ha risposto con il codice $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Aggiornamento non riuscito: server non raggiungibile." + }, + "updateCheckHistory": { + "message": "Cronologia controlli aggiornamento" + }, + "updateCheckManualUpdateForce": { + "message": "Installa aggiornamento (le modifiche locali verranno sovrascritte)" + }, + "updateCheckManualUpdateHint": { + "message": "Forzare un aggiornamento sovrascriverà tutte le modifiche locali" + }, + "updateCheckSkippedLocallyEdited": { + "message": "Questo stile è stato editato localmente." + }, + "updateCheckSucceededNoUpdate": { + "message": "Lo stile è aggiornato." + }, + "updateCompleted": { + "message": "Aggiornamento completato." + }, + "updatesCurrentlyInstalled": { + "message": "Aggiornamenti installati:" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Inserisci codice qui..." + }, + "versionInvalidOlder": { + "message": "La versione dello stile è più vecchia di quella installata." + }, + "writeStyleFor": { + "message": "Scrivi stile per:" + }, + "writeStyleForURL": { + "message": "questo URL" + } +} diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index b987054e..db8a916a 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -1,1586 +1,1344 @@ { - "addStyleTitle": { - "message": "スタイルを追加", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "追加", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "適用先: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "さらに表示", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "ドメイン上の URL", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "「適用先」を使用すると、このセクションのコードが適用される URL を制限することができます。", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "適用先", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "「適用先」の情報を表示", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "圧縮されたCSSでは機能しません", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "正規表現に一致する URL", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "削除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "「適用先」の最後の項目を削除することはできません", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "個別指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "すべて", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "次で始まる URL", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "すべての更新を適用", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "バックアップ", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "ファイルを選択するか、このページにドラッグ&ドロップしてください。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "スタイルをエクスポート", - "description": "" - }, - "checkAllUpdates": { - "message": "全スタイルの更新をチェック", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "全スタイルを再チェックします。私はスタイルを編集していません!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "更新をチェック", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "チェック中...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "クリックでアンインストール", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "括弧と引用符を自動的に閉じる", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "()[]{}''\"\" の開き括弧/引用符の入力時に、対応する閉じ括弧/引用符を自動的に追加します", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "入力の自動補完を有効にする", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSSの色選択ツールを使用する", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "スマートインデントにタブ文字を使用", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "キーマップ", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "ワードラップを有効にする", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "ハイライト", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "選択した単語のみ", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "カーソル下の単語", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "ダブルクリックで高さを最大化/元に戻す", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "ダブルクリックでトークンを選択する", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "トークンの例: .foo-bar-2 #aabbcc 0.32 !important\n無効にすると、記号で区切られた範囲で単語が選択されます。", - "description": "" - }, - "cm_smartIndent": { - "message": "スマートインデントを使用する", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "タブサイズ", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "テーマ", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "見本を右クリックして対応するソース行を選択します", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "フォーマット切り替え: HEX -> RGB -> HSL\nシフトを押しながらクリックすると逆向きに切り替えます。\nまた、PgUp (PageUp), PgDn (PageDown) キーも使用できます。", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "色選択ツールを開きます", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "変更時", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "自動保存して変更を自動的に適用します", - "description": "" - }, - "configureStyle": { - "message": "設定", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "ホームページ上で設定", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "キャンセル", - "description": "" - }, - "confirmClose": { - "message": "閉じる", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "デフォルトを使用", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "削除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "変更を破棄しますか?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "いいえ", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "保存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "中止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "はい", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "クリップボードへコピーしました", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "クリップボードへコピー", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "(更新を妨げない)UI 上でのみ有効なスタイルのカスタム名を入力してください", - "description": "" - }, - "customNameResetHint": { - "message": "カスタム名の使用をやめ、スタイル自身の名称に切り替えます", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "インストール日", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylusのデータベース使用中にエラーが発生しました。考えられる解決策を記載したWebページを開きますか?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "デフォルト", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "このスタイルを削除してもよろしいですか?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "削除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus でウェブのデザインを変更しましょう。これは、ユーザースタイルを管理するツールです。Stylus を利用すると、多くの人気サイト向けのテーマやスキンを簡単にインストールできます。", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "すべてのスタイルをオフにする", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "無効化", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "このページの任意の場所にバックアップファイルをドロップしてインポートします。", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "ファイルをインストールするときは、タブ(タイトルが表示されている領域)にドロップしてください。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "削除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "行(または行:列)に移動", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "スタイルを編集", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "編集", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "スタイル「$stylename$」を編集", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "有効化", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "現在のドメインを除外", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "現在のURLを除外", - "description": "" - }, - "exportLabel": { - "message": "エクスポート", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "フィードバック", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "ホームページ", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部リンク", - "description": "Label for external links" - }, - "externalSupport": { - "message": "サポート", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercssの文書", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numTotal$ 件中の $numShown$ 件を表示", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "現在のフィルターにマッチするスタイルはありません", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "スタイルを検索", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "このサイト用のスタイルを検索", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "結果を下に表示", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "検索結果をこのウィンドウに表示", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "追加", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "複製", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "無効化", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "有効", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "エラー", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "履歴", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "次", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "前", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "リセット", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "保存しました", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "タイトル", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "不明", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "ヘルプ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "コマンド名を入力", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "ホットキーを押す", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "使用中のブラウザの現在のバージョンの不具合のため、このホストは無効にされています", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "スタイルに追加", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "インポートされたスタイルを現在のスタイルに追加する", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "インポート", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "@preprocessorを含むスタイルは、クラシックモードでは機能しません。エディタをUsercssモードにしてください : 1) スタイルマネージャーを開きます, 2)「Usercssとして」チェックボックスをONにします, 3)「新スタイルを作成」をクリックします", - "description": "" - }, - "importPreprocessorTitle": { - "message": "@preprocessorの潜在的な問題", - "description": "" - }, - "importReplaceLabel": { - "message": "スタイルを上書き", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "現在のスタイルの内容を破棄し、インポートされたスタイルで上書きする", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "件のスタイルを追加しました", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "件の同一のスタイルをスキップしました", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "件の無効なスタイルをスキップしました", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "件のメタ情報とコードを更新しました", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "件のコードを更新しました", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "件のメタ情報を更新しました", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "スタイルのインポートが終了しました", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "変更がありませんでした。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "件のスタイルを元に戻しました", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "インポートが取り消されました", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "インストール", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "インストール済み", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "再インストール", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新", - "description": "Label for update button" - }, - "installUpdate": { - "message": "更新をインストール", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "現在、このスタイルは「$url$」から更新されます", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "更新をチェック", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "ライセンス", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "ヘルプ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "スタイルを取得", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "ウィキ", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "翻訳", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLintは「$preprocessorname$」プリプロセッサをサポートしていません", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(次のようにルールを設定してください: 0=無効, 1=警告, 2=エラー)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$ のルールを設定する", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Linterの設定を行うときはクリックしてください", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "これらの不正な設定のために保存されませんでした:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "問題点", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ によってこれらの問題点が見つかりました:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "不正なJSONフォーマットです", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "予期しないリセットを復旧するには、テキストボックス内で Ctrl-Z(または Cmd-Z)を押してください", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "ルールの完全なリストを見る", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "ファイルの監視中にエラーが発生しました", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "外部の変更時にスタイルを自動更新する場合は、このタブを開いたままにしておいてください。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "外部の変更時にスタイルを自動更新する場合は、このタブと元のタブを開いたままにしておいてください。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "自動リロード", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "適用先欄のファビコン", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "ファビコンをグレー表示", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylusは外部サービスを使用します https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "フィルター", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "インストール済みスタイル", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "適用先欄の表示件数", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercssとして", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新しい管理UIレイアウト", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "無効なスタイルのみ", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "有効なスタイルのみ", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "外部取得スタイルのみ", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "ローカル作成スタイルのみ", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(userstyles.orgのページからインストールされていないスタイル)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "非Usercssスタイルのみ", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "更新もしくは問題があるスタイルのみ", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Usercssスタイルのみ", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "アクティブなスタイルの数を表示する", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "不正な @var チェックボックス: 値は0か1である必要があります", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "不正な @var 色: $color$は有効な色ではありません", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "不正な @var $type$: 値は数値か配列である必要があります", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "不正な @var $type$: 複数の単位が定義されています", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "不正な @var $type$: 配列の要素が多すぎます", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "不正な @var $type$: 配列の要素は、数値,文字列またはnullである必要があります", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "不正な @var $type$: デフォルト値がnullです", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "不正な @var $type$: デフォルト値が最小値を下回っています", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "不正な @var $type$: デフォルト値が最大値を上回っています", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "不正な @var $type$: デフォルト値がステップ値の倍数になっていません", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "不正な @var $type$: '$units$' は有効な単位ではありません", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "不正な @var 選択: デフォルト値は、配列またはオブジェクトである必要があります", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "不正な @var 選択: 配列/オブジェクト内の値は文字列である必要があります", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "不正な @var 選択: オプションのリストが空です", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "不正な @var 選択: オプションのラベルが空です", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "不正な @var 選択: 複数のデフォルトオプションが定義されています", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "不正な @var 選択: オプション名が重複しています", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "不正な @var 選択: 値がオプションのリストに存在しません", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "不正なURLプロトコル。httpかhttpsのみ許可されています: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "不正なバージョン番号。値がバージョン番号のパターンに合っていません: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "数値を入力してください", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "クォートで囲まれた文字列を入力してください", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "単語を入力してください", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "文字を入力してください: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "EOTデータを入力してください", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "必須のメタデータがありません: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "不正なJSON: $literal$ は有効なJSONデータではありません", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "不明なメタデータ: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "不明な @$varkey$ タイプ: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "不明な @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "該当するスタイルはありません。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "オプション", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "スタイルマネージャーを開く", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "アクション", - "description": "" - }, - "optionsAdvanced": { - "message": "上級者向け", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "エディタのコンテキストメニューに「削除」を追加する", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "HTML[stylus-iframe] によってiframeへのアクセスを可能にする", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "各iframeにトップサイトドメインを公開します。\n次のようにiframe用のCSSを書くことができるようになります:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "新しいスタイルを usercss として作成します", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "スタイルのアセットを許可するためにCSPにパッチを当てる", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "厳格なCSP(Content-Security-Policy)を持つサイトで、ロードできない画像やフォントを含んだスタイルの場合に、これを有効にします。\n\nこの設定を有効にすると、CSPの制限をゆるめて、必要なコンテンツのロードを許可します。このオプションは、潜在的なセキュリティへの影響を理解し、許可しているコンテンツを監視する責任を持つことができる上級ユーザーのみを対象としています。 詳細については、CSSベースの攻撃に関する資料をお読みください。\n\nまた、インストールされている別の拡張機能が最初にネットワークの応答を変更した場合、この特別な設定が有効になるとは限らないことに注意してください。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "即時更新モード", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "閲覧時に、スタイルの指定されていないコンテンツが点滅するような場合に有効にしてください。これは、ダークテーマで特に目立つことがあります。\n\n技術的な原因は、Chrome/Chromium が拡張機能との非同期通信を遅延することです。これは(無意味なことが多いですが)ページのロード時間の短縮のために行われ、スタイルの適用を遅延する場合があります。これを回避するため(web拡張自体は同期通信APIを提供していないので)、Stylusは「非推奨」の XMLHttpRequest web API をスタイルの読み込みに使用するオプションを提供しています。サーバからページがダウンロードされている間に、リクエストは数ミリ秒で終了するため、悪影響はありません。\n\nそれでも、Chromium は、開発者ツールのコンソールに警告を出力します。 警告を右クリックして非表示にすると、以後は警告を表示しないようにすることができます。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "無効にしたときの背景色", - "description": "" - }, - "optionsBadgeNormal": { - "message": "背景色", - "description": "" - }, - "optionsCheck": { - "message": "スタイルを更新", - "description": "" - }, - "optionsCheckUpdate": { - "message": "使用可能なすべての更新を確認してインストールする", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "アイコンの修飾", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "ツールバーアイコン", - "description": "" - }, - "optionsCustomizePopup": { - "message": "ポップアップ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "更新設定", - "description": "" - }, - "optionsCustomizeSync": { - "message": "クラウドとの同期", - "description": "" - }, - "optionsHeading": { - "message": "オプション", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "暗いブラウザのテーマ", - "description": "" - }, - "optionsIconLight": { - "message": "明るいブラウザのテーマ", - "description": "" - }, - "optionsOpen": { - "message": "開く", - "description": "" - }, - "optionsOpenManager": { - "message": "スタイルを管理", - "description": "" - }, - "optionsPopupWidth": { - "message": "ポップアップの幅(ピクセル単位)", - "description": "" - }, - "optionsReset": { - "message": "オプションをデフォルト値にリセットする", - "description": "" - }, - "optionsResetButton": { - "message": "オプションをリセット", - "description": "" - }, - "optionsStylusThemes": { - "message": "StylusのUIテーマを見つける", - "description": "" - }, - "optionsSubheading": { - "message": "その他のオプション", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "旧バージョンまたはStylishからスタイルのバックアップをインポートする場合は、スタイルマネージャで一度手動で更新チェックを行い、すべてのスタイルが確実に更新されるようにしてください。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "ユーザースタイルの自動更新間隔(時間単位)(0を指定すると更新しません)", - "description": "" - }, - "optionsSyncNone": { - "message": "未選択", - "description": "" - }, - "optionsSyncConnect": { - "message": "接続", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "切断", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "すぐに同期", - "description": "" - }, - "optionsSyncLogin": { - "message": "ログイン", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "スタイルをダウンロード中 ( $loaded$/ $total$)", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "スタイルをアップロード中( $loaded$/ $total$)", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "同期中...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "接続中...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "接続状態", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "切断中...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "切断状態", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "セッションの期限が切れました。ログインし直してください。", - "description": "" - }, - "paginationCurrent": { - "message": "現在のページ", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "推定ページ数", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "次ページ", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "前ページ", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "総ページ数", - "description": "" - }, - "parseUsercssError": { - "message": "Stylusはusercssの解析に失敗しました: ", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "ポップアップ内のスタイルをソートして表示", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "横に白い境界線を追加する", - "description": "" - }, - "popupBordersTooltip": { - "message": "新しいChromeが横の境界線を描かなくなったため、暗いテーマで有効です", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, または数字パッドキーにより、N番目のスタイルの有効/無効を切り替えます(0は10番目を意味します)\n- は、その文字で始まる先頭のスタイルの有効/無効を切り替えます\n を併用すると、切り替えではなくエディタを開きます\n は、リストのスタイルをすべて有効にします\n は、リストのスタイルをすべて無効にします\n と <`>(バッククォート)は、初期状態が有効なスタイルのみを切り替えます。すなわち ポップアップ上で後から有効にしたスタイルは切り替えません。例えば、テスト後に初期の選択に戻すには、全解除してから切り替えてください(すなわち の順に押してください)\n詳細については wiki を参照ください", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "クリックすると使用可能なホットキーを表示します", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "シフトを押しながらクリック または 右クリック で、現在のサイトに適用可能なスタイルの管理画面を開きます", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "アクションメニュー", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "(アドレスバーのない)シンプルなウィンドウを使用", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "新しいウィンドウでエディタを開く", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "エディタのタブをブラウザのウィンドウから切り離すことでも有効になります。\nそして、分離したエディタのタブを他のブラウザのウィンドウに結合すれば無効になります。", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "スタイル一覧をコマンドボタンより上に表示", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "現在のサイトで有効なスタイルの数を表示", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "自動プレビュー", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "変更を保存しないで一時的に適用します。\n変更を確定する場合には、スタイルを保存してください。", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus拡張をリロードする", - "description": "Context menu reload" - }, - "replace": { - "message": "置換", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "すべて置換", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "次に置換", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "スタイルをインポート", - "description": "" - }, - "search": { - "message": "検索", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "大文字小文字を区別する", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "グローバルスタイルも検索", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "マッチ数", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "コードおよび適用先欄のマッチ数", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "スタイル名を大文字小文字の区別なく検索します:\n複数の単語 - 全単語を順番の区別なく検索します\n\"複数の単語からなるフレーズ\" - 正確なフレーズを (引用符は除いて) 検索します\n2020 - このように数値 (年) を指定すると、2020年に更新されたスタイルも結果に表示します", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "正規表現検索には /re/ を使用してください", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "総インストール数", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "該当するスタイルはありません。", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "スタイルはインストールされますが、現在のサイトのURLには適用されません。", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "このユーザースタイルの作者に、URLの追加について確認してみてください。\nあなた自身が、管理画面でこのスタイルを開いて編集することは可能です。\nしかし、このスタイルの自動更新は無効になることに注意してください。", - "description": "" - }, - "searchResultRating": { - "message": "評価", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "更新日", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "週間インストール数", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "すべて", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSSコード", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " または キーで検索欄に移動します。\nデフォルトモードは、空白で区切られたすべての単語を任意の順番で探す文字列検索です。\n正確な文字列検索 : 検索文字列をダブルクォートで囲んでください。例. <\".header ~ div\">\n正規表現検索 : 検索文字列にスラッシュとフラグを含めてください。例. \nスコープセレクタで「URLによる」を選択 : 指定されたURLに適用されるスタイルを見つけます。例. https://www.example.org/\nスコープセレクタで「メタデータ」を選択 : 名前、「適用先」指定子、インストールURL、アップデートURL、そして usercss スタイルのメタデータブロック全体を検索します。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "URLによる", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "メタデータ", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名前", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "他のセクションを追加", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "コード", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "セクションを削除", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "削除したセクションを復旧", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "セクション", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "ショートカット", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "キーボードショートカットを定義する", - "description": "" - }, - "sortDateNewestFirst": { - "message": "新しい順", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "古い順", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "インストール済みスタイルの並べ替え", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "タイトル昇順", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "タイトル降順", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "インストール済みの項目の並べ替え方法を、ドロップダウンリストで選択してください。デフォルト設定は、タイトルの昇順(AからZへ)になっています。「タイトル降順」を選択すると、タイトルの降順(ZからAへ)に並べ替えます。\n他に、複数の基準で項目の並べ替えを行う設定もあります。これは、複数の列を持つ表の並べ替えと考えられ、(プラス記号を挟んで)選択された各カテゴリーは、対応する列またはグループを表します。\n例えば、「有効(1番目)+タイトル」という設定の場合、すべての有効な項目がリストの先頭に並べられ、次にタイトルの昇順(AからZへ)で有効/無効な項目がそれぞれ並べられます。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "コンテンツの並べ替え", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正規表現は無効です。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "書式整形", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "ヒント: 書式整形ボタンを右クリックするか、下で設定したキーボードショートカットを使用すると、このパネルを表示せずに書式設定が行えます", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports をインデント", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "改行を保存", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "管理画面に戻る", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "このスタイルは変更されていますが、保存されていません。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "有効", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Mozilla形式のインポートに失敗しました", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla形式のコードを貼り付ける", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "「$stylename$」を Stylus にインストールしますか?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "ユーザースタイルのインストールに失敗しました!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "「$stylename$」はすでにインストール済みです。上書きしますか?\nバージョン: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "名前を入力してください", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "'regexp()' の誤った使用のためスタイルを適用できませんでした", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "いくつかの 'regexp()' のルールはコンパイルできませんでした", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "このスタイルは、完全なURLの一致を要求する CSS4 @document 仕様 に違反した部分一致の正規表現を使用しています。影響を受けるCSSセクションはページに適用されませんでした。このスタイルは、'regexp()' のルールを誤ってチェックしていた かなり初期のバージョンの Stylish-for-Chrome で作成された可能性があります(既知のバグです)。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "'regexp()' の誤った使用のためいくつかのセクションを適用できませんでした", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正規表現をテスト", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "一致するタブ", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "無効な正規表現がスキップされました", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "一致するタブはありません", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注: 正規表現の入力欄でエスケープする場合には、「\\」1個を使用してください。それは、CSSでの引用符で囲まれた文字列の仕様に従い、スタイルコード内で自動的に「\\\\」に変換されます。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "完全に一致しないため、スキップされました", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "一致する開いているタブのリスト(URLをクリックするとそのタブに移動します)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "保存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla形式のコードは、userstyles.org に投稿することができ、また従来の Stylish for Firefox でも使用できます", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla形式のスタイル", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "「$stylename$」を更新してもよろしいですか?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "このスタイルはエディタの外部で変更されました。このスタイルをリロードしますか?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "このページではStylusは動作しません。", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "セキュリティ上の予防措置として、ブラウザは拡張機能がビルトイン ページ(chrome://version, Chrome 61 の標準の新しいタブページ, about:addons 等)に影響を与えることを禁止しています。これは他の拡張機能のページについても同様です。各ブラウザはまた、自身の拡張機能ギャラリーへのアクセスについても制限しています(Chrome Web ストア や AMO 等)。", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "値を保存できません。テキストの量を減らしてください。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "同期に失敗", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "同期に失敗しました。\nStylusのオプション画面で、再ログインしてください :\n(「切断」をクリック後、「接続」をクリック)", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "スタイルの有効/無効の切り替え", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "元に戻す", - "description": "Button label" - }, - "undoGlobal": { - "message": "すべてのセクションで元に戻す", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefoxはこのサイトへのアクセスを禁止しています。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "アクセスを許可するには、 を開き、リストを右クリックして「新規作成」-「真偽値」をクリックし、 を貼り付けてOKをクリックし、 を選択してOKをクリックし、その後、 ページをリロードしてください。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Firefox 60 以降では、からAMOのドメインを削除する必要があるかもしれません。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Firefox 59 以降のみが、「WebExtensionがこのようなCSPプロテクトされたサイトにスタイル要素を追加すること」を許可する設定を行えます。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "ページと通信できませんでした。タブを再読み込みしてみてください。", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "chrome://extensions ページでStylus拡張機能の当該チェックボックスを有効にした場合にのみ、Stylusは file:// URLにアクセスできます。", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylusにはアクセスできないファイル形式があります(例えばpdfやjsonファイル等)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "更新は見つかりませんでした。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "いくつかの更新可能なスタイルは、ローカルでの編集内容が失われることを避けるために、チェックされませんでした。更新を強制的に行うには、個別のチェック、もしくは、全スタイルに対する再チェックを実行してください(この場合、ローカルでの編集内容は上書きされます)。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新に失敗しました: サーバーが応答コード「$code$」を返しています。", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "更新に失敗しました: サーバーに到達できません。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "更新チェックの履歴", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "更新をインストール(ローカルでの編集内容は上書きされます)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "更新を強制すると、すべてのローカルでの編集内容が上書きされます。", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "このスタイルはローカルで編集されました。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "このスタイルはローカルで編集されている可能性があります。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "スタイルは最新の状態です。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新が完了しました。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新がインストールされました:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "既存のスタイルの上書きを避けるために、@name または @namespace の値を変更してください。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "設定ダイアログの表示後に、スタイルが更新または削除されました。スタイルのメタデータの破損を避けるため、これらの変数は保存されませんでした:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "コードで@nameを指定してください", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "現在のコードで、新しいUsercssスタイルのデフォルト・テンプレートを置き換えますか?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name が指定されていません", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "ここにコードを挿入...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "インストール済みのスタイルより古いバージョンです。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "次のスタイルを書く:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "このURL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropboxにエクスポート", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropboxへのインポート/エクスポート機能は、オプションページにある より進歩したスタイル同期機能 へ移行しました。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropboxからインポート", - "description": "" - }, - "overwriteFileExport": { - "message": "存在するファイルを上書きしてよろしいですか?", - "description": "" - }, - "exportSavedSuccess": { - "message": "ファイルをセーブしました", - "description": "" - }, - "noFileToImport": { - "message": "スタイルをインポートするには、まずエクスポートする必要があります。", - "description": "" - }, - "connectingDropbox": { - "message": "Dropboxに接続中...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropboxへの接続は、webstoreから直接インストールしたアプリ内でのみ可能です", - "description": "" - }, - "gettingStyles": { - "message": "全スタイルを取得中...", - "description": "" - }, - "zipStyles": { - "message": "スタイルをZip圧縮中...", - "description": "" - }, - "unzipStyles": { - "message": "スタイルをZip解凍中...", - "description": "" - }, - "readingStyles": { - "message": "スタイルを読み込み中...", - "description": "" - }, - "uploadingFile": { - "message": "スタイルをアップロード中...", - "description": "" - }, - "addStyleLabel": { - "message": "新スタイルを作成", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylusにはアクセスできないファイル形式があります(例えばpdfやjsonファイル等)。" + }, + "addStyleLabel": { + "message": "新スタイルを作成" + }, + "addStyleTitle": { + "message": "スタイルを追加" + }, + "alphaChannel": { + "message": "透明度" + }, + "appliesAdd": { + "message": "追加" + }, + "appliesDisplay": { + "message": "適用先: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "さらに表示" + }, + "appliesDomainOption": { + "message": "ドメイン上の URL" + }, + "appliesHelp": { + "message": "「適用先」を使用すると、このセクションのコードが適用される URL を制限することができます。" + }, + "appliesLabel": { + "message": "適用先" + }, + "appliesLineWidgetLabel": { + "message": "「適用先」の情報を表示" + }, + "appliesLineWidgetWarning": { + "message": "圧縮されたCSSでは機能しません" + }, + "appliesRegexpOption": { + "message": "正規表現に一致する URL" + }, + "appliesRemove": { + "message": "削除" + }, + "appliesRemoveError": { + "message": "「適用先」の最後の項目を削除することはできません" + }, + "appliesSpecify": { + "message": "個別指定" + }, + "appliesToEverything": { + "message": "すべて" + }, + "appliesUrlPrefixOption": { + "message": "次で始まる URL" + }, + "applyAllUpdates": { + "message": "すべての更新を適用" + }, + "author": { + "message": "作者" + }, + "backupButtons": { + "message": "バックアップ" + }, + "backupMessage": { + "message": "ファイルを選択するか、このページにドラッグ&ドロップしてください。" + }, + "bckpInstStyles": { + "message": "スタイルをエクスポート" + }, + "checkAllUpdates": { + "message": "全スタイルの更新をチェック" + }, + "checkAllUpdatesForce": { + "message": "全スタイルを再チェックします。私はスタイルを編集していません!" + }, + "checkForUpdate": { + "message": "更新をチェック" + }, + "checkingForUpdate": { + "message": "チェック中..." + }, + "clickToUninstall": { + "message": "クリックでアンインストール" + }, + "cm_autoCloseBrackets": { + "message": "括弧と引用符を自動的に閉じる" + }, + "cm_autoCloseBracketsTooltip": { + "message": "()[]{}''\"\" の開き括弧/引用符の入力時に、対応する閉じ括弧/引用符を自動的に追加します" + }, + "cm_autocompleteOnTyping": { + "message": "入力の自動補完を有効にする" + }, + "cm_colorpicker": { + "message": "CSSの色選択ツールを使用する" + }, + "cm_indentWithTabs": { + "message": "スマートインデントにタブ文字を使用" + }, + "cm_keyMap": { + "message": "キーマップ" + }, + "cm_lineWrapping": { + "message": "ワードラップを有効にする" + }, + "cm_matchHighlight": { + "message": "ハイライト" + }, + "cm_matchHighlightSelection": { + "message": "選択した単語のみ" + }, + "cm_matchHighlightToken": { + "message": "カーソル下の単語" + }, + "cm_resizeGripHint": { + "message": "ダブルクリックで高さを最大化/元に戻す" + }, + "cm_selectByTokens": { + "message": "ダブルクリックでトークンを選択する" + }, + "cm_selectByTokensTooltip": { + "message": "トークンの例: .foo-bar-2 #aabbcc 0.32 !important\n無効にすると、記号で区切られた範囲で単語が選択されます。" + }, + "cm_smartIndent": { + "message": "スマートインデントを使用する" + }, + "cm_tabSize": { + "message": "タブサイズ" + }, + "cm_theme": { + "message": "テーマ" + }, + "colorpickerPaletteHint": { + "message": "見本を右クリックして対応するソース行を選択します" + }, + "colorpickerSwitchFormatTooltip": { + "message": "フォーマット切り替え: HEX -> RGB -> HSL\nシフトを押しながらクリックすると逆向きに切り替えます。\nまた、PgUp (PageUp), PgDn (PageDown) キーも使用できます。" + }, + "colorpickerTooltip": { + "message": "色選択ツールを開きます" + }, + "configOnChange": { + "message": "変更時" + }, + "configOnChangeTooltip": { + "message": "自動保存して変更を自動的に適用します" + }, + "configureStyle": { + "message": "設定" + }, + "configureStyleOnHomepage": { + "message": "ホームページ上で設定" + }, + "confirmCancel": { + "message": "キャンセル" + }, + "confirmClose": { + "message": "閉じる" + }, + "confirmDefault": { + "message": "デフォルトを使用" + }, + "confirmDelete": { + "message": "削除" + }, + "confirmDiscardChanges": { + "message": "変更を破棄しますか?" + }, + "confirmNo": { + "message": "いいえ" + }, + "confirmSave": { + "message": "保存" + }, + "confirmStop": { + "message": "中止" + }, + "confirmYes": { + "message": "はい" + }, + "connectingDropbox": { + "message": "Dropboxに接続中..." + }, + "connectingDropboxNotAllowed": { + "message": "Dropboxへの接続は、webstoreから直接インストールしたアプリ内でのみ可能です" + }, + "copied": { + "message": "クリップボードへコピーしました" + }, + "copy": { + "message": "クリップボードへコピー" + }, + "customNameHint": { + "message": "(更新を妨げない)UI 上でのみ有効なスタイルのカスタム名を入力してください" + }, + "customNameResetHint": { + "message": "カスタム名の使用をやめ、スタイル自身の名称に切り替えます" + }, + "dateInstalled": { + "message": "インストール日" + }, + "dateUpdated": { + "message": "更新日" + }, + "dbError": { + "message": "Stylusのデータベース使用中にエラーが発生しました。考えられる解決策を記載したWebページを開きますか?" + }, + "defaultTheme": { + "message": "デフォルト" + }, + "deleteStyleConfirm": { + "message": "このスタイルを削除してもよろしいですか?" + }, + "deleteStyleLabel": { + "message": "削除" + }, + "description": { + "message": "Stylus でウェブのデザインを変更しましょう。これは、ユーザースタイルを管理するツールです。Stylus を利用すると、多くの人気サイト向けのテーマやスキンを簡単にインストールできます。" + }, + "disableAllStyles": { + "message": "すべてのスタイルをオフにする" + }, + "disableStyleLabel": { + "message": "無効化" + }, + "dragDropMessage": { + "message": "このページの任意の場所にバックアップファイルをドロップしてインポートします。" + }, + "dragDropUsercssTabstrip": { + "message": "ファイルをインストールするときは、タブ(タイトルが表示されている領域)にドロップしてください。" + }, + "editDeleteText": { + "message": "削除" + }, + "editGotoLine": { + "message": "行(または行:列)に移動" + }, + "editStyleHeading": { + "message": "スタイルを編集" + }, + "editStyleLabel": { + "message": "編集" + }, + "editStyleTitle": { + "message": "スタイル「$stylename$」を編集", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "有効化" + }, + "excludeStyleByDomainLabel": { + "message": "現在のドメインを除外" + }, + "excludeStyleByUrlLabel": { + "message": "現在のURLを除外" + }, + "exportLabel": { + "message": "エクスポート" + }, + "exportSavedSuccess": { + "message": "ファイルをセーブしました" + }, + "externalFeedback": { + "message": "フィードバック" + }, + "externalHomepage": { + "message": "ホームページ" + }, + "externalLink": { + "message": "外部リンク" + }, + "externalSupport": { + "message": "サポート" + }, + "externalUsercssDocument": { + "message": "Usercssの文書" + }, + "filteredStyles": { + "message": "$numTotal$ 件中の $numShown$ 件を表示", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "現在のフィルターにマッチするスタイルはありません" + }, + "findStyles": { + "message": "スタイルを検索" + }, + "findStylesForSite": { + "message": "このサイト用のスタイルを検索" + }, + "findStylesInline": { + "message": "結果を下に表示" + }, + "findStylesInlineTooltip": { + "message": "検索結果をこのウィンドウに表示" + }, + "genericAdd": { + "message": "追加" + }, + "genericClone": { + "message": "複製" + }, + "genericDisabledLabel": { + "message": "無効化" + }, + "genericEnabledLabel": { + "message": "有効" + }, + "genericError": { + "message": "エラー" + }, + "genericHistoryLabel": { + "message": "履歴" + }, + "genericNext": { + "message": "次" + }, + "genericPrevious": { + "message": "前" + }, + "genericResetLabel": { + "message": "リセット" + }, + "genericSavedMessage": { + "message": "保存しました" + }, + "genericTitle": { + "message": "タイトル" + }, + "genericUnknown": { + "message": "不明" + }, + "gettingStyles": { + "message": "全スタイルを取得中..." + }, + "helpAlt": { + "message": "ヘルプ" + }, + "helpKeyMapCommand": { + "message": "コマンド名を入力" + }, + "helpKeyMapHotkey": { + "message": "ホットキーを押す" + }, + "hostDisabled": { + "message": "使用中のブラウザの現在のバージョンの不具合のため、このホストは無効にされています" + }, + "importAppendLabel": { + "message": "スタイルに追加" + }, + "importAppendTooltip": { + "message": "インポートされたスタイルを現在のスタイルに追加する" + }, + "importLabel": { + "message": "インポート" + }, + "importPreprocessor": { + "message": "@preprocessorを含むスタイルは、クラシックモードでは機能しません。エディタをUsercssモードにしてください : 1) スタイルマネージャーを開きます, 2)「Usercssとして」チェックボックスをONにします, 3)「新スタイルを作成」をクリックします" + }, + "importPreprocessorTitle": { + "message": "@preprocessorの潜在的な問題" + }, + "importReplaceLabel": { + "message": "スタイルを上書き" + }, + "importReplaceTooltip": { + "message": "現在のスタイルの内容を破棄し、インポートされたスタイルで上書きする" + }, + "importReportLegendAdded": { + "message": "件のスタイルを追加しました" + }, + "importReportLegendIdentical": { + "message": "件の同一のスタイルをスキップしました" + }, + "importReportLegendInvalid": { + "message": "件の無効なスタイルをスキップしました" + }, + "importReportLegendUpdatedBoth": { + "message": "件のメタ情報とコードを更新しました" + }, + "importReportLegendUpdatedCode": { + "message": "件のコードを更新しました" + }, + "importReportLegendUpdatedMeta": { + "message": "件のメタ情報を更新しました" + }, + "importReportTitle": { + "message": "スタイルのインポートが終了しました" + }, + "importReportUnchanged": { + "message": "変更がありませんでした。" + }, + "importReportUndone": { + "message": "件のスタイルを元に戻しました" + }, + "importReportUndoneTitle": { + "message": "インポートが取り消されました" + }, + "installButton": { + "message": "インストール" + }, + "installButtonInstalled": { + "message": "インストール済み" + }, + "installButtonReinstall": { + "message": "再インストール" + }, + "installButtonUpdate": { + "message": "更新" + }, + "installUpdate": { + "message": "更新をインストール" + }, + "installUpdateFrom": { + "message": "現在、このスタイルは「$url$」から更新されます", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "更新をチェック" + }, + "license": { + "message": "ライセンス" + }, + "linkGetHelp": { + "message": "ヘルプ" + }, + "linkGetStyles": { + "message": "スタイルを取得" + }, + "linkStylusWiki": { + "message": "ウィキ" + }, + "linkTranslate": { + "message": "翻訳" + }, + "linterCSSLintIncompatible": { + "message": "CSSLintは「$preprocessorname$」プリプロセッサをサポートしていません", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(次のようにルールを設定してください: 0=無効, 1=警告, 2=エラー)" + }, + "linterConfigPopupTitle": { + "message": "$linter$ のルールを設定する", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Linterの設定を行うときはクリックしてください" + }, + "linterInvalidConfigError": { + "message": "これらの不正な設定のために保存されませんでした:" + }, + "linterIssues": { + "message": "問題点" + }, + "linterIssuesHelp": { + "message": "$link$ によってこれらの問題点が見つかりました:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "不正なJSONフォーマットです" + }, + "linterResetMessage": { + "message": "予期しないリセットを復旧するには、テキストボックス内で Ctrl-Z(または Cmd-Z)を押してください" + }, + "linterRulesLink": { + "message": "ルールの完全なリストを見る" + }, + "liveReloadError": { + "message": "ファイルの監視中にエラーが発生しました" + }, + "liveReloadInstallHint": { + "message": "外部の変更時にスタイルを自動更新する場合は、このタブを開いたままにしておいてください。" + }, + "liveReloadInstallHintFF": { + "message": "外部の変更時にスタイルを自動更新する場合は、このタブと元のタブを開いたままにしておいてください。" + }, + "liveReloadLabel": { + "message": "自動リロード" + }, + "manageFavicons": { + "message": "適用先欄のファビコン" + }, + "manageFaviconsGray": { + "message": "ファビコンをグレー表示" + }, + "manageFaviconsHelp": { + "message": "Stylusは外部サービスを使用します https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "フィルター" + }, + "manageHeading": { + "message": "インストール済みスタイル" + }, + "manageMaxTargets": { + "message": "適用先欄の表示件数" + }, + "manageNewStyleAsUsercss": { + "message": "Usercssとして" + }, + "manageNewUI": { + "message": "新しい管理UIレイアウト" + }, + "manageOnlyDisabled": { + "message": "無効なスタイルのみ" + }, + "manageOnlyEnabled": { + "message": "有効なスタイルのみ" + }, + "manageOnlyExternal": { + "message": "外部取得スタイルのみ" + }, + "manageOnlyLocal": { + "message": "ローカル作成スタイルのみ" + }, + "manageOnlyLocalTooltip": { + "message": "(userstyles.orgのページからインストールされていないスタイル)" + }, + "manageOnlyNonUsercss": { + "message": "非Usercssスタイルのみ" + }, + "manageOnlyUpdates": { + "message": "更新もしくは問題があるスタイルのみ" + }, + "manageOnlyUsercss": { + "message": "Usercssスタイルのみ" + }, + "menuShowBadge": { + "message": "アクティブなスタイルの数を表示する" + }, + "meta_invalidCheckboxDefault": { + "message": "不正な @var チェックボックス: 値は0か1である必要があります" + }, + "meta_invalidColor": { + "message": "不正な @var 色: $color$は有効な色ではありません", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "数値を入力してください" + }, + "meta_invalidRange": { + "message": "不正な @var $type$: 値は数値か配列である必要があります", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "不正な @var $type$: デフォルト値がnullです", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "不正な @var $type$: デフォルト値が最大値を上回っています", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "不正な @var $type$: デフォルト値が最小値を下回っています", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "不正な @var $type$: 複数の単位が定義されています", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "不正な @var $type$: デフォルト値がステップ値の倍数になっていません", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "不正な @var $type$: 配列の要素が多すぎます", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "不正な @var $type$: '$units$' は有効な単位ではありません", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "不正な @var $type$: 配列の要素は、数値,文字列またはnullである必要があります", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "不正な @var 選択: デフォルト値は、配列またはオブジェクトである必要があります" + }, + "meta_invalidSelectEmptyOptions": { + "message": "不正な @var 選択: オプションのリストが空です" + }, + "meta_invalidSelectLabel": { + "message": "不正な @var 選択: オプションのラベルが空です" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "不正な @var 選択: 複数のデフォルトオプションが定義されています" + }, + "meta_invalidSelectNameDuplicated": { + "message": "不正な @var 選択: オプション名が重複しています" + }, + "meta_invalidSelectValue": { + "message": "不正な @var 選択: 配列/オブジェクト内の値は文字列である必要があります" + }, + "meta_invalidSelectValueMismatch": { + "message": "不正な @var 選択: 値がオプションのリストに存在しません" + }, + "meta_invalidString": { + "message": "クォートで囲まれた文字列を入力してください" + }, + "meta_invalidURLProtocol": { + "message": "不正なURLプロトコル。httpかhttpsのみ許可されています: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "不正なバージョン番号。値がバージョン番号のパターンに合っていません: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "単語を入力してください" + }, + "meta_missingChar": { + "message": "文字を入力してください: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "EOTデータを入力してください" + }, + "meta_missingMandatory": { + "message": "必須のメタデータがありません: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "不正なJSON: $literal$ は有効なJSONデータではありません", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "不明なメタデータ: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "不明な @preprocessor: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "不明な @$varkey$ タイプ: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "スタイルをインポートするには、まずエクスポートする必要があります。" + }, + "noStylesForSite": { + "message": "該当するスタイルはありません。" + }, + "numberedLine": { + "message": "行:" + }, + "openManage": { + "message": "管理" + }, + "openOptions": { + "message": "オプション" + }, + "openStylesManager": { + "message": "スタイルマネージャーを開く" + }, + "optionsActions": { + "message": "アクション" + }, + "optionsAdvanced": { + "message": "上級者向け" + }, + "optionsAdvancedContextDelete": { + "message": "エディタのコンテキストメニューに「削除」を追加する" + }, + "optionsAdvancedExposeIframes": { + "message": "HTML[stylus-iframe] によってiframeへのアクセスを可能にする" + }, + "optionsAdvancedExposeIframesNote": { + "message": "各iframeにトップサイトドメインを公開します。\n次のようにiframe用のCSSを書くことができるようになります:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "新しいスタイルを usercss として作成します" + }, + "optionsAdvancedPatchCsp": { + "message": "スタイルのアセットを許可するためにCSPにパッチを当てる" + }, + "optionsAdvancedPatchCspNote": { + "message": "厳格なCSP(Content-Security-Policy)を持つサイトで、ロードできない画像やフォントを含んだスタイルの場合に、これを有効にします。\n\nこの設定を有効にすると、CSPの制限をゆるめて、必要なコンテンツのロードを許可します。このオプションは、潜在的なセキュリティへの影響を理解し、許可しているコンテンツを監視する責任を持つことができる上級ユーザーのみを対象としています。 詳細については、CSSベースの攻撃に関する資料をお読みください。\n\nまた、インストールされている別の拡張機能が最初にネットワークの応答を変更した場合、この特別な設定が有効になるとは限らないことに注意してください。" + }, + "optionsAdvancedStyleViaXhr": { + "message": "即時更新モード" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "閲覧時に、スタイルの指定されていないコンテンツが点滅するような場合に有効にしてください。これは、ダークテーマで特に目立つことがあります。\n\n技術的な原因は、Chrome/Chromium が拡張機能との非同期通信を遅延することです。これは(無意味なことが多いですが)ページのロード時間の短縮のために行われ、スタイルの適用を遅延する場合があります。これを回避するため(web拡張自体は同期通信APIを提供していないので)、Stylusは「非推奨」の XMLHttpRequest web API をスタイルの読み込みに使用するオプションを提供しています。サーバからページがダウンロードされている間に、リクエストは数ミリ秒で終了するため、悪影響はありません。\n\nそれでも、Chromium は、開発者ツールのコンソールに警告を出力します。 警告を右クリックして非表示にすると、以後は警告を表示しないようにすることができます。" + }, + "optionsBadgeDisabled": { + "message": "無効にしたときの背景色" + }, + "optionsBadgeNormal": { + "message": "背景色" + }, + "optionsCheck": { + "message": "スタイルを更新" + }, + "optionsCheckUpdate": { + "message": "使用可能なすべての更新を確認してインストールする" + }, + "optionsCustomizeBadge": { + "message": "アイコンの修飾" + }, + "optionsCustomizeIcon": { + "message": "ツールバーアイコン" + }, + "optionsCustomizePopup": { + "message": "ポップアップ" + }, + "optionsCustomizeSync": { + "message": "クラウドとの同期" + }, + "optionsCustomizeUpdate": { + "message": "更新設定" + }, + "optionsHeading": { + "message": "オプション" + }, + "optionsIconDark": { + "message": "暗いブラウザのテーマ" + }, + "optionsIconLight": { + "message": "明るいブラウザのテーマ" + }, + "optionsOpen": { + "message": "開く" + }, + "optionsOpenManager": { + "message": "スタイルを管理" + }, + "optionsPopupWidth": { + "message": "ポップアップの幅(ピクセル単位)" + }, + "optionsReset": { + "message": "オプションをデフォルト値にリセットする" + }, + "optionsResetButton": { + "message": "オプションをリセット" + }, + "optionsStylusThemes": { + "message": "StylusのUIテーマを見つける" + }, + "optionsSubheading": { + "message": "その他のオプション" + }, + "optionsSyncConnect": { + "message": "接続" + }, + "optionsSyncDisconnect": { + "message": "切断" + }, + "optionsSyncLogin": { + "message": "ログイン" + }, + "optionsSyncNone": { + "message": "未選択" + }, + "optionsSyncStatusConnected": { + "message": "接続状態" + }, + "optionsSyncStatusConnecting": { + "message": "接続中..." + }, + "optionsSyncStatusDisconnected": { + "message": "切断状態" + }, + "optionsSyncStatusDisconnecting": { + "message": "切断中..." + }, + "optionsSyncStatusPull": { + "message": "スタイルをダウンロード中 ( $loaded$/ $total$)", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "スタイルをアップロード中( $loaded$/ $total$)", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusRelogin": { + "message": "セッションの期限が切れました。ログインし直してください。" + }, + "optionsSyncStatusSyncing": { + "message": "同期中..." + }, + "optionsSyncSyncNow": { + "message": "すぐに同期" + }, + "optionsUpdateImportNote": { + "message": "旧バージョンまたはStylishからスタイルのバックアップをインポートする場合は、スタイルマネージャで一度手動で更新チェックを行い、すべてのスタイルが確実に更新されるようにしてください。" + }, + "optionsUpdateInterval": { + "message": "ユーザースタイルの自動更新間隔(時間単位)(0を指定すると更新しません)" + }, + "overwriteFileExport": { + "message": "存在するファイルを上書きしてよろしいですか?" + }, + "paginationCurrent": { + "message": "現在のページ" + }, + "paginationEstimated": { + "message": "推定ページ数" + }, + "paginationNext": { + "message": "次ページ" + }, + "paginationPrevious": { + "message": "前ページ" + }, + "paginationTotal": { + "message": "総ページ数" + }, + "parseUsercssError": { + "message": "Stylusはusercssの解析に失敗しました: " + }, + "popupAutoResort": { + "message": "ポップアップ内のスタイルをソートして表示" + }, + "popupBorders": { + "message": "横に白い境界線を追加する" + }, + "popupBordersTooltip": { + "message": "新しいChromeが横の境界線を描かなくなったため、暗いテーマで有効です" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, または数字パッドキーにより、N番目のスタイルの有効/無効を切り替えます(0は10番目を意味します)\n- は、その文字で始まる先頭のスタイルの有効/無効を切り替えます\n を併用すると、切り替えではなくエディタを開きます\n は、リストのスタイルをすべて有効にします\n は、リストのスタイルをすべて無効にします\n と <`>(バッククォート)は、初期状態が有効なスタイルのみを切り替えます。すなわち ポップアップ上で後から有効にしたスタイルは切り替えません。例えば、テスト後に初期の選択に戻すには、全解除してから切り替えてください(すなわち の順に押してください)\n詳細については wiki を参照ください" + }, + "popupHotkeysTooltip": { + "message": "クリックすると使用可能なホットキーを表示します" + }, + "popupManageTooltip": { + "message": "シフトを押しながらクリック または 右クリック で、現在のサイトに適用可能なスタイルの管理画面を開きます" + }, + "popupMenuButtonTooltip": { + "message": "アクションメニュー" + }, + "popupOpenEditInPopup": { + "message": "(アドレスバーのない)シンプルなウィンドウを使用" + }, + "popupOpenEditInWindow": { + "message": "新しいウィンドウでエディタを開く" + }, + "popupOpenEditInWindowTooltip": { + "message": "エディタのタブをブラウザのウィンドウから切り離すことでも有効になります。\nそして、分離したエディタのタブを他のブラウザのウィンドウに結合すれば無効になります。" + }, + "popupStylesFirst": { + "message": "スタイル一覧をコマンドボタンより上に表示" + }, + "prefShowBadge": { + "message": "現在のサイトで有効なスタイルの数を表示" + }, + "previewLabel": { + "message": "自動プレビュー" + }, + "previewTooltip": { + "message": "変更を保存しないで一時的に適用します。\n変更を確定する場合には、スタイルを保存してください。" + }, + "readingStyles": { + "message": "スタイルを読み込み中..." + }, + "reload": { + "message": "Stylus拡張をリロードする" + }, + "replace": { + "message": "置換" + }, + "replaceAll": { + "message": "すべて置換" + }, + "replaceWith": { + "message": "次に置換" + }, + "retrieveBckp": { + "message": "スタイルをインポート" + }, + "retrieveDropboxSync": { + "message": "Dropboxからインポート" + }, + "search": { + "message": "検索" + }, + "searchCaseSensitive": { + "message": "大文字小文字を区別する" + }, + "searchGlobalStyles": { + "message": "グローバルスタイルも検索" + }, + "searchNumberOfResults": { + "message": "マッチ数" + }, + "searchNumberOfResults2": { + "message": "コードおよび適用先欄のマッチ数" + }, + "searchRegexp": { + "message": "正規表現検索には /re/ を使用してください" + }, + "searchResultInstallCount": { + "message": "総インストール数" + }, + "searchResultNoneFound": { + "message": "該当するスタイルはありません。" + }, + "searchResultNotMatching": { + "message": "スタイルはインストールされますが、現在のサイトのURLには適用されません。" + }, + "searchResultNotMatchingNote": { + "message": "このユーザースタイルの作者に、URLの追加について確認してみてください。\nあなた自身が、管理画面でこのスタイルを開いて編集することは可能です。\nしかし、このスタイルの自動更新は無効になることに注意してください。" + }, + "searchResultRating": { + "message": "評価" + }, + "searchResultUpdated": { + "message": "更新日" + }, + "searchResultWeeklyCount": { + "message": "週間インストール数" + }, + "searchStyleQueryHint": { + "message": "スタイル名を大文字小文字の区別なく検索します:\n複数の単語 - 全単語を順番の区別なく検索します\n\"複数の単語からなるフレーズ\" - 正確なフレーズを (引用符は除いて) 検索します\n2020 - このように数値 (年) を指定すると、2020年に更新されたスタイルも結果に表示します" + }, + "searchStylesAll": { + "message": "すべて" + }, + "searchStylesCode": { + "message": "CSSコード" + }, + "searchStylesHelp": { + "message": " または キーで検索欄に移動します。\nデフォルトモードは、空白で区切られたすべての単語を任意の順番で探す文字列検索です。\n正確な文字列検索 : 検索文字列をダブルクォートで囲んでください。例. <\".header ~ div\">\n正規表現検索 : 検索文字列にスラッシュとフラグを含めてください。例. \nスコープセレクタで「URLによる」を選択 : 指定されたURLに適用されるスタイルを見つけます。例. https://www.example.org/\nスコープセレクタで「メタデータ」を選択 : 名前、「適用先」指定子、インストールURL、アップデートURL、そして usercss スタイルのメタデータブロック全体を検索します。" + }, + "searchStylesMatchUrl": { + "message": "URLによる" + }, + "searchStylesMeta": { + "message": "メタデータ" + }, + "searchStylesName": { + "message": "名前" + }, + "sectionAdd": { + "message": "他のセクションを追加" + }, + "sectionCode": { + "message": "コード" + }, + "sectionRemove": { + "message": "セクションを削除" + }, + "sectionRestore": { + "message": "削除したセクションを復旧" + }, + "sections": { + "message": "セクション" + }, + "shortcuts": { + "message": "ショートカット" + }, + "shortcutsNote": { + "message": "キーボードショートカットを定義する" + }, + "sortDateNewestFirst": { + "message": "新しい順" + }, + "sortDateOldestFirst": { + "message": "古い順" + }, + "sortLabel": { + "message": "インストール済みスタイルの並べ替え" + }, + "sortLabelTitleAsc": { + "message": "タイトル昇順" + }, + "sortLabelTitleDesc": { + "message": "タイトル降順" + }, + "sortStylesHelp": { + "message": "インストール済みの項目の並べ替え方法を、ドロップダウンリストで選択してください。デフォルト設定は、タイトルの昇順(AからZへ)になっています。「タイトル降順」を選択すると、タイトルの降順(ZからAへ)に並べ替えます。\n他に、複数の基準で項目の並べ替えを行う設定もあります。これは、複数の列を持つ表の並べ替えと考えられ、(プラス記号を挟んで)選択された各カテゴリーは、対応する列またはグループを表します。\n例えば、「有効(1番目)+タイトル」という設定の場合、すべての有効な項目がリストの先頭に並べられ、次にタイトルの昇順(AからZへ)で有効/無効な項目がそれぞれ並べられます。" + }, + "sortStylesHelpTitle": { + "message": "コンテンツの並べ替え" + }, + "styleBadRegexp": { + "message": "正規表現は無効です。" + }, + "styleBeautify": { + "message": "書式整形" + }, + "styleBeautifyHint": { + "message": "ヒント: 書式整形ボタンを右クリックするか、下で設定したキーボードショートカットを使用すると、このパネルを表示せずに書式設定が行えます" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports をインデント" + }, + "styleBeautifyPreserveNewlines": { + "message": "改行を保存" + }, + "styleCancelEditLabel": { + "message": "管理画面に戻る" + }, + "styleChangesNotSaved": { + "message": "このスタイルは変更されていますが、保存されていません。" + }, + "styleEnabledLabel": { + "message": "有効" + }, + "styleFromMozillaFormatError": { + "message": "Mozilla形式のインポートに失敗しました" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla形式のコードを貼り付ける" + }, + "styleInstall": { + "message": "「$stylename$」を Stylus にインストールしますか?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "ユーザースタイルのインストールに失敗しました!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "「$stylename$」はすでにインストール済みです。上書きしますか?\nバージョン: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "名前を入力してください" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "'regexp()' の誤った使用のためスタイルを適用できませんでした" + }, + "styleRegexpInvalidExplanation": { + "message": "いくつかの 'regexp()' のルールはコンパイルできませんでした" + }, + "styleRegexpPartialExplanation": { + "message": "このスタイルは、完全なURLの一致を要求する CSS4 @document 仕様 に違反した部分一致の正規表現を使用しています。影響を受けるCSSセクションはページに適用されませんでした。このスタイルは、'regexp()' のルールを誤ってチェックしていた かなり初期のバージョンの Stylish-for-Chrome で作成された可能性があります(既知のバグです)。" + }, + "styleRegexpProblemTooltip": { + "message": "'regexp()' の誤った使用のためいくつかのセクションを適用できませんでした" + }, + "styleRegexpTestButton": { + "message": "正規表現をテスト" + }, + "styleRegexpTestFull": { + "message": "一致するタブ" + }, + "styleRegexpTestInvalid": { + "message": "無効な正規表現がスキップされました" + }, + "styleRegexpTestNone": { + "message": "一致するタブはありません" + }, + "styleRegexpTestNote": { + "message": "注: 正規表現の入力欄でエスケープする場合には、「\\」1個を使用してください。それは、CSSでの引用符で囲まれた文字列の仕様に従い、スタイルコード内で自動的に「\\\\」に変換されます。" + }, + "styleRegexpTestPartial": { + "message": "完全に一致しないため、スキップされました" + }, + "styleRegexpTestTitle": { + "message": "一致する開いているタブのリスト(URLをクリックするとそのタブに移動します)" + }, + "styleSaveLabel": { + "message": "保存" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla形式のコードは、userstyles.org に投稿することができ、また従来の Stylish for Firefox でも使用できます" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla形式のスタイル" + }, + "styleUpdate": { + "message": "「$stylename$」を更新してもよろしいですか?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "このスタイルはエディタの外部で変更されました。このスタイルをリロードしますか?" + }, + "stylusUnavailableForURL": { + "message": "このページではStylusは動作しません。" + }, + "stylusUnavailableForURLdetails": { + "message": "セキュリティ上の予防措置として、ブラウザは拡張機能がビルトイン ページ(chrome://version, Chrome 61 の標準の新しいタブページ, about:addons 等)に影響を与えることを禁止しています。これは他の拡張機能のページについても同様です。各ブラウザはまた、自身の拡張機能ギャラリーへのアクセスについても制限しています(Chrome Web ストア や AMO 等)。" + }, + "syncDropboxDeprecated": { + "message": "Dropboxへのインポート/エクスポート機能は、オプションページにある より進歩したスタイル同期機能 へ移行しました。" + }, + "syncDropboxStyles": { + "message": "Dropboxにエクスポート" + }, + "syncError": { + "message": "同期に失敗" + }, + "syncErrorRelogin": { + "message": "同期に失敗しました。\nStylusのオプション画面で、再ログインしてください :\n(「切断」をクリック後、「接続」をクリック)" + }, + "syncStorageErrorSaving": { + "message": "値を保存できません。テキストの量を減らしてください。" + }, + "toggleStyle": { + "message": "スタイルの有効/無効の切り替え" + }, + "undo": { + "message": "元に戻す" + }, + "undoGlobal": { + "message": "すべてのセクションで元に戻す" + }, + "unreachableAMO": { + "message": "Firefoxはこのサイトへのアクセスを禁止しています。" + }, + "unreachableAMOHint": { + "message": "アクセスを許可するには、 を開き、リストを右クリックして「新規作成」-「真偽値」をクリックし、 を貼り付けてOKをクリックし、 を選択してOKをクリックし、その後、 ページをリロードしてください。" + }, + "unreachableAMOHintNewFF": { + "message": "Firefox 60 以降では、からAMOのドメインを削除する必要があるかもしれません。" + }, + "unreachableAMOHintOldFF": { + "message": "Firefox 59 以降のみが、「WebExtensionがこのようなCSPプロテクトされたサイトにスタイル要素を追加すること」を許可する設定を行えます。" + }, + "unreachableContentScript": { + "message": "ページと通信できませんでした。タブを再読み込みしてみてください。" + }, + "unreachableFileHint": { + "message": "chrome://extensions ページでStylus拡張機能の当該チェックボックスを有効にした場合にのみ、Stylusは file:// URLにアクセスできます。" + }, + "unzipStyles": { + "message": "スタイルをZip解凍中..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "更新は見つかりませんでした。" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "いくつかの更新可能なスタイルは、ローカルでの編集内容が失われることを避けるために、チェックされませんでした。更新を強制的に行うには、個別のチェック、もしくは、全スタイルに対する再チェックを実行してください(この場合、ローカルでの編集内容は上書きされます)。" + }, + "updateCheckFailBadResponseCode": { + "message": "更新に失敗しました: サーバーが応答コード「$code$」を返しています。", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "更新に失敗しました: サーバーに到達できません。" + }, + "updateCheckHistory": { + "message": "更新チェックの履歴" + }, + "updateCheckManualUpdateForce": { + "message": "更新をインストール(ローカルでの編集内容は上書きされます)" + }, + "updateCheckManualUpdateHint": { + "message": "更新を強制すると、すべてのローカルでの編集内容が上書きされます。" + }, + "updateCheckSkippedLocallyEdited": { + "message": "このスタイルはローカルで編集されました。" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "このスタイルはローカルで編集されている可能性があります。" + }, + "updateCheckSucceededNoUpdate": { + "message": "スタイルは最新の状態です。" + }, + "updateCompleted": { + "message": "更新が完了しました。" + }, + "updatesCurrentlyInstalled": { + "message": "更新がインストールされました:" + }, + "uploadingFile": { + "message": "スタイルをアップロード中..." + }, + "usercssAvoidOverwriting": { + "message": "既存のスタイルの上書きを避けるために、@name または @namespace の値を変更してください。" + }, + "usercssConfigIncomplete": { + "message": "設定ダイアログの表示後に、スタイルが更新または削除されました。スタイルのメタデータの破損を避けるため、これらの変数は保存されませんでした:" + }, + "usercssEditorNamePlaceholder": { + "message": "コードで@nameを指定してください" + }, + "usercssReplaceTemplateConfirmation": { + "message": "現在のコードで、新しいUsercssスタイルのデフォルト・テンプレートを置き換えますか?" + }, + "usercssReplaceTemplateName": { + "message": "@name が指定されていません" + }, + "usercssReplaceTemplateSectionBody": { + "message": "ここにコードを挿入..." + }, + "versionInvalidOlder": { + "message": "インストール済みのスタイルより古いバージョンです。" + }, + "writeStyleFor": { + "message": "次のスタイルを書く:" + }, + "writeStyleForURL": { + "message": "このURL" + }, + "zipStyles": { + "message": "スタイルをZip圧縮中..." + } +} diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index f3e394f2..d80ea710 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -1,1586 +1,1278 @@ { - "addStyleTitle": { - "message": "스타일 추가", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "투명도", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "추가", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "적용 대상: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "그 이상", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL의 도메인이 다음과 같음", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "'적용 대상'은 이 섹션에 작성한 스타일을 어느 URL에 적용할지 정합니다", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "적용 대상", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "'적용 대상' 정보 표시", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "경량화(Minify) 된 CSS에선 작동하지 않습니다.", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL이 다음 정규 표현식과 일치함", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "제거", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "마지막 '적용 대상' 항목은 제거할 수 없습니다", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "개별 지정", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "전부", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL의 앞부분이 다음과 같음", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "모든 업데이트 적용", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "작성자", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "백업", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "파일을 선택하거나, 이 페이지로 파일을 드래그앤드롭하세요.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "스타일 내보내기", - "description": "" - }, - "checkAllUpdates": { - "message": "모든 스타일 업데이트 확인", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "한 번 더 확인해보세요. 아직 아무것도 수정하지 않았답니다!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "업데이트 확인", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "확인 중...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "클릭하여 제거", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "괄호 및 따옴표 자동으로 닫기", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "()[]''\"\"의 여는 기호를 입력할 시, 닫는 기호를 자동으로 추가합니다", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "타이핑 자동완성", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSS 색상에 Colorpicker(색상 선택기) 표시", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "자동 들여쓰기 시 탭 사용", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "키 매핑", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "자동 줄바끔", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "하이라이트", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "선택된 것만", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "커서 위치의 토큰", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "더블 클릭으로 높이 최대화/이전 높이로 복구할 수 있습니다", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "더블 클릭으로 토큰 선택", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "토큰 예시: .foo-bar-2 #aabbcc 0.32 !important\n비활성화 시: 문장 부호로 구분된 단어 선택", - "description": "" - }, - "cm_smartIndent": { - "message": "자동 들여쓰기", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "탭 크기", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "테마", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "16 진수-> RGB -> HSL 순서로 형식을 변환합니다.\nShift+클릭을 이용해 역순으로 변환할 수 있습니다.\nPgUp(PageUp), PgDn(PageDown) 키도 사용 가능합니다.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "색상 선택기 열기", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "변경 시", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "자동으로 변경 사항 저장 및 적용", - "description": "" - }, - "configureStyle": { - "message": "설정", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "홈페이지에서 설정", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "취소", - "description": "" - }, - "confirmClose": { - "message": "닫기", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "기본값 사용", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "삭제", - "description": "" - }, - "confirmDiscardChanges": { - "message": "변경 사항을 무시하시겠습니까?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "아니오", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "확인", - "description": "" - }, - "confirmSave": { - "message": "저장", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "중지", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "예", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "클립보드에 복사됨", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "클립보드에 복사", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "설치된 날짜", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "변경된 날짜", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylus 데이터베이스를 사용하던 중 오류가 발생했습니다. 해결 방법 안내 웹페이지를 여시겠습니까?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "기본", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "이 스타일을 정말 삭제하시겠습니까?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "삭제", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus로 웹페이지를 새롭게 디자인해보세요. 유명한 사이트의 테마, 스킨도 간단하게 설치할 수 있는 사용자 스타일 관리자입니다.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "모든 스타일 비활성화", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "비활성화", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "이 페이지 아무 곳에나 백업 파일을 놓으세요.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "파일을 설치하려면, 파일을 탭 표시줄(탭 제목이 표시되는 영역)에 놓으세요.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "삭제", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "줄 이동", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "스타일 수정", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "수정", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": " $stylename$ 스타일 수정", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "활성화", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "현재 도메인 제외", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "현재 URL 제외", - "description": "" - }, - "exportLabel": { - "message": "내보내기", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "피드백", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "홈페이지", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "외부 링크", - "description": "Label for external links" - }, - "externalSupport": { - "message": "지원", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss 안내 문서", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numTotal$개 중 $numShown$개 표시", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "현재 적용된 필터와 일치하는 스타일이 없습니다", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "스타일 찾기", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "현재 사이트에 맞는 스타일 찾기", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "팝업창 내에서", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "이 창에서 검색 결과 표시", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "추가", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "복제", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "비활성화됨", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "활성화됨", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "에러", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "기록", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "다음", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "이전", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "초기화", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "저장됨", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "제목", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "알 수 없음", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "도움말", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "명령어를 입력하세요", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "단축키를 입력하세요", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "이 호스트는 현재 사용 중인 브라우저 버전의 버그로 인해 비활성화되었습니다", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "스타일에 추가", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "가져온 스타일을 현재 스타일에 추가", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "가져오기", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "스타일 덮어쓰기", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "현재 스타일을 버리고, 가져온 스타일로 덮어씁니다.", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "추가됨", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "중복 생략됨", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "유효하지 않아 생략됨", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "메타데이터, 코드 모두 업데이트됨", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "코드가 업데이트됨", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "메타데이터 업데이트됨", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "스타일 가져오기 완료", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "변경사항 없음", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "스타일 되돌려짐", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "가져오기가 취소되었습니다.", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "스타일 설치", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "스타일 설치됨", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "스타일 재설치", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "스타일 업데이트", - "description": "Label for update button" - }, - "installUpdate": { - "message": "업데이트 설치", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "현재 스타일은 $url$에서 업데이트되었습니다", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "업데이트 확인", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "라이센스", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "도움말", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "스타일 찾기", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "위키", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "번역", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint는 $preprocessorname$ 전처리기를 지원하지 않습니다.", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(규칙 설정: 0 = 비활성화, 1 = 경고(warning), 2 = 에러)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$ 규칙 설정", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "현재 Linter를 설정하려면 클릭하세요", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "유효하지 않은 설정으로 인해 저장할 수 없음:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "문제점", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "이 문제점은 $link$에 의해 발견됨:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "유효하지 않은 JSON 형식입니다", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "실수로 초기화한 경우, 텍스트 박스 내에서 Ctrl+Z (혹은 Cmd+Z)를 눌러 취소할 수 있습니다", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "전체 규칙 목록 보기", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "파일을 주시하는 동안 오류가 발생함", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭을 열어두세요.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭과 원래 탭을 모두 열어두세요.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "실시간 리로드", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "적용 대상 열에 Favicon(사이트 아이콘) 표시", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "회색으로 표시", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus는 https://www.google.com/s2/favicons 외부 서비스를 이용합니다", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "필터", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "설치한 스타일 목록", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "적용 대상 항목 수", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "Usercss로 작성", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "새로운 관리 페이지 UI 레이아웃", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "비활성화된 스타일만", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "활성화된 스타일만", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "외부에서 설치한 스타일만", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "로컬에서 생성한 스타일만", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(userstyles.org 페이지에서 설치하지 않은 스타일)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Usercss가 아닌 스타일만", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "업데이트 혹은 문제점이 있는 것만", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Usercss 스타일만", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "활성화된 스타일 개수 표시", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "@var 체크박스가 유효하지 않습니다. 값은 0, 1중 하나여야 합니다.", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "@var 색상이 유효하지 않습니다. $color$은(는) 색상이 아닙니다.", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "@var $type$이(가) 유효하지 않습니다. 값은 숫자나 배열이어야 합니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "@var $type$이(가) 유효하지 않습니다. 구성단위가 여러 개 정의되었습니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "@var $type$이(가) 유효하지 않습니다. 배열의 요소가 너무 많습니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "@var $type$이(가) 유효하지 않습니다. 배열 요소는 숫자, 문자열, null 중 하나여야 합니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본 값이 null입니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최솟값보다 작습니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최댓값보다 큽니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 단계의 변수가 아닙니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "@var $type$이(가) 유효하지 않습니다. '$units$'은(는) 유효한 구성단위가 아닙니다.", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "유효하지 않은 @var 선택입니다. 기본 값은 배열이나 오브젝트여야 합니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "유효하지 않은 @var 선택입니다. 배열, 오브젝트 내 값은 문자열이어야 합니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "유효하지 않은 @var 선택입니다. 옵션 목록이 비었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "유효하지 않은 @var 선택입니다. 옵션 라벨이 비었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "유효하지 않은 @var 선택입니다. 기본 옵션이 여러 번 정의되었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "유효하지 않은 @var 선택입니다. 옵션명이 중복되었습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "유효하지 않은 @var 선택입니다. 옵션 목록에 값이 존재하지 않습니다.", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "$protocol$은(는) 유효하지 않은 URL 프로토콜입니다. http, https만 허용됩니다.", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "유효하지 않은 버전 숫자입니다. $version$은(는) 유의적 버전 패턴과 일치하지 않습니다.", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "숫자를 입력하세요", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "따옴표로 묶인 문자열을 입력하세요", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "단어를 입력하세요", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "$chars$ 문자를 입력하세요", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "EOT 데이터를 입력하세요", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "필수 메타 데이터인 $keys$이(가) 누락되었습니다", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "유효하지 않은 JSON입니다. $literal$은(는) 유효한 JSON 리터럴이 아닙니다.", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "알 수 없는 메타데이터 $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "알 수 없는 @$varkey$ 타입: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "알 수 없는 @preprocessor $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "현재 사이트에 설치한 스타일이 없습니다.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "관리", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "옵션", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "스타일 관리자 열기", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "동작", - "description": "" - }, - "optionsAdvanced": { - "message": "고급", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "편집기 컨텍스트 메뉴에 '삭제' 추가", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "iframe을 HTML[stylus-iframe]으로 노출", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "최상위 사이트 도메인을 각 iframe에 노출합니다.\n다음과 같이 iframe용 CSS를 작성할 수 있습니다:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "새로운 스타일을 Usercss로 작성", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "비활성화 시의 배경 색", - "description": "" - }, - "optionsBadgeNormal": { - "message": "배경 색", - "description": "" - }, - "optionsCheck": { - "message": "스타일 업데이트", - "description": "" - }, - "optionsCheckUpdate": { - "message": "사용 가능한 모든 업데이트 확인 및 설치", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "툴바 아이콘 뱃지", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "툴바 아이콘", - "description": "" - }, - "optionsCustomizePopup": { - "message": "팝업", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "업데이트", - "description": "" - }, - "optionsCustomizeSync": { - "message": "클라우드에 동기화", - "description": "" - }, - "optionsHeading": { - "message": "옵션", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "어두운 브라우저 테마", - "description": "" - }, - "optionsIconLight": { - "message": "밝은 브라우저 테마", - "description": "" - }, - "optionsOpen": { - "message": "열기", - "description": "" - }, - "optionsOpenManager": { - "message": "스타일 관리", - "description": "" - }, - "optionsPopupWidth": { - "message": "팝업 너비 (픽셀 단위)", - "description": "" - }, - "optionsReset": { - "message": "기본 값으로 설정 초기화", - "description": "" - }, - "optionsResetButton": { - "message": "설정 초기화", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "추가 옵션", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Stylish나 구버전 스타일 백업을 가져왔을 경우, 스타일들을 최신 버전으로 유지하려면 스타일 매니저에서 한 번씩 수동으로 업데이트 검사를 진행해 주세요.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle 자동 업데이트 간격 (시간 단위, 0일시 업데이트하지 않음)", - "description": "" - }, - "optionsSyncNone": { - "message": "없음", - "description": "" - }, - "optionsSyncConnect": { - "message": "연결", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "연결 끊기", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "지금 동기화", - "description": "" - }, - "optionsSyncLogin": { - "message": "로그인", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "스타일 다운로드 중 ($loaded$/$total$)", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "스타일 업로드 중 ($loaded$/$total$)", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "동기화 중...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "연결 중...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "연결됨", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "연결 끊는 중...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "연결 끊김", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "현재 페이지", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "예상 페이지 수", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "다음 페이지", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "이전 페이지", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "총 페이지 수", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus가 Usercss 데이터를 해석하는데 실패했습니다:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "팝업 내에서 스타일 토글 시 재정렬", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "양옆에 흰색 테두리 추가", - "description": "" - }, - "popupBordersTooltip": { - "message": "측면 테두리를 칠하지 않으므로 새로운 Chrome의 다크 테마에서 유용합니다", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>,<0> (숫자패드 포함) - N번째 스타일 토글 (0은 10)\n- 해당 글자로 시작하는 첫 번째 스타일 토글\n 토글 대신 편집기 열기\n 나열된 스타일 활성화\n 나열된 스타일 비활성화\n, <`> (백틱) - 처음에 활성화한 스타일을 토글합니다. 팝업이 열려 있는 동안에는 나중에 활성화한 스타일에 적용되지 않습니다. 따라서 검사 후 초기 선택 항목을 복원할 수 있습니다. 간단하게, 모두 비활성화한 다음 로 다시 전환하세요.\n자세한 내용은 위키를 참고 바랍니다", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "사용 가능한 단축키를 확인하려면 클릭하세요", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift+클릭이나 우클릭으로 스타일 관리자를 열면 현재 사이트에 적용 가능한 스타일들이 표시됩니다.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "상호작용 메뉴", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "새 창에서 편집기 열기", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "이 옵션은 편집기가 열린 탭을 브라우저 창에서 분리함으로써 활성화할 수도 있습니다.\n편집기 탭만 다른 브라우저 창으로 합치면 비활성화됩니다.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "스타일 목록을 커맨드 버튼 상단에 표시", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "현재 사이트에서 활성화된 스타일 개수", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "실시간 미리보기", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "변경 사항은 저장되지 않고 일시적으로 적용됩니다.\n영구적으로 변경하려면 스타일을 저장하세요.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus 확장 프로그램 리로드", - "description": "Context menu reload" - }, - "replace": { - "message": "바꾸기", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "모두 바꾸기", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "바꿀 내용", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "스타일 가져오기", - "description": "" - }, - "search": { - "message": "검색", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "대소문자 구분", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "일치하는 개수", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "코드 및 적용 대상 값 내에서 일치하는 개수", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "정규 표현식 검색은 /re/ 문법을 사용합니다", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "총 설치 수", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "이 사이트에 맞는 스타일을 찾지 못했습니다.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "평가", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "업데이트됨", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "주간 설치 수", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS 코드", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "메타데이터", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "섹션 추가", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "코드", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "섹션 제거", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "제거된 섹션 복구", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "섹션", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "단축키", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "키보드 단축키 정의", - "description": "" - }, - "sortDateNewestFirst": { - "message": "최신 순으로", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "오래된 순으로", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "설치한 스타일들을 어떻게 정렬할지 선택합니다", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "제목 오름차순", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "제목 내림차순", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "설치한 스타일들을 정렬할 방식을 드롭 다운 목록에서 선택합니다. 기본 설정은 각 제목을 오름차순(A to Z)으로 정렬하고, \"제목 내림차순\" 을 선택 시 내림차순(Z to A)으로 정렬합니다.\n여러 기준에 따라 항목을 정렬할 수 있는 다른 사전 설정도 있습니다. 여러 개의 열이 있는 테이블을 정렬하고, 각 선택 옵션 내의 카테고리들이(+ 기호 사이) 열 또는 그룹을 나타낸다고 생각해보세요.\n예를 들어, 설정이 \"활성화됨 (first) + 제목\"인 경우, 모든 활성화된 항목이 목록의 맨 위에 정렬되도록 정렬된 후, Entry 제목 오름차순 정렬(A to Z)이 활성화된 항목과 비활성화된 항목 모두에 별도로 적용됩니다.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "내용 정렬", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "유효하지 않은 정규 표현식입니다.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "힌트: “Beautify” 버튼을 우클릭 하거나 아래 지정한 키보드 단축키를 사용하면 이 패널을 숨기면서 “Beautify”를 활성화 합니다", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports 들여쓰기", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "개행 문자 유지", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "관리 페이지로 돌아가기", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "스타일의 변경 사항을 저장하지 않았습니다.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "활성화됨", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Mozilla 형식 데이터를 가져오는데 실패했습니다", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla 형식의 코드를 붙여넣으세요", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Stylus에 '$stylename$'을(를) 설치하시겠습니까?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "userstyle 설치에 실패했습니다.\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$'은(는) 이미 설치되어 있습니다. 덮어쓰시겠습니까?\n버전: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "이름을 입력하세요", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla 형식", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "잘못된 'regexp()'의 사용으로 인해 스타일을 적용할 수 없습니다", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "일부 `regexp()` 규칙은 컴파일할 수 없습니다.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "이 스타일은 부분 일치 정규 표현식을 사용합니다. CSS4 @document 사양은 전체 URL 일치를 사용할 것을 강제하고 있으므로, 해당 CSS 섹션은 페이지에 적용되지 않았습니다. 이 스타일은 초기부터 `regexp()` 규칙을 바르게 확인하지 않는 것으로 알려진 Stylish-for-Chrome에서 생성되었을 것으로 추정됩니다.", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "잘못된 'regexp()' 사용으로 인해 몇몇 섹션을 적용할 수 없습니다.", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "정규 표현식 테스트", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "일치하는 탭 목록", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "유효하지 않은 정규 표현식 생략됨", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "일치하는 탭 없음", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "참고: 정규 표현식 입력 필드에서 이스케이프 처리는 단일 \\ 를 사용하세요. CSS에서 따옴표로 묶인 문자열의 사양에 따라 스타일 코드에서 자동으로 \\\\ 로 변환됩니다. ", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "완전히 일치하지는 않으므로 생략됨", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "열린 탭 중 일치하는 목록 (URL 클릭 시 해당 탭으로 이동)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "저장", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla 형식 코드는 userstyles.org에 올리거나 기존 Firefox용 Stylish에 사용할 수 있습니다", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla 형식으로 변환한 스타일", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "'$stylename$'을(를) 정말 수정하시겠습니까?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "이 스타일은 편집기 외부에서 변경되었습니다. 스타일을 다시 로딩하시겠습니까?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus는 이러한 페이지에서는 작동할 수 없습니다.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "브라우저 보안 상의 이유로, 확장 프로그램은 브라우저 내장 페이지(chrome://version, Chrome 61의 표준 새 탭 페이지, about:addons 등)나 타 확장 프로그램의 페이지에 영향을 미칠 수 없습니다. 각 브라우저의 확장 프로그램 스토어(Chrome 웹 스토어, AMO 등) 접근 또한 마찬가지입니다.", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "값을 저장할 수 없습니다. 텍스트의 양을 줄이세요.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "스타일 토글", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "취소", - "description": "Button label" - }, - "undoGlobal": { - "message": "모든 섹션에서 실행 취소", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox가 해당 사이트의 접근을 금지했습니다.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "접근을 허용하려면 를 열고, 목록을 우클릭 한 후, '새로 만들기'를 클릭하고, '불린값'을 선택하고, 을 붙여 넣고 확인을 누르고, , 확인 후 페이지를 새로 고침하세요.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Firefox 60 이상 버전에서는 내의 에서 AMO 도메인을 제거해야 합니다.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Firefox 59 버전 이상에서만 이처럼 CSP 보호 정책이 적용된 사이트에 웹 확장 기능으로 스타일 요소를 추가할 수 있도록 설정 가능합니다.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "페이지와 통신할 수 없습니다. 탭을 다시 로딩(새로 고침) 해보세요.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus가 file:// URL에 접근할 수 있도록 하려면 chrome://extensions 페이지에서 파일 URL에 대한 액세스를 허용해야 합니다.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus는 일부 파일 형식(예: pdf, json 파일 등)에 접근할 수 없습니다.", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "이용 가능한 업데이트가 없습니다.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "로컬 수정 사항이 사라지는 것을 방지하기 위해, 일부 업데이트 가능한 스타일이 선택에서 누락되었을 수 있습니다. 이를 강제로 업데이트하려면 각각을 직접 선택하거나, 다른 전체 스타일 검사(따로 수정한 사항은 덮어씌워집니다)를 시행하세요.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "업데이트 실패. 서버의 응답 에러코드는 $code$입니다.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "업데이트 실패. 서버와 연결할 수 없습니다.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "업데이트 검사 기록", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "업데이트 설치 (로컬 수정 사항은 덮어씌워집니다)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "로컬 수정 사항을 무시하고 업데이트를 덮어씌웁니다.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "이 스타일은 로컬에서 수정되었습니다.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "이 스타일은 로컬에서 수정되었을 수 있습니다.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "스타일이 최신 상태입니다.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "업데이트가 완료됐습니다.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "설치된 업데이트:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "기존에 존재하는 스타일이 덮어씌워지는 것을 방지하려면 @name이나 @namespace 값을 변경하세요.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "설정 대화상자가 열리고 나서 스타일이 수정되거나 삭제되었습니다. 스타일의 메타 데이터와 충돌이 일어나는 것을 방지하기 위해, 현재 변수들은 저장되지 않습니다:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "코드에 @name을 지정하세요", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "현재 코드로 새 Usercss 스타일의 기본 템플릿을 대체하시겠습니까?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name을 비우면 기본 템플릿이 대체됩니다.", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "코드를 여기 입력하세요", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "설치되어 있는 스타일이 더 높은 버전입니다.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "스타일 작성 대상:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "현재 URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox 내보내기", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox 가져오기/내보내기는 옵션 페이지의 더 발전된 스타일 동기화 기능으로 대체되었습니다.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox 가져오기", - "description": "" - }, - "overwriteFileExport": { - "message": "기존 파일을 덮어쓰시겠습니까?", - "description": "" - }, - "exportSavedSuccess": { - "message": "파일 저장에 성공했습니다.", - "description": "" - }, - "noFileToImport": { - "message": "스타일을 가져오려면, 먼저 내보내야 합니다.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropbox 연결 중...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropbox 연결은 웹 스토어에서 직접 설치한 앱에서만 가능합니다.", - "description": "" - }, - "gettingStyles": { - "message": "모든 스타일 가져오는 중...", - "description": "" - }, - "zipStyles": { - "message": "스타일 압축 중...", - "description": "" - }, - "unzipStyles": { - "message": "스타일 압축 푸는 중...", - "description": "" - }, - "readingStyles": { - "message": "스타일 읽어들이는 중...", - "description": "" - }, - "uploadingFile": { - "message": "파일 업로드 중...", - "description": "" - }, - "addStyleLabel": { - "message": "새 스타일 작성", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus는 일부 파일 형식(예: pdf, json 파일 등)에 접근할 수 없습니다." + }, + "addStyleLabel": { + "message": "새 스타일 작성" + }, + "addStyleTitle": { + "message": "스타일 추가" + }, + "alphaChannel": { + "message": "투명도" + }, + "appliesAdd": { + "message": "추가" + }, + "appliesDisplay": { + "message": "적용 대상: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "그 이상" + }, + "appliesDomainOption": { + "message": "URL의 도메인이 다음과 같음" + }, + "appliesHelp": { + "message": "'적용 대상'은 이 섹션에 작성한 스타일을 어느 URL에 적용할지 정합니다" + }, + "appliesLabel": { + "message": "적용 대상" + }, + "appliesLineWidgetLabel": { + "message": "'적용 대상' 정보 표시" + }, + "appliesLineWidgetWarning": { + "message": "경량화(Minify) 된 CSS에선 작동하지 않습니다." + }, + "appliesRegexpOption": { + "message": "URL이 다음 정규 표현식과 일치함" + }, + "appliesRemove": { + "message": "제거" + }, + "appliesRemoveError": { + "message": "마지막 '적용 대상' 항목은 제거할 수 없습니다" + }, + "appliesSpecify": { + "message": "개별 지정" + }, + "appliesToEverything": { + "message": "전부" + }, + "appliesUrlPrefixOption": { + "message": "URL의 앞부분이 다음과 같음" + }, + "applyAllUpdates": { + "message": "모든 업데이트 적용" + }, + "author": { + "message": "작성자" + }, + "backupButtons": { + "message": "백업" + }, + "backupMessage": { + "message": "파일을 선택하거나, 이 페이지로 파일을 드래그앤드롭하세요." + }, + "bckpInstStyles": { + "message": "스타일 내보내기" + }, + "checkAllUpdates": { + "message": "모든 스타일 업데이트 확인" + }, + "checkAllUpdatesForce": { + "message": "한 번 더 확인해보세요. 아직 아무것도 수정하지 않았답니다!" + }, + "checkForUpdate": { + "message": "업데이트 확인" + }, + "checkingForUpdate": { + "message": "확인 중..." + }, + "clickToUninstall": { + "message": "클릭하여 제거" + }, + "cm_autoCloseBrackets": { + "message": "괄호 및 따옴표 자동으로 닫기" + }, + "cm_autoCloseBracketsTooltip": { + "message": "()[]''\"\"의 여는 기호를 입력할 시, 닫는 기호를 자동으로 추가합니다" + }, + "cm_autocompleteOnTyping": { + "message": "타이핑 자동완성" + }, + "cm_colorpicker": { + "message": "CSS 색상에 Colorpicker(색상 선택기) 표시" + }, + "cm_indentWithTabs": { + "message": "자동 들여쓰기 시 탭 사용" + }, + "cm_keyMap": { + "message": "키 매핑" + }, + "cm_lineWrapping": { + "message": "자동 줄바끔" + }, + "cm_matchHighlight": { + "message": "하이라이트" + }, + "cm_matchHighlightSelection": { + "message": "선택된 것만" + }, + "cm_matchHighlightToken": { + "message": "커서 위치의 토큰" + }, + "cm_resizeGripHint": { + "message": "더블 클릭으로 높이 최대화/이전 높이로 복구할 수 있습니다" + }, + "cm_selectByTokens": { + "message": "더블 클릭으로 토큰 선택" + }, + "cm_selectByTokensTooltip": { + "message": "토큰 예시: .foo-bar-2 #aabbcc 0.32 !important\n비활성화 시: 문장 부호로 구분된 단어 선택" + }, + "cm_smartIndent": { + "message": "자동 들여쓰기" + }, + "cm_tabSize": { + "message": "탭 크기" + }, + "cm_theme": { + "message": "테마" + }, + "colorpickerSwitchFormatTooltip": { + "message": "16 진수-> RGB -> HSL 순서로 형식을 변환합니다.\nShift+클릭을 이용해 역순으로 변환할 수 있습니다.\nPgUp(PageUp), PgDn(PageDown) 키도 사용 가능합니다." + }, + "colorpickerTooltip": { + "message": "색상 선택기 열기" + }, + "configOnChange": { + "message": "변경 시" + }, + "configOnChangeTooltip": { + "message": "자동으로 변경 사항 저장 및 적용" + }, + "configureStyle": { + "message": "설정" + }, + "configureStyleOnHomepage": { + "message": "홈페이지에서 설정" + }, + "confirmCancel": { + "message": "취소" + }, + "confirmClose": { + "message": "닫기" + }, + "confirmDefault": { + "message": "기본값 사용" + }, + "confirmDelete": { + "message": "삭제" + }, + "confirmDiscardChanges": { + "message": "변경 사항을 무시하시겠습니까?" + }, + "confirmNo": { + "message": "아니오" + }, + "confirmOK": { + "message": "확인" + }, + "confirmSave": { + "message": "저장" + }, + "confirmStop": { + "message": "중지" + }, + "confirmYes": { + "message": "예" + }, + "connectingDropbox": { + "message": "Dropbox 연결 중..." + }, + "connectingDropboxNotAllowed": { + "message": "Dropbox 연결은 웹 스토어에서 직접 설치한 앱에서만 가능합니다." + }, + "copied": { + "message": "클립보드에 복사됨" + }, + "copy": { + "message": "클립보드에 복사" + }, + "dateInstalled": { + "message": "설치된 날짜" + }, + "dateUpdated": { + "message": "변경된 날짜" + }, + "dbError": { + "message": "Stylus 데이터베이스를 사용하던 중 오류가 발생했습니다. 해결 방법 안내 웹페이지를 여시겠습니까?" + }, + "defaultTheme": { + "message": "기본" + }, + "deleteStyleConfirm": { + "message": "이 스타일을 정말 삭제하시겠습니까?" + }, + "deleteStyleLabel": { + "message": "삭제" + }, + "description": { + "message": "Stylus로 웹페이지를 새롭게 디자인해보세요. 유명한 사이트의 테마, 스킨도 간단하게 설치할 수 있는 사용자 스타일 관리자입니다." + }, + "disableAllStyles": { + "message": "모든 스타일 비활성화" + }, + "disableStyleLabel": { + "message": "비활성화" + }, + "dragDropMessage": { + "message": "이 페이지 아무 곳에나 백업 파일을 놓으세요." + }, + "dragDropUsercssTabstrip": { + "message": "파일을 설치하려면, 파일을 탭 표시줄(탭 제목이 표시되는 영역)에 놓으세요." + }, + "editDeleteText": { + "message": "삭제" + }, + "editGotoLine": { + "message": "줄 이동" + }, + "editStyleHeading": { + "message": "스타일 수정" + }, + "editStyleLabel": { + "message": "수정" + }, + "editStyleTitle": { + "message": " $stylename$ 스타일 수정", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "활성화" + }, + "excludeStyleByDomainLabel": { + "message": "현재 도메인 제외" + }, + "excludeStyleByUrlLabel": { + "message": "현재 URL 제외" + }, + "exportLabel": { + "message": "내보내기" + }, + "exportSavedSuccess": { + "message": "파일 저장에 성공했습니다." + }, + "externalFeedback": { + "message": "피드백" + }, + "externalHomepage": { + "message": "홈페이지" + }, + "externalLink": { + "message": "외부 링크" + }, + "externalSupport": { + "message": "지원" + }, + "externalUsercssDocument": { + "message": "Usercss 안내 문서" + }, + "filteredStyles": { + "message": "$numTotal$개 중 $numShown$개 표시", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "현재 적용된 필터와 일치하는 스타일이 없습니다" + }, + "findStyles": { + "message": "스타일 찾기" + }, + "findStylesForSite": { + "message": "현재 사이트에 맞는 스타일 찾기" + }, + "findStylesInline": { + "message": "팝업창 내에서" + }, + "findStylesInlineTooltip": { + "message": "이 창에서 검색 결과 표시" + }, + "genericAdd": { + "message": "추가" + }, + "genericClone": { + "message": "복제" + }, + "genericDisabledLabel": { + "message": "비활성화됨" + }, + "genericEnabledLabel": { + "message": "활성화됨" + }, + "genericError": { + "message": "에러" + }, + "genericHistoryLabel": { + "message": "기록" + }, + "genericNext": { + "message": "다음" + }, + "genericPrevious": { + "message": "이전" + }, + "genericResetLabel": { + "message": "초기화" + }, + "genericSavedMessage": { + "message": "저장됨" + }, + "genericTitle": { + "message": "제목" + }, + "genericUnknown": { + "message": "알 수 없음" + }, + "gettingStyles": { + "message": "모든 스타일 가져오는 중..." + }, + "helpAlt": { + "message": "도움말" + }, + "helpKeyMapCommand": { + "message": "명령어를 입력하세요" + }, + "helpKeyMapHotkey": { + "message": "단축키를 입력하세요" + }, + "hostDisabled": { + "message": "이 호스트는 현재 사용 중인 브라우저 버전의 버그로 인해 비활성화되었습니다" + }, + "importAppendLabel": { + "message": "스타일에 추가" + }, + "importAppendTooltip": { + "message": "가져온 스타일을 현재 스타일에 추가" + }, + "importLabel": { + "message": "가져오기" + }, + "importReplaceLabel": { + "message": "스타일 덮어쓰기" + }, + "importReplaceTooltip": { + "message": "현재 스타일을 버리고, 가져온 스타일로 덮어씁니다." + }, + "importReportLegendAdded": { + "message": "추가됨" + }, + "importReportLegendIdentical": { + "message": "중복 생략됨" + }, + "importReportLegendInvalid": { + "message": "유효하지 않아 생략됨" + }, + "importReportLegendUpdatedBoth": { + "message": "메타데이터, 코드 모두 업데이트됨" + }, + "importReportLegendUpdatedCode": { + "message": "코드가 업데이트됨" + }, + "importReportLegendUpdatedMeta": { + "message": "메타데이터 업데이트됨" + }, + "importReportTitle": { + "message": "스타일 가져오기 완료" + }, + "importReportUnchanged": { + "message": "변경사항 없음" + }, + "importReportUndone": { + "message": "스타일 되돌려짐" + }, + "importReportUndoneTitle": { + "message": "가져오기가 취소되었습니다." + }, + "installButton": { + "message": "스타일 설치" + }, + "installButtonInstalled": { + "message": "스타일 설치됨" + }, + "installButtonReinstall": { + "message": "스타일 재설치" + }, + "installButtonUpdate": { + "message": "스타일 업데이트" + }, + "installUpdate": { + "message": "업데이트 설치" + }, + "installUpdateFrom": { + "message": "현재 스타일은 $url$에서 업데이트되었습니다", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "업데이트 확인" + }, + "license": { + "message": "라이센스" + }, + "linkGetHelp": { + "message": "도움말" + }, + "linkGetStyles": { + "message": "스타일 찾기" + }, + "linkStylusWiki": { + "message": "위키" + }, + "linkTranslate": { + "message": "번역" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint는 $preprocessorname$ 전처리기를 지원하지 않습니다.", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(규칙 설정: 0 = 비활성화, 1 = 경고(warning), 2 = 에러)" + }, + "linterConfigPopupTitle": { + "message": "$linter$ 규칙 설정", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "현재 Linter를 설정하려면 클릭하세요" + }, + "linterInvalidConfigError": { + "message": "유효하지 않은 설정으로 인해 저장할 수 없음:" + }, + "linterIssues": { + "message": "문제점" + }, + "linterIssuesHelp": { + "message": "이 문제점은 $link$에 의해 발견됨:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "유효하지 않은 JSON 형식입니다" + }, + "linterResetMessage": { + "message": "실수로 초기화한 경우, 텍스트 박스 내에서 Ctrl+Z (혹은 Cmd+Z)를 눌러 취소할 수 있습니다" + }, + "linterRulesLink": { + "message": "전체 규칙 목록 보기" + }, + "liveReloadError": { + "message": "파일을 주시하는 동안 오류가 발생함" + }, + "liveReloadInstallHint": { + "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭을 열어두세요." + }, + "liveReloadInstallHintFF": { + "message": "외부 요인으로 인한 변경 시 스타일을 자동으로 업데이트하려면 이 탭과 원래 탭을 모두 열어두세요." + }, + "liveReloadLabel": { + "message": "실시간 리로드" + }, + "manageFavicons": { + "message": "적용 대상 열에 Favicon(사이트 아이콘) 표시" + }, + "manageFaviconsGray": { + "message": "회색으로 표시" + }, + "manageFaviconsHelp": { + "message": "Stylus는 https://www.google.com/s2/favicons 외부 서비스를 이용합니다" + }, + "manageFilters": { + "message": "필터" + }, + "manageHeading": { + "message": "설치한 스타일 목록" + }, + "manageMaxTargets": { + "message": "적용 대상 항목 수" + }, + "manageNewStyleAsUsercss": { + "message": "Usercss로 작성" + }, + "manageNewUI": { + "message": "새로운 관리 페이지 UI 레이아웃" + }, + "manageOnlyDisabled": { + "message": "비활성화된 스타일만" + }, + "manageOnlyEnabled": { + "message": "활성화된 스타일만" + }, + "manageOnlyExternal": { + "message": "외부에서 설치한 스타일만" + }, + "manageOnlyLocal": { + "message": "로컬에서 생성한 스타일만" + }, + "manageOnlyLocalTooltip": { + "message": "(userstyles.org 페이지에서 설치하지 않은 스타일)" + }, + "manageOnlyNonUsercss": { + "message": "Usercss가 아닌 스타일만" + }, + "manageOnlyUpdates": { + "message": "업데이트 혹은 문제점이 있는 것만" + }, + "manageOnlyUsercss": { + "message": "Usercss 스타일만" + }, + "menuShowBadge": { + "message": "활성화된 스타일 개수 표시" + }, + "meta_invalidCheckboxDefault": { + "message": "@var 체크박스가 유효하지 않습니다. 값은 0, 1중 하나여야 합니다." + }, + "meta_invalidColor": { + "message": "@var 색상이 유효하지 않습니다. $color$은(는) 색상이 아닙니다.", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "숫자를 입력하세요" + }, + "meta_invalidRange": { + "message": "@var $type$이(가) 유효하지 않습니다. 값은 숫자나 배열이어야 합니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본 값이 null입니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최댓값보다 큽니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 최솟값보다 작습니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "@var $type$이(가) 유효하지 않습니다. 구성단위가 여러 개 정의되었습니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "@var $type$이(가) 유효하지 않습니다. 기본값이 단계의 변수가 아닙니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "@var $type$이(가) 유효하지 않습니다. 배열의 요소가 너무 많습니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "@var $type$이(가) 유효하지 않습니다. '$units$'은(는) 유효한 구성단위가 아닙니다.", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "@var $type$이(가) 유효하지 않습니다. 배열 요소는 숫자, 문자열, null 중 하나여야 합니다.", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "유효하지 않은 @var 선택입니다. 기본 값은 배열이나 오브젝트여야 합니다." + }, + "meta_invalidSelectEmptyOptions": { + "message": "유효하지 않은 @var 선택입니다. 옵션 목록이 비었습니다." + }, + "meta_invalidSelectLabel": { + "message": "유효하지 않은 @var 선택입니다. 옵션 라벨이 비었습니다." + }, + "meta_invalidSelectMultipleDefaults": { + "message": "유효하지 않은 @var 선택입니다. 기본 옵션이 여러 번 정의되었습니다." + }, + "meta_invalidSelectNameDuplicated": { + "message": "유효하지 않은 @var 선택입니다. 옵션명이 중복되었습니다." + }, + "meta_invalidSelectValue": { + "message": "유효하지 않은 @var 선택입니다. 배열, 오브젝트 내 값은 문자열이어야 합니다." + }, + "meta_invalidSelectValueMismatch": { + "message": "유효하지 않은 @var 선택입니다. 옵션 목록에 값이 존재하지 않습니다." + }, + "meta_invalidString": { + "message": "따옴표로 묶인 문자열을 입력하세요" + }, + "meta_invalidURLProtocol": { + "message": "$protocol$은(는) 유효하지 않은 URL 프로토콜입니다. http, https만 허용됩니다.", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "유효하지 않은 버전 숫자입니다. $version$은(는) 유의적 버전 패턴과 일치하지 않습니다.", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "단어를 입력하세요" + }, + "meta_missingChar": { + "message": "$chars$ 문자를 입력하세요", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "EOT 데이터를 입력하세요" + }, + "meta_missingMandatory": { + "message": "필수 메타 데이터인 $keys$이(가) 누락되었습니다", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "유효하지 않은 JSON입니다. $literal$은(는) 유효한 JSON 리터럴이 아닙니다.", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "알 수 없는 메타데이터 $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "알 수 없는 @preprocessor $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "알 수 없는 @$varkey$ 타입: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "스타일을 가져오려면, 먼저 내보내야 합니다." + }, + "noStylesForSite": { + "message": "현재 사이트에 설치한 스타일이 없습니다." + }, + "openManage": { + "message": "관리" + }, + "openOptions": { + "message": "옵션" + }, + "openStylesManager": { + "message": "스타일 관리자 열기" + }, + "optionsActions": { + "message": "동작" + }, + "optionsAdvanced": { + "message": "고급" + }, + "optionsAdvancedContextDelete": { + "message": "편집기 컨텍스트 메뉴에 '삭제' 추가" + }, + "optionsAdvancedExposeIframes": { + "message": "iframe을 HTML[stylus-iframe]으로 노출" + }, + "optionsAdvancedExposeIframesNote": { + "message": "최상위 사이트 도메인을 각 iframe에 노출합니다.\n다음과 같이 iframe용 CSS를 작성할 수 있습니다:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "새로운 스타일을 Usercss로 작성" + }, + "optionsBadgeDisabled": { + "message": "비활성화 시의 배경 색" + }, + "optionsBadgeNormal": { + "message": "배경 색" + }, + "optionsCheck": { + "message": "스타일 업데이트" + }, + "optionsCheckUpdate": { + "message": "사용 가능한 모든 업데이트 확인 및 설치" + }, + "optionsCustomizeBadge": { + "message": "툴바 아이콘 뱃지" + }, + "optionsCustomizeIcon": { + "message": "툴바 아이콘" + }, + "optionsCustomizePopup": { + "message": "팝업" + }, + "optionsCustomizeSync": { + "message": "클라우드에 동기화" + }, + "optionsCustomizeUpdate": { + "message": "업데이트" + }, + "optionsHeading": { + "message": "옵션" + }, + "optionsIconDark": { + "message": "어두운 브라우저 테마" + }, + "optionsIconLight": { + "message": "밝은 브라우저 테마" + }, + "optionsOpen": { + "message": "열기" + }, + "optionsOpenManager": { + "message": "스타일 관리" + }, + "optionsPopupWidth": { + "message": "팝업 너비 (픽셀 단위)" + }, + "optionsReset": { + "message": "기본 값으로 설정 초기화" + }, + "optionsResetButton": { + "message": "설정 초기화" + }, + "optionsSubheading": { + "message": "추가 옵션" + }, + "optionsSyncConnect": { + "message": "연결" + }, + "optionsSyncDisconnect": { + "message": "연결 끊기" + }, + "optionsSyncLogin": { + "message": "로그인" + }, + "optionsSyncNone": { + "message": "없음" + }, + "optionsSyncStatusConnected": { + "message": "연결됨" + }, + "optionsSyncStatusConnecting": { + "message": "연결 중..." + }, + "optionsSyncStatusDisconnected": { + "message": "연결 끊김" + }, + "optionsSyncStatusDisconnecting": { + "message": "연결 끊는 중..." + }, + "optionsSyncStatusPull": { + "message": "스타일 다운로드 중 ($loaded$/$total$)", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "스타일 업로드 중 ($loaded$/$total$)", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusSyncing": { + "message": "동기화 중..." + }, + "optionsSyncSyncNow": { + "message": "지금 동기화" + }, + "optionsUpdateImportNote": { + "message": "Stylish나 구버전 스타일 백업을 가져왔을 경우, 스타일들을 최신 버전으로 유지하려면 스타일 매니저에서 한 번씩 수동으로 업데이트 검사를 진행해 주세요." + }, + "optionsUpdateInterval": { + "message": "Userstyle 자동 업데이트 간격 (시간 단위, 0일시 업데이트하지 않음)" + }, + "overwriteFileExport": { + "message": "기존 파일을 덮어쓰시겠습니까?" + }, + "paginationCurrent": { + "message": "현재 페이지" + }, + "paginationEstimated": { + "message": "예상 페이지 수" + }, + "paginationNext": { + "message": "다음 페이지" + }, + "paginationPrevious": { + "message": "이전 페이지" + }, + "paginationTotal": { + "message": "총 페이지 수" + }, + "parseUsercssError": { + "message": "Stylus가 Usercss 데이터를 해석하는데 실패했습니다:" + }, + "popupAutoResort": { + "message": "팝업 내에서 스타일 토글 시 재정렬" + }, + "popupBorders": { + "message": "양옆에 흰색 테두리 추가" + }, + "popupBordersTooltip": { + "message": "측면 테두리를 칠하지 않으므로 새로운 Chrome의 다크 테마에서 유용합니다" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>,<0> (숫자패드 포함) - N번째 스타일 토글 (0은 10)\n- 해당 글자로 시작하는 첫 번째 스타일 토글\n 토글 대신 편집기 열기\n 나열된 스타일 활성화\n 나열된 스타일 비활성화\n, <`> (백틱) - 처음에 활성화한 스타일을 토글합니다. 팝업이 열려 있는 동안에는 나중에 활성화한 스타일에 적용되지 않습니다. 따라서 검사 후 초기 선택 항목을 복원할 수 있습니다. 간단하게, 모두 비활성화한 다음 로 다시 전환하세요.\n자세한 내용은 위키를 참고 바랍니다" + }, + "popupHotkeysTooltip": { + "message": "사용 가능한 단축키를 확인하려면 클릭하세요" + }, + "popupManageTooltip": { + "message": "Shift+클릭이나 우클릭으로 스타일 관리자를 열면 현재 사이트에 적용 가능한 스타일들이 표시됩니다." + }, + "popupMenuButtonTooltip": { + "message": "상호작용 메뉴" + }, + "popupOpenEditInWindow": { + "message": "새 창에서 편집기 열기" + }, + "popupOpenEditInWindowTooltip": { + "message": "이 옵션은 편집기가 열린 탭을 브라우저 창에서 분리함으로써 활성화할 수도 있습니다.\n편집기 탭만 다른 브라우저 창으로 합치면 비활성화됩니다." + }, + "popupStylesFirst": { + "message": "스타일 목록을 커맨드 버튼 상단에 표시" + }, + "prefShowBadge": { + "message": "현재 사이트에서 활성화된 스타일 개수" + }, + "previewLabel": { + "message": "실시간 미리보기" + }, + "previewTooltip": { + "message": "변경 사항은 저장되지 않고 일시적으로 적용됩니다.\n영구적으로 변경하려면 스타일을 저장하세요." + }, + "readingStyles": { + "message": "스타일 읽어들이는 중..." + }, + "reload": { + "message": "Stylus 확장 프로그램 리로드" + }, + "replace": { + "message": "바꾸기" + }, + "replaceAll": { + "message": "모두 바꾸기" + }, + "replaceWith": { + "message": "바꿀 내용" + }, + "retrieveBckp": { + "message": "스타일 가져오기" + }, + "retrieveDropboxSync": { + "message": "Dropbox 가져오기" + }, + "search": { + "message": "검색" + }, + "searchCaseSensitive": { + "message": "대소문자 구분" + }, + "searchNumberOfResults": { + "message": "일치하는 개수" + }, + "searchNumberOfResults2": { + "message": "코드 및 적용 대상 값 내에서 일치하는 개수" + }, + "searchRegexp": { + "message": "정규 표현식 검색은 /re/ 문법을 사용합니다" + }, + "searchResultInstallCount": { + "message": "총 설치 수" + }, + "searchResultNoneFound": { + "message": "이 사이트에 맞는 스타일을 찾지 못했습니다." + }, + "searchResultRating": { + "message": "평가" + }, + "searchResultUpdated": { + "message": "업데이트됨" + }, + "searchResultWeeklyCount": { + "message": "주간 설치 수" + }, + "searchStylesCode": { + "message": "CSS 코드" + }, + "searchStylesMeta": { + "message": "메타데이터" + }, + "sectionAdd": { + "message": "섹션 추가" + }, + "sectionCode": { + "message": "코드" + }, + "sectionRemove": { + "message": "섹션 제거" + }, + "sectionRestore": { + "message": "제거된 섹션 복구" + }, + "sections": { + "message": "섹션" + }, + "shortcuts": { + "message": "단축키" + }, + "shortcutsNote": { + "message": "키보드 단축키 정의" + }, + "sortDateNewestFirst": { + "message": "최신 순으로" + }, + "sortDateOldestFirst": { + "message": "오래된 순으로" + }, + "sortLabel": { + "message": "설치한 스타일들을 어떻게 정렬할지 선택합니다" + }, + "sortLabelTitleAsc": { + "message": "제목 오름차순" + }, + "sortLabelTitleDesc": { + "message": "제목 내림차순" + }, + "sortStylesHelp": { + "message": "설치한 스타일들을 정렬할 방식을 드롭 다운 목록에서 선택합니다. 기본 설정은 각 제목을 오름차순(A to Z)으로 정렬하고, \"제목 내림차순\" 을 선택 시 내림차순(Z to A)으로 정렬합니다.\n여러 기준에 따라 항목을 정렬할 수 있는 다른 사전 설정도 있습니다. 여러 개의 열이 있는 테이블을 정렬하고, 각 선택 옵션 내의 카테고리들이(+ 기호 사이) 열 또는 그룹을 나타낸다고 생각해보세요.\n예를 들어, 설정이 \"활성화됨 (first) + 제목\"인 경우, 모든 활성화된 항목이 목록의 맨 위에 정렬되도록 정렬된 후, Entry 제목 오름차순 정렬(A to Z)이 활성화된 항목과 비활성화된 항목 모두에 별도로 적용됩니다." + }, + "sortStylesHelpTitle": { + "message": "내용 정렬" + }, + "styleBadRegexp": { + "message": "유효하지 않은 정규 표현식입니다." + }, + "styleBeautifyHint": { + "message": "힌트: “Beautify” 버튼을 우클릭 하거나 아래 지정한 키보드 단축키를 사용하면 이 패널을 숨기면서 “Beautify”를 활성화 합니다" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports 들여쓰기" + }, + "styleBeautifyPreserveNewlines": { + "message": "개행 문자 유지" + }, + "styleCancelEditLabel": { + "message": "관리 페이지로 돌아가기" + }, + "styleChangesNotSaved": { + "message": "스타일의 변경 사항을 저장하지 않았습니다." + }, + "styleEnabledLabel": { + "message": "활성화됨" + }, + "styleFromMozillaFormatError": { + "message": "Mozilla 형식 데이터를 가져오는데 실패했습니다" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla 형식의 코드를 붙여넣으세요" + }, + "styleInstall": { + "message": "Stylus에 '$stylename$'을(를) 설치하시겠습니까?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "userstyle 설치에 실패했습니다.\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$'은(는) 이미 설치되어 있습니다. 덮어쓰시겠습니까?\n버전: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "이름을 입력하세요" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla 형식" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "잘못된 'regexp()'의 사용으로 인해 스타일을 적용할 수 없습니다" + }, + "styleRegexpInvalidExplanation": { + "message": "일부 `regexp()` 규칙은 컴파일할 수 없습니다." + }, + "styleRegexpPartialExplanation": { + "message": "이 스타일은 부분 일치 정규 표현식을 사용합니다. CSS4 @document 사양은 전체 URL 일치를 사용할 것을 강제하고 있으므로, 해당 CSS 섹션은 페이지에 적용되지 않았습니다. 이 스타일은 초기부터 `regexp()` 규칙을 바르게 확인하지 않는 것으로 알려진 Stylish-for-Chrome에서 생성되었을 것으로 추정됩니다." + }, + "styleRegexpProblemTooltip": { + "message": "잘못된 'regexp()' 사용으로 인해 몇몇 섹션을 적용할 수 없습니다." + }, + "styleRegexpTestButton": { + "message": "정규 표현식 테스트" + }, + "styleRegexpTestFull": { + "message": "일치하는 탭 목록" + }, + "styleRegexpTestInvalid": { + "message": "유효하지 않은 정규 표현식 생략됨" + }, + "styleRegexpTestNone": { + "message": "일치하는 탭 없음" + }, + "styleRegexpTestNote": { + "message": "참고: 정규 표현식 입력 필드에서 이스케이프 처리는 단일 \\ 를 사용하세요. CSS에서 따옴표로 묶인 문자열의 사양에 따라 스타일 코드에서 자동으로 \\\\ 로 변환됩니다. " + }, + "styleRegexpTestPartial": { + "message": "완전히 일치하지는 않으므로 생략됨" + }, + "styleRegexpTestTitle": { + "message": "열린 탭 중 일치하는 목록 (URL 클릭 시 해당 탭으로 이동)" + }, + "styleSaveLabel": { + "message": "저장" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla 형식 코드는 userstyles.org에 올리거나 기존 Firefox용 Stylish에 사용할 수 있습니다" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla 형식으로 변환한 스타일" + }, + "styleUpdate": { + "message": "'$stylename$'을(를) 정말 수정하시겠습니까?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "이 스타일은 편집기 외부에서 변경되었습니다. 스타일을 다시 로딩하시겠습니까?" + }, + "stylusUnavailableForURL": { + "message": "Stylus는 이러한 페이지에서는 작동할 수 없습니다." + }, + "stylusUnavailableForURLdetails": { + "message": "브라우저 보안 상의 이유로, 확장 프로그램은 브라우저 내장 페이지(chrome://version, Chrome 61의 표준 새 탭 페이지, about:addons 등)나 타 확장 프로그램의 페이지에 영향을 미칠 수 없습니다. 각 브라우저의 확장 프로그램 스토어(Chrome 웹 스토어, AMO 등) 접근 또한 마찬가지입니다." + }, + "syncDropboxDeprecated": { + "message": "Dropbox 가져오기/내보내기는 옵션 페이지의 더 발전된 스타일 동기화 기능으로 대체되었습니다." + }, + "syncDropboxStyles": { + "message": "Dropbox 내보내기" + }, + "syncStorageErrorSaving": { + "message": "값을 저장할 수 없습니다. 텍스트의 양을 줄이세요." + }, + "toggleStyle": { + "message": "스타일 토글" + }, + "undo": { + "message": "취소" + }, + "undoGlobal": { + "message": "모든 섹션에서 실행 취소" + }, + "unreachableAMO": { + "message": "Firefox가 해당 사이트의 접근을 금지했습니다." + }, + "unreachableAMOHint": { + "message": "접근을 허용하려면 를 열고, 목록을 우클릭 한 후, '새로 만들기'를 클릭하고, '불린값'을 선택하고, 을 붙여 넣고 확인을 누르고, , 확인 후 페이지를 새로 고침하세요." + }, + "unreachableAMOHintNewFF": { + "message": "Firefox 60 이상 버전에서는 내의 에서 AMO 도메인을 제거해야 합니다." + }, + "unreachableAMOHintOldFF": { + "message": "Firefox 59 버전 이상에서만 이처럼 CSP 보호 정책이 적용된 사이트에 웹 확장 기능으로 스타일 요소를 추가할 수 있도록 설정 가능합니다." + }, + "unreachableContentScript": { + "message": "페이지와 통신할 수 없습니다. 탭을 다시 로딩(새로 고침) 해보세요." + }, + "unreachableFileHint": { + "message": "Stylus가 file:// URL에 접근할 수 있도록 하려면 chrome://extensions 페이지에서 파일 URL에 대한 액세스를 허용해야 합니다." + }, + "unzipStyles": { + "message": "스타일 압축 푸는 중..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "이용 가능한 업데이트가 없습니다." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "로컬 수정 사항이 사라지는 것을 방지하기 위해, 일부 업데이트 가능한 스타일이 선택에서 누락되었을 수 있습니다. 이를 강제로 업데이트하려면 각각을 직접 선택하거나, 다른 전체 스타일 검사(따로 수정한 사항은 덮어씌워집니다)를 시행하세요." + }, + "updateCheckFailBadResponseCode": { + "message": "업데이트 실패. 서버의 응답 에러코드는 $code$입니다.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "업데이트 실패. 서버와 연결할 수 없습니다." + }, + "updateCheckHistory": { + "message": "업데이트 검사 기록" + }, + "updateCheckManualUpdateForce": { + "message": "업데이트 설치 (로컬 수정 사항은 덮어씌워집니다)" + }, + "updateCheckManualUpdateHint": { + "message": "로컬 수정 사항을 무시하고 업데이트를 덮어씌웁니다." + }, + "updateCheckSkippedLocallyEdited": { + "message": "이 스타일은 로컬에서 수정되었습니다." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "이 스타일은 로컬에서 수정되었을 수 있습니다." + }, + "updateCheckSucceededNoUpdate": { + "message": "스타일이 최신 상태입니다." + }, + "updateCompleted": { + "message": "업데이트가 완료됐습니다." + }, + "updatesCurrentlyInstalled": { + "message": "설치된 업데이트:" + }, + "uploadingFile": { + "message": "파일 업로드 중..." + }, + "usercssAvoidOverwriting": { + "message": "기존에 존재하는 스타일이 덮어씌워지는 것을 방지하려면 @name이나 @namespace 값을 변경하세요." + }, + "usercssConfigIncomplete": { + "message": "설정 대화상자가 열리고 나서 스타일이 수정되거나 삭제되었습니다. 스타일의 메타 데이터와 충돌이 일어나는 것을 방지하기 위해, 현재 변수들은 저장되지 않습니다:" + }, + "usercssEditorNamePlaceholder": { + "message": "코드에 @name을 지정하세요" + }, + "usercssReplaceTemplateConfirmation": { + "message": "현재 코드로 새 Usercss 스타일의 기본 템플릿을 대체하시겠습니까?" + }, + "usercssReplaceTemplateName": { + "message": "@name을 비우면 기본 템플릿이 대체됩니다." + }, + "usercssReplaceTemplateSectionBody": { + "message": "코드를 여기 입력하세요" + }, + "versionInvalidOlder": { + "message": "설치되어 있는 스타일이 더 높은 버전입니다." + }, + "writeStyleFor": { + "message": "스타일 작성 대상:" + }, + "writeStyleForURL": { + "message": "현재 URL" + }, + "zipStyles": { + "message": "스타일 압축 중..." + } +} diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index b1174dc8..fdaf5b15 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -1,1586 +1,1348 @@ { - "addStyleTitle": { - "message": "Stijl toevoegen", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Doorzichtigheid", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Toevoegen", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Van toepassing op: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "en meer", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL’s op het domein", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Gebruik de ‘Van toepassing op’-functies om de URL’s voor de code in deze sectie te beperken.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Van toepassing op", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "‘Van toepassing op’-info weergeven", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Werkt niet met verkleinde CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL’s overeenkomend met de regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Verwijderen", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kan laatste ‘Van toepassing op’-item niet verwijderen", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificeren", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Alles", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL’s beginnend met", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Alle updates toepassen", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Auteur", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Back-up", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Selecteer een bestand of sleep het naar deze pagina.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Stijlen exporteren", - "description": "" - }, - "checkAllUpdates": { - "message": "Alle stijlen controleren op updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Ik heb geen stijlen bewerkt; opnieuw controleren!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Controleren op update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Controleren...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klik om te de-installeren", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Haakjes en aanhalingstekens automatisch sluiten", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatisch sluitingsteken toevoegen bij typen van een openingsteken uit ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Automatisch aanvullen tijdens typen", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Kleurkiezer voor CSS-kleuren", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Tabs met slimme inspringing gebruiken", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Toetsenbordindeling", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Tekstterugloop", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS-linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Markeren", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Alleen selectie", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token onder cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dubbelklik om de hoogte te maximaliseren/herstellen", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dubbelklikken selecteert tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Voorbeelden van tokens: .foo-bar-2 #aabbcc 0.32 !important\nWanneer uitgeschakeld: door interpunctie gescheiden woorden worden geselecteerd.", - "description": "" - }, - "cm_smartIndent": { - "message": "Slimme inspringing gebruiken", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabgrootte", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Thema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Klik met de rechtermuisknop op een kleurstaal om de bronregels ervan te doorlopen", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Indelingen omschakelen: HEX -> RGB -> HSL.\nShift-klik om de volgorde om te keren.\nWerkt ook met de toetsen PgUp (PageUp) en PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Kleurkiezer openen", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "bij wijzigingen", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Wijzigingen automatisch opslaan en toepassen", - "description": "" - }, - "configureStyle": { - "message": "Configureren", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configureren op startpagina", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Annuleren", - "description": "" - }, - "confirmClose": { - "message": "Sluiten", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Standaard gebruiken", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Verwijderen", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Wijzigingen verwerpen?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nee", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Opslaan", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stoppen", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Gekopieerd naar klembord", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopiëren naar klembord", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Voer hier een aangepaste naam in om de stijl in de UI te hernoemen zonder updates ervan te beschadigen", - "description": "" - }, - "customNameResetHint": { - "message": "Geen aangepaste naam meer gebruiken, wisselen naar eigen naam van de stijl", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$u", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$j", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Installatiedatum", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Bijwerkdatum", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Er is een fout opgetreden bij het gebruiken van de Stylus-database. Wilt u een webpagina met mogelijke oplossingen bezoeken?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "standaard", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Weet u zeker dat u deze stijl wilt verwijderen?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Verwijderen", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Voorzie het web van een ander uiterlijk met Stylus, een gebruikersstijlbeheerder. Met Stylus kunt u eenvoudig thema’s en stijlen voor veel populaire websites installeren.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Alle stijlen uitschakelen", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Uitschakelen", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Sleep uw back-upbestand naar deze pagina om het te importeren.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Sleep het bestand naar de tabbladenstrook (het gebied waar de tabbladtitels worden getoond) om het te installeren.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Verwijderen", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ga naar regel (of regel:kolom)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Stijl bewerken", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Bewerken", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Stijl $stylename$ bewerken", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Inschakelen", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Het huidige domein uitsluiten", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "De huidige URL uitsluiten", - "description": "" - }, - "exportLabel": { - "message": "Exporteren", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Startpagina", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Externe koppeling", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Ondersteuning", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentatie voor Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ van de $numTotal$ getoond", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Geen overeenkomende stijlen met de momenteel toegepaste filters", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Stijlen zoeken", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Meer stijlen voor deze website zoeken", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Zoekresultaten binnen dit venster weergeven", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Toevoegen", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Dupliceren", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Uitgeschakeld", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Ingeschakeld", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Fout", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Geschiedenis", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Volgende", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Vorige", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Standaardwaarden", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Opgeslagen", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titel", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Onbekend", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Hulp", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Typ een opdrachtnaam", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Druk op een sneltoets", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Deze host is uitgeschakeld vanwege een bug in de huidige versie van de gebruikte browser", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Toevoegen aan stijl", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Geïmporteerde stijl toevoegen aan huidige stijl", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importeren", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Stijlen met een @preprocessor werken niet in de klassieke modus. U kunt de editor omschakelen naar Usercss-modus: 1) open de stijlbeheerder, 2) vink het selectievakje ‘als Usercss’ aan, 3) klik op ‘Nieuwe stijl schrijven’\n\nToch nu importeren?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Mogelijk probleem vanwege @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Stijl overschrijven", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Inhoud van huidige stijl verwerpen en met de geïmporteerde stijl overschrijven", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "toegevoegd", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "gelijke overgeslagen", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "ongeldige overgeslagen", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta-informatie en code bijgewerkt", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "code bijgewerkt", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta-informatie bijgewerkt", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Stijlen importeren voltooid", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Er is niets gewijzigd.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stijlen zijn teruggezet", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importeren is ongedaan gemaakt", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Stijl installeren", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stijl geïnstalleerd", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Stijl herinstalleren", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Stijl bijwerken", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Update installeren", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "De stijl wordt momenteel bijgewerkt vanaf $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Controleren op updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licentie", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hulp verkrijgen", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Stijlen verkrijgen", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Vertalen", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint heeft geen ondersteuning voor $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(stel regel als volgt in: 0 = uitgeschakeld; 1 = waarschuwing; 2 = fout)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "$linter$-regelconfiguratie instellen", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Klik om deze linter te configureren", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Niet opgeslagen vanwege deze ongeldige configuratie-instellingen:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemen", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "De door stylelint gevonden problemen, $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Ongeldige JSON-opmaak", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Druk op Ctrl-Z (of Cmd-Z) in het tekstvak om ongedaan te maken", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Volledige regellijst bekijken", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Er is een fout opgetreden tijdens het bekijken van het bestand", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Houd dit tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Houd zowel dit tabblad als het oorspronkelijke tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live herladen", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in kolom ‘Van toepassing op’", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Niet beschikbaar", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus gebruikt een externe dienst: https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Geïnstalleerde stijlen", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Aantal ‘Van toepassing op’-items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "als Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nieuwe indeling van beheerscherm", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Alleen uitgeschakelde stijlen", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Alleen ingeschakelde stijlen", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Alleen externe stijlen", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Alleen lokaal aangemaakte stijlen", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(de stijlen die niet via userstyles.org zijn geïnstalleerd)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Alleen niet-Usercss-stijlen", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Alleen bij updates of problemen", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Alleen Usercss-stijlen", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Aantal actieve stijlen tonen", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Ongeldig @var-selectievakje: waarde moet 0 of 1 zijn", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Ongeldige @var-kleur: $color$ is geen geldige kleur", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Ongeldige @var $type$: waarde moet een getal of reeks zijn", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Ongeldige @var $type$: meerdere eenheden opgegeven", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Ongeldige @var $type$: de reeks bevat te veel items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Ongeldige @var $type$: items in de reeks moeten een getal, string of null zijn", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Ongeldige @var $type$: standaardwaarde is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Ongeldige @var $type$: standaardwaarde is lager dan het minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Ongeldige @var $type$: standaardwaarde is hoger dan het maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Ongeldge @var $type$: standaardwaarde is geen vermeerdering van de stap", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Ongeldige @var $type$: ‘$units$’ is geen geldige eenheid", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Ongeldige @var-select: de standaardwaarde moet een reeks of object zijn", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Ongeldige @var-select: waarden binnen de reeks/het object moeten een string zijn", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Ongeldige @var-select: optielijst is leeg", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Ongeldige @var-select: optielabel is leeg", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Ongeldige @var-select: meerdere standaardopties opgegeven", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Ongeldige @var-select: optienaam is een duplicaat", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Ongeldige @var-select: waarde staat niet op de optielijst", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Ongeldig URL-protocol. Alleen http en https zijn toegestaan: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Ongeldig versienummer. De waarde komt niet overeen met het SemVer-patroon:$version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Getal verwacht", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Citaatstring verwacht", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Woord verwacht", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Tekens verwacht: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "EOT-gegevens verwacht", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Ontbrekende vereiste metagegevens: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Ongeldige JSON: $literal$ is geen geldige JSON-literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Onbekende metagegevens: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Onbekend @$varkey$-type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Onbekende @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Geen geïnstalleerde stijlen voor deze website.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Regel:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Beheren", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opties", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Stijlbeheerder openen", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Acties", - "description": "" - }, - "optionsAdvanced": { - "message": "Geavanceerd", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "‘Verwijderen’ toevoegen in contextmenu van editor", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "iframes blootleggen via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Legt het bovenliggende domein van de website bloot in elk iframe.\nSchakelt schrijven in voor iframe-specifieke CSS, zoals:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Nieuwe stijl schrijven als usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "CSP corrigeren om stijlmiddelen toe te staan", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Schakel dit in als stijlen afbeeldingen of lettertypen bevatten die niet worden geladen op websites met een streng CSP (inhoudsbeveiligingsbeleid).\n\nHet inschakelen van deze instelling versoepelt CSP-restricties, waardoor essentiële stijlinhoud kan worden geladen. Deze optie is alleen bedoeld voor gevorderde gebruikers die de mogelijke gevolgen op beveiligingsgebied begrijpen, en die de verantwoordelijkheid voor het monitoren van de toegestane inhoud accepteren. Lees meer over CSS-gebaseerde aanvallen voor meer informatie.\n\nHoud er ook rekening mee dat deze specifieke instelling geen garantie geeft op een goede werking als een andere geïnstalleerde extensie eerst het netwerkantwoord aanpast.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Directe-injectiemodus", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Schakel dit in als u knipperende inhoud zonder stijlen (‘FOUC’) ondervindt tijdens het browsen, wat met name bij donkere thema’s opvalt.\n\nDe technische reden is dat Chrome/Chromium asynchrone communicatie van extensies uitstelt, doorgaans om te proberen paginalaadsnelheden te verbeteren, waardoor stijlen mogelijk te laat worden toegepast. Om dit te omzeilen, en aangezien er voor webextensies geen synchrone API wordt aangeboden, biedt Stylus deze optie om de ‘verouderde’ synchrone XMLHttpRequest-web-API voor het ophalen van toepasbare stijlen te gebruiken. Er zouden geen nadelige effecten mogen zijn, omdat de aanvraag binnen enkele milliseconden wordt behandeld terwijl de pagina nog van de server wordt gedownload.\n\nNiettemin toont Chromium een waarschuwing in de console van devtools. Door met de rechtermuisknop op een waarschuwing te klikken en deze te verbergen, worden toekomstige waarschuwingen niet meer getoond.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Achtergrondkleur wanneer uitgeschakeld", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Achtergrondkleur", - "description": "" - }, - "optionsCheck": { - "message": "Stijlen bijwerken", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Controleren op updates en deze installeren", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge op het werkbalkpictogram", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Werkbalkpictogram", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Pop-up", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synchroniseren met cloud", - "description": "" - }, - "optionsHeading": { - "message": "Opties", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Donkere browserthema’s", - "description": "" - }, - "optionsIconLight": { - "message": "Lichte browserthema’s", - "description": "" - }, - "optionsOpen": { - "message": "Openen", - "description": "" - }, - "optionsOpenManager": { - "message": "Stijlen beheren", - "description": "" - }, - "optionsPopupWidth": { - "message": "Pop-upbreedte (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Opties terugzetten naar standaardwaarden", - "description": "" - }, - "optionsResetButton": { - "message": "Standaardwaarden", - "description": "" - }, - "optionsStylusThemes": { - "message": "Een UI-thema voor Stylus zoeken", - "description": "" - }, - "optionsSubheading": { - "message": "Meer opties", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Als u stijlen vanuit een oudere versie of vanuit Stylish importeert, controleer dan eenmalig op updates in de stijlbeheerder om er zeker van te zijn dat alle stijlen zijn bijgewerkt.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Interval voor automatisch bijwerken van gebruikersstijlen in uren (geef 0 op om dit uit te schakelen)", - "description": "" - }, - "optionsSyncNone": { - "message": "Geen", - "description": "" - }, - "optionsSyncConnect": { - "message": "Koppelen", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Ontkoppelen", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Nu synchroniseren", - "description": "" - }, - "optionsSyncLogin": { - "message": "Aanmelden", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Stijl $loaded$ van $total$ ophalen", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Stijl $loaded$ van $total$ uploaden", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Synchroniseren...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Koppelen...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Gekoppeld", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Ontkoppelen...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Ontkoppeld", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Sessie verlopen, meld u opnieuw aan.", - "description": "" - }, - "paginationCurrent": { - "message": "Huidige pagina", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Geschatte aantal pagina’s", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Volgende pagina", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Vorige pagina", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Totale aantal pagina’s", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus kan de usercss niet verwerken:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Stijlen opnieuw sorteren in pop-up na omschakelen", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Witte randen toevoegen aan zijkanten", - "description": "" - }, - "popupBordersTooltip": { - "message": "Handig voor donkere thema’s in Chrome, omdat zijranden niet meer worden gerenderd", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, ook op het numerieke toetsenbord - schakelt naar de Ne stijl (0 is 10)\n- schakelt naar de eerste stijl die met de letter begint\n opent de editor i.p.v. deze in/uit te schakelen\n schakelt opgesomde stijlen in\n schakelt opgesomde stijlen uit\n en <`> (accent grave) - schakelt tussen initieel ingeschakelde stijlen; niet van toepassing op stijlen die zijn ingeschakeld met het pop-upvenster geopend, zodat u na het uitproberen de initiële selectie kunt herstellen: schakel alles uit en schakel dan om, m.a.w. \nMeer info is te vinden in de wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Klik om beschikbare sneltoetsen te tonen", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-klik of rechtsklik opent de beheerder met stijlen die op de huidige website van toepassing zijn", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Actiemenu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Een eenvoudig venster gebruiken (geen omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Editor openen in nieuw venster", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Wordt tevens ingeschakeld door het losmaken van het editor-tabblad,\nen uitgeschakeld door het vastmaken van een los editor-tabblad aan een ander venster.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stijlen vóór opdrachten", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Aantal actieve stijlen voor de huidige website", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live-voorbeeld", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Past de wijzigingen tijdelijk toe zonder deze op te slaan.\nSla de stijl op om de wijzigingen permanent te maken.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Stylus-extensie herladen", - "description": "Context menu reload" - }, - "replace": { - "message": "Vervangen", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Alle vervangen", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Vervangen door", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Stijlen importeren", - "description": "" - }, - "search": { - "message": "Zoeken", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Hoofdlettergevoelig", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Ook globale stijlen doorzoeken", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Aantal overeenkomsten", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Aantal overeenkomsten in code en ‘Van toepassing op’-waarden", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Stijlnamen niet hoofdlettergevoelig doorzoeken:\nbepaalde woorden - alle woorden in willekeurige volgorde\n\"bepaalde woordgroep\" - deze exacte woordgroep zonder aanhalingstekens\n2020 - een jaar als dit toont ook stijlen die in 2020 zijn bijgewerkt", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Gebruik /re/-syntaxis voor regexp-zoeken", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Totale aantal installaties", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Geen stijlen voor deze website gevonden.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "De stijl is geïnstalleerd, maar wordt niet op de huidige website-URL toegepast.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Probeer de maker van deze gebruikersstijl te vragen de URL toe te voegen.\n\nU kunt de stijl ook in de beheerder openen en deze zelf bewerken,\nmaar pas op dat dit automatische updates voor deze stijl uitschakelt.", - "description": "" - }, - "searchResultRating": { - "message": "Waardering", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Bijgewerkt", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Wekelijks aantal installaties", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Alles", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS-code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " of de toets legt de focus op het zoekveld.\nDe standaardmodus is zoeken naar platte tekst op alle door spaties gescheiden termen in willekeurige volgorde.\nExacte woorden: zet de zoekopdracht tussen dubbele (rechte) aanhalingstekens, bv. <\".header ~ div\">.\nReguliere expressies: inclusief schuine strepen en vlaggen, bv. .\n'Op URL' in de scopekiezer: vindt stijlen die op een volledig opgegeven URL van toepassing zijn, zoals https://www.example.org/.\n'Metagegevens' in de scopekiezer: zoekt in namen, 'van toepassing op'-aanduidingen, installatie-URL, update-URL, en het volledige metagegevensblok voor usercss-stijlen.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "Op URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metagegevens", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Naam", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Nog een sectie toevoegen", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Sectie verwijderen", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Verwijderde sectie herstellen", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Secties", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Sneltoetsen", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Sneltoetsen definiëren", - "description": "" - }, - "sortDateNewestFirst": { - "message": "nieuwste eerst", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oudste eerst", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Selecteer een sorteermethode om op geïnstalleerde stijlen toe te passen", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titel - Oplopend", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titel - Aflopend", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Kies de toe te passen sorteermethode voor de geïnstalleerde items vanuit het vervolgkeuzemenu. De standaardinstelling past een oplopende sortering (A-Z) op de itemtitels toe. Sorteren op ‘Titel - Aflopend’ past het omgekeerde (Z-A) toe.\nAndere keuzes laten u items sorteren op basis van meerdere criteria. Denk hierbij aan het sorteren van een tabel met meerdere kolommen, en elke categorie in een selectie (tussen de plustekens) stelt een kolom of groep voor.\nVoorbeeld: als de instelling ‘Ingeschakeld (eerst) + Titel’ is, worden de ingeschakelde items bovenaan geplaatst en worden zowel de in- als uitgeschakelde items apart oplopend gesorteerd (A-Z).", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Inhoud sorteren", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is ongeldig.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Mooier maken", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: klik met de rechtermuisknop op de knop ‘Mooier maken’ of gebruik de hieronder gedefinieerde sneltoets om iets mooier te maken zonder dit paneel te tonen", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "@media, @supports inspringen", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Nieuwe regels behouden", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Terug naar beheren", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "U hebt wijzigingen in deze stijl aangebracht zonder op te slaan.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ingeschakeld", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Importeren vanuit Mozilla-opmaak mislukt", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Plak de code in Mozilla-opmaak", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "‘$stylename$’ installeren in Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Installeren van gebruikersstijl mislukt!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "‘$stylename$’ is al geïnstalleerd. Overschrijven?\nVersie: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Voer een naam in", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-opmaak", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Stijl is niet toegepast vanwege onjuist gebruik van ‘regexp()’", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Sommige ‘regexp()’-regels konden niet worden gecompileerd.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Deze stijl gebruikt gedeeltelijk overeenkomende regexps. Dit is in strijd met de CSS4 @document-specificatie, die een volledige URL-overeenkomst vereist. De getroffen CSS-secties zijn niet op de pagina toegepast. Deze stijl is waarschijnlijk met Stylish-for-Chrome gemaakt, dat sinds de allereerste versie op een onjuiste manier ‘regexp()’-regels controleert (bekende fout).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Aantal secties dat niet wordt toegepast vanwege onjuist gebruik van ‘regexp()’", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp-test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Overeenkomende tabbladen", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Ongeldige regexps overgeslagen", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Geen overeenkomende tabbladen", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Let op: gebruik een enkele \\ voor het gebruik van escapetekens in het regexp-invoerveld. Deze worden automatisch omgezet naar \\\\ in de stijlcode volgens de specificatie voor tekenreeksen tussen aanhalingstekens in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Niet volledig overeenkomend, dus overgeslagen", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lijst van overeenkomende geopende tabbladen (klik op de URL om de focus op het tabblad te leggen)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Opslaan", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "De Mozilla-opmaak van de code kan bij userstyles.org worden ingediend en met het klassieke Stylish voor Firefox worden gebruikt.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stijl in Mozilla-opmaak", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Weet u zeker dat u ‘$stylename$’ wilt bijwerken?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Deze stijl is buiten de editor om gewijzigd. Wilt u de stijl opnieuw laden?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus werkt niet op pagina’s als deze.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Als beveiligingsmaatregel verbiedt de browser dat extensies effect hebben op ingebouwde pagina’s (zoals chrome://version, de standaard nieuw-tabbladpagina sinds Chrome 61, about:addons, enz.), evenals op pagina’s van andere extensies. Ook beperkt elke browser toegang tot de eigen extensiegalerij (zoals de Chrome Web Store of AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "De waarde kan niet worden opgeslagen. Probeer de hoeveelheid tekst te verminderen.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Synchronisatie mislukt", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Synchronisatie mislukt.\nProbeer u opnieuw aan te melden in de Stylus-opties:\nklik eerst op ‘ontkoppelen’, daarna op ‘koppelen’.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Stijl in-/uitschakelen", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Ongedaan maken", - "description": "Button label" - }, - "undoGlobal": { - "message": "Ongedaan maken (alle secties)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox blokkeert de toegang tot deze website.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Toestemming verlenen: open , klik met de rechtermuisknop op de lijst, klik op ‘Nieuw’ -> ‘Boolean’ en plak . Klik daarna op OK -> -> OK en vernieuw de pagina .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 en hoger moet u ook het AMO-domein uit verwijderen in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Alleen Firefox 59 en hoger kunnen worden geconfigureerd om WebExtensions stijlelementen te laten toevoegen op door CSP beveiligde websites zoals deze.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Kon niet met de pagina communiceren. Probeer het tabblad te vernieuwen.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus kan URL’s die met file:// beginnen alleen benaderen als u het selectievakje hiervoor op de pagina chrome://extensions aanvinkt.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus heeft geen toegang tot sommige bestandstypen (bv. pdf- en json-bestanden).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Geen updates gevonden.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Sommige stijlen die kunnen worden bijgewerkt zijn niet gecontroleerd, om mogelijke lokale bewerkingen te behouden. Updates kunnen worden geforceerd door de stijlen individueel te controleren, of door alle stijlen opnieuw te controleren (lokale bewerkingen worden overschreven).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update mislukt: server gaf code $code$ als antwoord.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update mislukt: server onbereikbaar.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Geschiedenis van updatecontroles", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Update installeren (lokale bewerkingen worden overschreven)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Een update forceren zal lokale bewerkingen overschrijven.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Deze stijl is lokaal bewerkt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Deze stijl is mogelijk lokaal bewerkt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stijl is up-to-date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update voltooid.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Geïnstalleerde updates:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Wijzig de waarde van @name of @namespace om te voorkomen dat een bestaande stijl wordt overschreven.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "De stijl is bijgewerkt of verwijderd nadat het configuratievenster werd getoond. Om beschadiging van metagegevens van de stijl te voorkomen, zijn deze variabelen niet opgeslagen:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specificeer @name in de code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Wilt u de standaardsjabloon voor nieuwe Usercss-stijlen vervangen door de huidige code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Lege @name vervangt de standaardsjabloon", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Voer hier code in...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "De versie is ouder dan de geïnstalleerde stijl.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Stijl schrijven voor:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "deze URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox - Exporteren", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Importeren/exporteren via Dropbox is vervangen door een meer geavanceerde stijlsynchronisatie in de optiespagina.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox - Importeren", - "description": "" - }, - "overwriteFileExport": { - "message": "Wilt u een bestaand bestand overschrijven?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Bestand opgeslagen", - "description": "" - }, - "noFileToImport": { - "message": "Als u uw stijlen wilt importeren, dient u deze eerst te exporteren.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropbox koppelen...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Koppelen met Dropbox is alleen beschikbaar in apps die direct vanuit de webstore zijn geïnstalleerd", - "description": "" - }, - "gettingStyles": { - "message": "Alle stijlen ophalen...", - "description": "" - }, - "zipStyles": { - "message": "Stijlen inpakken...", - "description": "" - }, - "unzipStyles": { - "message": "Stijlen uitpakken...", - "description": "" - }, - "readingStyles": { - "message": "Stijlen lezen...", - "description": "" - }, - "uploadingFile": { - "message": "Bestand uploaden...", - "description": "" - }, - "addStyleLabel": { - "message": "Nieuwe stijl schrijven", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus heeft geen toegang tot sommige bestandstypen (bv. pdf- en json-bestanden)." + }, + "addStyleLabel": { + "message": "Nieuwe stijl schrijven" + }, + "addStyleTitle": { + "message": "Stijl toevoegen" + }, + "alphaChannel": { + "message": "Doorzichtigheid" + }, + "appliesAdd": { + "message": "Toevoegen" + }, + "appliesDisplay": { + "message": "Van toepassing op: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "en meer" + }, + "appliesDomainOption": { + "message": "URL’s op het domein" + }, + "appliesHelp": { + "message": "Gebruik de ‘Van toepassing op’-functies om de URL’s voor de code in deze sectie te beperken." + }, + "appliesLabel": { + "message": "Van toepassing op" + }, + "appliesLineWidgetLabel": { + "message": "‘Van toepassing op’-info weergeven" + }, + "appliesLineWidgetWarning": { + "message": "Werkt niet met verkleinde CSS" + }, + "appliesRegexpOption": { + "message": "URL’s overeenkomend met de regexp" + }, + "appliesRemove": { + "message": "Verwijderen" + }, + "appliesRemoveError": { + "message": "Kan laatste ‘Van toepassing op’-item niet verwijderen" + }, + "appliesSpecify": { + "message": "Specificeren" + }, + "appliesToEverything": { + "message": "Alles" + }, + "appliesUrlPrefixOption": { + "message": "URL’s beginnend met" + }, + "applyAllUpdates": { + "message": "Alle updates toepassen" + }, + "author": { + "message": "Auteur" + }, + "backupButtons": { + "message": "Back-up" + }, + "backupMessage": { + "message": "Selecteer een bestand of sleep het naar deze pagina." + }, + "bckpInstStyles": { + "message": "Stijlen exporteren" + }, + "checkAllUpdates": { + "message": "Alle stijlen controleren op updates" + }, + "checkAllUpdatesForce": { + "message": "Ik heb geen stijlen bewerkt; opnieuw controleren!" + }, + "checkForUpdate": { + "message": "Controleren op update" + }, + "checkingForUpdate": { + "message": "Controleren..." + }, + "clickToUninstall": { + "message": "Klik om te de-installeren" + }, + "cm_autoCloseBrackets": { + "message": "Haakjes en aanhalingstekens automatisch sluiten" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatisch sluitingsteken toevoegen bij typen van een openingsteken uit ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Automatisch aanvullen tijdens typen" + }, + "cm_colorpicker": { + "message": "Kleurkiezer voor CSS-kleuren" + }, + "cm_indentWithTabs": { + "message": "Tabs met slimme inspringing gebruiken" + }, + "cm_keyMap": { + "message": "Toetsenbordindeling" + }, + "cm_lineWrapping": { + "message": "Tekstterugloop" + }, + "cm_linter": { + "message": "CSS-linter" + }, + "cm_matchHighlight": { + "message": "Markeren" + }, + "cm_matchHighlightSelection": { + "message": "Alleen selectie" + }, + "cm_matchHighlightToken": { + "message": "Token onder cursor" + }, + "cm_resizeGripHint": { + "message": "Dubbelklik om de hoogte te maximaliseren/herstellen" + }, + "cm_selectByTokens": { + "message": "Dubbelklikken selecteert tokens" + }, + "cm_selectByTokensTooltip": { + "message": "Voorbeelden van tokens: .foo-bar-2 #aabbcc 0.32 !important\nWanneer uitgeschakeld: door interpunctie gescheiden woorden worden geselecteerd." + }, + "cm_smartIndent": { + "message": "Slimme inspringing gebruiken" + }, + "cm_tabSize": { + "message": "Tabgrootte" + }, + "cm_theme": { + "message": "Thema" + }, + "colorpickerPaletteHint": { + "message": "Klik met de rechtermuisknop op een kleurstaal om de bronregels ervan te doorlopen" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Indelingen omschakelen: HEX -> RGB -> HSL.\nShift-klik om de volgorde om te keren.\nWerkt ook met de toetsen PgUp (PageUp) en PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "Kleurkiezer openen" + }, + "configOnChange": { + "message": "bij wijzigingen" + }, + "configOnChangeTooltip": { + "message": "Wijzigingen automatisch opslaan en toepassen" + }, + "configureStyle": { + "message": "Configureren" + }, + "configureStyleOnHomepage": { + "message": "Configureren op startpagina" + }, + "confirmCancel": { + "message": "Annuleren" + }, + "confirmClose": { + "message": "Sluiten" + }, + "confirmDefault": { + "message": "Standaard gebruiken" + }, + "confirmDelete": { + "message": "Verwijderen" + }, + "confirmDiscardChanges": { + "message": "Wijzigingen verwerpen?" + }, + "confirmNo": { + "message": "Nee" + }, + "confirmSave": { + "message": "Opslaan" + }, + "confirmStop": { + "message": "Stoppen" + }, + "confirmYes": { + "message": "Ja" + }, + "connectingDropbox": { + "message": "Dropbox koppelen..." + }, + "connectingDropboxNotAllowed": { + "message": "Koppelen met Dropbox is alleen beschikbaar in apps die direct vanuit de webstore zijn geïnstalleerd" + }, + "copied": { + "message": "Gekopieerd naar klembord" + }, + "copy": { + "message": "Kopiëren naar klembord" + }, + "customNameHint": { + "message": "Voer hier een aangepaste naam in om de stijl in de UI te hernoemen zonder updates ervan te beschadigen" + }, + "customNameResetHint": { + "message": "Geen aangepaste naam meer gebruiken, wisselen naar eigen naam van de stijl" + }, + "dateAbbrHour": { + "message": "$value$u", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrYear": { + "message": "$value$j", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "Installatiedatum" + }, + "dateUpdated": { + "message": "Bijwerkdatum" + }, + "dbError": { + "message": "Er is een fout opgetreden bij het gebruiken van de Stylus-database. Wilt u een webpagina met mogelijke oplossingen bezoeken?" + }, + "defaultTheme": { + "message": "standaard" + }, + "deleteStyleConfirm": { + "message": "Weet u zeker dat u deze stijl wilt verwijderen?" + }, + "deleteStyleLabel": { + "message": "Verwijderen" + }, + "description": { + "message": "Voorzie het web van een ander uiterlijk met Stylus, een gebruikersstijlbeheerder. Met Stylus kunt u eenvoudig thema’s en stijlen voor veel populaire websites installeren." + }, + "disableAllStyles": { + "message": "Alle stijlen uitschakelen" + }, + "disableStyleLabel": { + "message": "Uitschakelen" + }, + "dragDropMessage": { + "message": "Sleep uw back-upbestand naar deze pagina om het te importeren." + }, + "dragDropUsercssTabstrip": { + "message": "Sleep het bestand naar de tabbladenstrook (het gebied waar de tabbladtitels worden getoond) om het te installeren." + }, + "editDeleteText": { + "message": "Verwijderen" + }, + "editGotoLine": { + "message": "Ga naar regel (of regel:kolom)" + }, + "editStyleHeading": { + "message": "Stijl bewerken" + }, + "editStyleLabel": { + "message": "Bewerken" + }, + "editStyleTitle": { + "message": "Stijl $stylename$ bewerken", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Inschakelen" + }, + "excludeStyleByDomainLabel": { + "message": "Het huidige domein uitsluiten" + }, + "excludeStyleByUrlLabel": { + "message": "De huidige URL uitsluiten" + }, + "exportLabel": { + "message": "Exporteren" + }, + "exportSavedSuccess": { + "message": "Bestand opgeslagen" + }, + "externalHomepage": { + "message": "Startpagina" + }, + "externalLink": { + "message": "Externe koppeling" + }, + "externalSupport": { + "message": "Ondersteuning" + }, + "externalUsercssDocument": { + "message": "Documentatie voor Usercss" + }, + "filteredStyles": { + "message": "$numShown$ van de $numTotal$ getoond", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Geen overeenkomende stijlen met de momenteel toegepaste filters" + }, + "findStyles": { + "message": "Stijlen zoeken" + }, + "findStylesForSite": { + "message": "Meer stijlen voor deze website zoeken" + }, + "findStylesInlineTooltip": { + "message": "Zoekresultaten binnen dit venster weergeven" + }, + "genericAdd": { + "message": "Toevoegen" + }, + "genericClone": { + "message": "Dupliceren" + }, + "genericDisabledLabel": { + "message": "Uitgeschakeld" + }, + "genericEnabledLabel": { + "message": "Ingeschakeld" + }, + "genericError": { + "message": "Fout" + }, + "genericHistoryLabel": { + "message": "Geschiedenis" + }, + "genericNext": { + "message": "Volgende" + }, + "genericPrevious": { + "message": "Vorige" + }, + "genericResetLabel": { + "message": "Standaardwaarden" + }, + "genericSavedMessage": { + "message": "Opgeslagen" + }, + "genericTitle": { + "message": "Titel" + }, + "genericUnknown": { + "message": "Onbekend" + }, + "gettingStyles": { + "message": "Alle stijlen ophalen..." + }, + "helpAlt": { + "message": "Hulp" + }, + "helpKeyMapCommand": { + "message": "Typ een opdrachtnaam" + }, + "helpKeyMapHotkey": { + "message": "Druk op een sneltoets" + }, + "hostDisabled": { + "message": "Deze host is uitgeschakeld vanwege een bug in de huidige versie van de gebruikte browser" + }, + "importAppendLabel": { + "message": "Toevoegen aan stijl" + }, + "importAppendTooltip": { + "message": "Geïmporteerde stijl toevoegen aan huidige stijl" + }, + "importLabel": { + "message": "Importeren" + }, + "importPreprocessor": { + "message": "Stijlen met een @preprocessor werken niet in de klassieke modus. U kunt de editor omschakelen naar Usercss-modus: 1) open de stijlbeheerder, 2) vink het selectievakje ‘als Usercss’ aan, 3) klik op ‘Nieuwe stijl schrijven’\n\nToch nu importeren?" + }, + "importPreprocessorTitle": { + "message": "Mogelijk probleem vanwege @preprocessor" + }, + "importReplaceLabel": { + "message": "Stijl overschrijven" + }, + "importReplaceTooltip": { + "message": "Inhoud van huidige stijl verwerpen en met de geïmporteerde stijl overschrijven" + }, + "importReportLegendAdded": { + "message": "toegevoegd" + }, + "importReportLegendIdentical": { + "message": "gelijke overgeslagen" + }, + "importReportLegendInvalid": { + "message": "ongeldige overgeslagen" + }, + "importReportLegendUpdatedBoth": { + "message": "meta-informatie en code bijgewerkt" + }, + "importReportLegendUpdatedCode": { + "message": "code bijgewerkt" + }, + "importReportLegendUpdatedMeta": { + "message": "meta-informatie bijgewerkt" + }, + "importReportTitle": { + "message": "Stijlen importeren voltooid" + }, + "importReportUnchanged": { + "message": "Er is niets gewijzigd." + }, + "importReportUndone": { + "message": "stijlen zijn teruggezet" + }, + "importReportUndoneTitle": { + "message": "Importeren is ongedaan gemaakt" + }, + "installButton": { + "message": "Stijl installeren" + }, + "installButtonInstalled": { + "message": "Stijl geïnstalleerd" + }, + "installButtonReinstall": { + "message": "Stijl herinstalleren" + }, + "installButtonUpdate": { + "message": "Stijl bijwerken" + }, + "installUpdate": { + "message": "Update installeren" + }, + "installUpdateFrom": { + "message": "De stijl wordt momenteel bijgewerkt vanaf $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Controleren op updates" + }, + "license": { + "message": "Licentie" + }, + "linkGetHelp": { + "message": "Hulp verkrijgen" + }, + "linkGetStyles": { + "message": "Stijlen verkrijgen" + }, + "linkTranslate": { + "message": "Vertalen" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint heeft geen ondersteuning voor $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(stel regel als volgt in: 0 = uitgeschakeld; 1 = waarschuwing; 2 = fout)" + }, + "linterConfigPopupTitle": { + "message": "$linter$-regelconfiguratie instellen", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Klik om deze linter te configureren" + }, + "linterInvalidConfigError": { + "message": "Niet opgeslagen vanwege deze ongeldige configuratie-instellingen:" + }, + "linterIssues": { + "message": "Problemen" + }, + "linterIssuesHelp": { + "message": "De door stylelint gevonden problemen, $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Ongeldige JSON-opmaak" + }, + "linterResetMessage": { + "message": "Druk op Ctrl-Z (of Cmd-Z) in het tekstvak om ongedaan te maken" + }, + "linterRulesLink": { + "message": "Volledige regellijst bekijken" + }, + "liveReloadError": { + "message": "Er is een fout opgetreden tijdens het bekijken van het bestand" + }, + "liveReloadInstallHint": { + "message": "Houd dit tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen." + }, + "liveReloadInstallHintFF": { + "message": "Houd zowel dit tabblad als het oorspronkelijke tabblad geopend om de stijl automatisch bij te werken bij externe wijzigingen." + }, + "liveReloadLabel": { + "message": "Live herladen" + }, + "manageFavicons": { + "message": "Favicons in kolom ‘Van toepassing op’" + }, + "manageFaviconsGray": { + "message": "Niet beschikbaar" + }, + "manageFaviconsHelp": { + "message": "Stylus gebruikt een externe dienst: https://www.google.com/s2/favicons" + }, + "manageHeading": { + "message": "Geïnstalleerde stijlen" + }, + "manageMaxTargets": { + "message": "Aantal ‘Van toepassing op’-items" + }, + "manageNewStyleAsUsercss": { + "message": "als Usercss" + }, + "manageNewUI": { + "message": "Nieuwe indeling van beheerscherm" + }, + "manageOnlyDisabled": { + "message": "Alleen uitgeschakelde stijlen" + }, + "manageOnlyEnabled": { + "message": "Alleen ingeschakelde stijlen" + }, + "manageOnlyExternal": { + "message": "Alleen externe stijlen" + }, + "manageOnlyLocal": { + "message": "Alleen lokaal aangemaakte stijlen" + }, + "manageOnlyLocalTooltip": { + "message": "(de stijlen die niet via userstyles.org zijn geïnstalleerd)" + }, + "manageOnlyNonUsercss": { + "message": "Alleen niet-Usercss-stijlen" + }, + "manageOnlyUpdates": { + "message": "Alleen bij updates of problemen" + }, + "manageOnlyUsercss": { + "message": "Alleen Usercss-stijlen" + }, + "menuShowBadge": { + "message": "Aantal actieve stijlen tonen" + }, + "meta_invalidCheckboxDefault": { + "message": "Ongeldig @var-selectievakje: waarde moet 0 of 1 zijn" + }, + "meta_invalidColor": { + "message": "Ongeldige @var-kleur: $color$ is geen geldige kleur", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Getal verwacht" + }, + "meta_invalidRange": { + "message": "Ongeldige @var $type$: waarde moet een getal of reeks zijn", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "Ongeldige @var $type$: standaardwaarde is null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "Ongeldige @var $type$: standaardwaarde is hoger dan het maximum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "Ongeldige @var $type$: standaardwaarde is lager dan het minimum", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "Ongeldige @var $type$: meerdere eenheden opgegeven", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "Ongeldge @var $type$: standaardwaarde is geen vermeerdering van de stap", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "Ongeldige @var $type$: de reeks bevat te veel items", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "Ongeldige @var $type$: ‘$units$’ is geen geldige eenheid", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "Ongeldige @var $type$: items in de reeks moeten een getal, string of null zijn", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "Ongeldige @var-select: de standaardwaarde moet een reeks of object zijn" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Ongeldige @var-select: optielijst is leeg" + }, + "meta_invalidSelectLabel": { + "message": "Ongeldige @var-select: optielabel is leeg" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Ongeldige @var-select: meerdere standaardopties opgegeven" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Ongeldige @var-select: optienaam is een duplicaat" + }, + "meta_invalidSelectValue": { + "message": "Ongeldige @var-select: waarden binnen de reeks/het object moeten een string zijn" + }, + "meta_invalidSelectValueMismatch": { + "message": "Ongeldige @var-select: waarde staat niet op de optielijst" + }, + "meta_invalidString": { + "message": "Citaatstring verwacht" + }, + "meta_invalidURLProtocol": { + "message": "Ongeldig URL-protocol. Alleen http en https zijn toegestaan: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Ongeldig versienummer. De waarde komt niet overeen met het SemVer-patroon:$version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Woord verwacht" + }, + "meta_missingChar": { + "message": "Tekens verwacht: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "EOT-gegevens verwacht" + }, + "meta_missingMandatory": { + "message": "Ontbrekende vereiste metagegevens: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "Ongeldige JSON: $literal$ is geen geldige JSON-literal", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Onbekende metagegevens: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "Onbekende @preprocessor: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Onbekend @$varkey$-type: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Als u uw stijlen wilt importeren, dient u deze eerst te exporteren." + }, + "noStylesForSite": { + "message": "Geen geïnstalleerde stijlen voor deze website." + }, + "numberedLine": { + "message": "Regel:" + }, + "openManage": { + "message": "Beheren" + }, + "openOptions": { + "message": "Opties" + }, + "openStylesManager": { + "message": "Stijlbeheerder openen" + }, + "optionsActions": { + "message": "Acties" + }, + "optionsAdvanced": { + "message": "Geavanceerd" + }, + "optionsAdvancedContextDelete": { + "message": "‘Verwijderen’ toevoegen in contextmenu van editor" + }, + "optionsAdvancedExposeIframes": { + "message": "iframes blootleggen via HTML[stylus-iframe]" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Legt het bovenliggende domein van de website bloot in elk iframe.\nSchakelt schrijven in voor iframe-specifieke CSS, zoals:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Nieuwe stijl schrijven als usercss" + }, + "optionsAdvancedPatchCsp": { + "message": "CSP corrigeren om stijlmiddelen toe te staan" + }, + "optionsAdvancedPatchCspNote": { + "message": "Schakel dit in als stijlen afbeeldingen of lettertypen bevatten die niet worden geladen op websites met een streng CSP (inhoudsbeveiligingsbeleid).\n\nHet inschakelen van deze instelling versoepelt CSP-restricties, waardoor essentiële stijlinhoud kan worden geladen. Deze optie is alleen bedoeld voor gevorderde gebruikers die de mogelijke gevolgen op beveiligingsgebied begrijpen, en die de verantwoordelijkheid voor het monitoren van de toegestane inhoud accepteren. Lees meer over CSS-gebaseerde aanvallen voor meer informatie.\n\nHoud er ook rekening mee dat deze specifieke instelling geen garantie geeft op een goede werking als een andere geïnstalleerde extensie eerst het netwerkantwoord aanpast." + }, + "optionsAdvancedStyleViaXhr": { + "message": "Directe-injectiemodus" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Schakel dit in als u knipperende inhoud zonder stijlen (‘FOUC’) ondervindt tijdens het browsen, wat met name bij donkere thema’s opvalt.\n\nDe technische reden is dat Chrome/Chromium asynchrone communicatie van extensies uitstelt, doorgaans om te proberen paginalaadsnelheden te verbeteren, waardoor stijlen mogelijk te laat worden toegepast. Om dit te omzeilen, en aangezien er voor webextensies geen synchrone API wordt aangeboden, biedt Stylus deze optie om de ‘verouderde’ synchrone XMLHttpRequest-web-API voor het ophalen van toepasbare stijlen te gebruiken. Er zouden geen nadelige effecten mogen zijn, omdat de aanvraag binnen enkele milliseconden wordt behandeld terwijl de pagina nog van de server wordt gedownload.\n\nNiettemin toont Chromium een waarschuwing in de console van devtools. Door met de rechtermuisknop op een waarschuwing te klikken en deze te verbergen, worden toekomstige waarschuwingen niet meer getoond." + }, + "optionsBadgeDisabled": { + "message": "Achtergrondkleur wanneer uitgeschakeld" + }, + "optionsBadgeNormal": { + "message": "Achtergrondkleur" + }, + "optionsCheck": { + "message": "Stijlen bijwerken" + }, + "optionsCheckUpdate": { + "message": "Controleren op updates en deze installeren" + }, + "optionsCustomizeBadge": { + "message": "Badge op het werkbalkpictogram" + }, + "optionsCustomizeIcon": { + "message": "Werkbalkpictogram" + }, + "optionsCustomizePopup": { + "message": "Pop-up" + }, + "optionsCustomizeSync": { + "message": "Synchroniseren met cloud" + }, + "optionsHeading": { + "message": "Opties" + }, + "optionsIconDark": { + "message": "Donkere browserthema’s" + }, + "optionsIconLight": { + "message": "Lichte browserthema’s" + }, + "optionsOpen": { + "message": "Openen" + }, + "optionsOpenManager": { + "message": "Stijlen beheren" + }, + "optionsPopupWidth": { + "message": "Pop-upbreedte (in pixels)" + }, + "optionsReset": { + "message": "Opties terugzetten naar standaardwaarden" + }, + "optionsResetButton": { + "message": "Standaardwaarden" + }, + "optionsStylusThemes": { + "message": "Een UI-thema voor Stylus zoeken" + }, + "optionsSubheading": { + "message": "Meer opties" + }, + "optionsSyncConnect": { + "message": "Koppelen" + }, + "optionsSyncDisconnect": { + "message": "Ontkoppelen" + }, + "optionsSyncLogin": { + "message": "Aanmelden" + }, + "optionsSyncNone": { + "message": "Geen" + }, + "optionsSyncStatusConnected": { + "message": "Gekoppeld" + }, + "optionsSyncStatusConnecting": { + "message": "Koppelen..." + }, + "optionsSyncStatusDisconnected": { + "message": "Ontkoppeld" + }, + "optionsSyncStatusDisconnecting": { + "message": "Ontkoppelen..." + }, + "optionsSyncStatusPull": { + "message": "Stijl $loaded$ van $total$ ophalen", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "Stijl $loaded$ van $total$ uploaden", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusRelogin": { + "message": "Sessie verlopen, meld u opnieuw aan." + }, + "optionsSyncStatusSyncing": { + "message": "Synchroniseren..." + }, + "optionsSyncSyncNow": { + "message": "Nu synchroniseren" + }, + "optionsUpdateImportNote": { + "message": "Als u stijlen vanuit een oudere versie of vanuit Stylish importeert, controleer dan eenmalig op updates in de stijlbeheerder om er zeker van te zijn dat alle stijlen zijn bijgewerkt." + }, + "optionsUpdateInterval": { + "message": "Interval voor automatisch bijwerken van gebruikersstijlen in uren (geef 0 op om dit uit te schakelen)" + }, + "overwriteFileExport": { + "message": "Wilt u een bestaand bestand overschrijven?" + }, + "paginationCurrent": { + "message": "Huidige pagina" + }, + "paginationEstimated": { + "message": "Geschatte aantal pagina’s" + }, + "paginationNext": { + "message": "Volgende pagina" + }, + "paginationPrevious": { + "message": "Vorige pagina" + }, + "paginationTotal": { + "message": "Totale aantal pagina’s" + }, + "parseUsercssError": { + "message": "Stylus kan de usercss niet verwerken:" + }, + "popupAutoResort": { + "message": "Stijlen opnieuw sorteren in pop-up na omschakelen" + }, + "popupBorders": { + "message": "Witte randen toevoegen aan zijkanten" + }, + "popupBordersTooltip": { + "message": "Handig voor donkere thema’s in Chrome, omdat zijranden niet meer worden gerenderd" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, ook op het numerieke toetsenbord - schakelt naar de Ne stijl (0 is 10)\n- schakelt naar de eerste stijl die met de letter begint\n opent de editor i.p.v. deze in/uit te schakelen\n schakelt opgesomde stijlen in\n schakelt opgesomde stijlen uit\n en <`> (accent grave) - schakelt tussen initieel ingeschakelde stijlen; niet van toepassing op stijlen die zijn ingeschakeld met het pop-upvenster geopend, zodat u na het uitproberen de initiële selectie kunt herstellen: schakel alles uit en schakel dan om, m.a.w. \nMeer info is te vinden in de wiki" + }, + "popupHotkeysTooltip": { + "message": "Klik om beschikbare sneltoetsen te tonen" + }, + "popupManageTooltip": { + "message": "Shift-klik of rechtsklik opent de beheerder met stijlen die op de huidige website van toepassing zijn" + }, + "popupMenuButtonTooltip": { + "message": "Actiemenu" + }, + "popupOpenEditInPopup": { + "message": "Een eenvoudig venster gebruiken (geen omnibox)" + }, + "popupOpenEditInWindow": { + "message": "Editor openen in nieuw venster" + }, + "popupOpenEditInWindowTooltip": { + "message": "Wordt tevens ingeschakeld door het losmaken van het editor-tabblad,\nen uitgeschakeld door het vastmaken van een los editor-tabblad aan een ander venster." + }, + "popupStylesFirst": { + "message": "Stijlen vóór opdrachten" + }, + "prefShowBadge": { + "message": "Aantal actieve stijlen voor de huidige website" + }, + "previewLabel": { + "message": "Live-voorbeeld" + }, + "previewTooltip": { + "message": "Past de wijzigingen tijdelijk toe zonder deze op te slaan.\nSla de stijl op om de wijzigingen permanent te maken." + }, + "readingStyles": { + "message": "Stijlen lezen..." + }, + "reload": { + "message": "Stylus-extensie herladen" + }, + "replace": { + "message": "Vervangen" + }, + "replaceAll": { + "message": "Alle vervangen" + }, + "replaceWith": { + "message": "Vervangen door" + }, + "retrieveBckp": { + "message": "Stijlen importeren" + }, + "retrieveDropboxSync": { + "message": "Dropbox - Importeren" + }, + "search": { + "message": "Zoeken" + }, + "searchCaseSensitive": { + "message": "Hoofdlettergevoelig" + }, + "searchGlobalStyles": { + "message": "Ook globale stijlen doorzoeken" + }, + "searchNumberOfResults": { + "message": "Aantal overeenkomsten" + }, + "searchNumberOfResults2": { + "message": "Aantal overeenkomsten in code en ‘Van toepassing op’-waarden" + }, + "searchRegexp": { + "message": "Gebruik /re/-syntaxis voor regexp-zoeken" + }, + "searchResultInstallCount": { + "message": "Totale aantal installaties" + }, + "searchResultNoneFound": { + "message": "Geen stijlen voor deze website gevonden." + }, + "searchResultNotMatching": { + "message": "De stijl is geïnstalleerd, maar wordt niet op de huidige website-URL toegepast." + }, + "searchResultNotMatchingNote": { + "message": "Probeer de maker van deze gebruikersstijl te vragen de URL toe te voegen.\n\nU kunt de stijl ook in de beheerder openen en deze zelf bewerken,\nmaar pas op dat dit automatische updates voor deze stijl uitschakelt." + }, + "searchResultRating": { + "message": "Waardering" + }, + "searchResultUpdated": { + "message": "Bijgewerkt" + }, + "searchResultWeeklyCount": { + "message": "Wekelijks aantal installaties" + }, + "searchStyleQueryHint": { + "message": "Stijlnamen niet hoofdlettergevoelig doorzoeken:\nbepaalde woorden - alle woorden in willekeurige volgorde\n\"bepaalde woordgroep\" - deze exacte woordgroep zonder aanhalingstekens\n2020 - een jaar als dit toont ook stijlen die in 2020 zijn bijgewerkt" + }, + "searchStylesAll": { + "message": "Alles" + }, + "searchStylesCode": { + "message": "CSS-code" + }, + "searchStylesHelp": { + "message": " of de toets legt de focus op het zoekveld.\nDe standaardmodus is zoeken naar platte tekst op alle door spaties gescheiden termen in willekeurige volgorde.\nExacte woorden: zet de zoekopdracht tussen dubbele (rechte) aanhalingstekens, bv. <\".header ~ div\">.\nReguliere expressies: inclusief schuine strepen en vlaggen, bv. .\n'Op URL' in de scopekiezer: vindt stijlen die op een volledig opgegeven URL van toepassing zijn, zoals https://www.example.org/.\n'Metagegevens' in de scopekiezer: zoekt in namen, 'van toepassing op'-aanduidingen, installatie-URL, update-URL, en het volledige metagegevensblok voor usercss-stijlen." + }, + "searchStylesMatchUrl": { + "message": "Op URL" + }, + "searchStylesMeta": { + "message": "Metagegevens" + }, + "searchStylesName": { + "message": "Naam" + }, + "sectionAdd": { + "message": "Nog een sectie toevoegen" + }, + "sectionRemove": { + "message": "Sectie verwijderen" + }, + "sectionRestore": { + "message": "Verwijderde sectie herstellen" + }, + "sections": { + "message": "Secties" + }, + "shortcuts": { + "message": "Sneltoetsen" + }, + "shortcutsNote": { + "message": "Sneltoetsen definiëren" + }, + "sortDateNewestFirst": { + "message": "nieuwste eerst" + }, + "sortDateOldestFirst": { + "message": "oudste eerst" + }, + "sortLabel": { + "message": "Selecteer een sorteermethode om op geïnstalleerde stijlen toe te passen" + }, + "sortLabelTitleAsc": { + "message": "Titel - Oplopend" + }, + "sortLabelTitleDesc": { + "message": "Titel - Aflopend" + }, + "sortStylesHelp": { + "message": "Kies de toe te passen sorteermethode voor de geïnstalleerde items vanuit het vervolgkeuzemenu. De standaardinstelling past een oplopende sortering (A-Z) op de itemtitels toe. Sorteren op ‘Titel - Aflopend’ past het omgekeerde (Z-A) toe.\nAndere keuzes laten u items sorteren op basis van meerdere criteria. Denk hierbij aan het sorteren van een tabel met meerdere kolommen, en elke categorie in een selectie (tussen de plustekens) stelt een kolom of groep voor.\nVoorbeeld: als de instelling ‘Ingeschakeld (eerst) + Titel’ is, worden de ingeschakelde items bovenaan geplaatst en worden zowel de in- als uitgeschakelde items apart oplopend gesorteerd (A-Z)." + }, + "sortStylesHelpTitle": { + "message": "Inhoud sorteren" + }, + "styleBadRegexp": { + "message": "Regexp is ongeldig." + }, + "styleBeautify": { + "message": "Mooier maken" + }, + "styleBeautifyHint": { + "message": "Hint: klik met de rechtermuisknop op de knop ‘Mooier maken’ of gebruik de hieronder gedefinieerde sneltoets om iets mooier te maken zonder dit paneel te tonen" + }, + "styleBeautifyIndentConditional": { + "message": "@media, @supports inspringen" + }, + "styleBeautifyPreserveNewlines": { + "message": "Nieuwe regels behouden" + }, + "styleCancelEditLabel": { + "message": "Terug naar beheren" + }, + "styleChangesNotSaved": { + "message": "U hebt wijzigingen in deze stijl aangebracht zonder op te slaan." + }, + "styleEnabledLabel": { + "message": "Ingeschakeld" + }, + "styleFromMozillaFormatError": { + "message": "Importeren vanuit Mozilla-opmaak mislukt" + }, + "styleFromMozillaFormatPrompt": { + "message": "Plak de code in Mozilla-opmaak" + }, + "styleInstall": { + "message": "‘$stylename$’ installeren in Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Installeren van gebruikersstijl mislukt!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "‘$stylename$’ is al geïnstalleerd. Overschrijven?\nVersie: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Voer een naam in" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-opmaak" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Stijl is niet toegepast vanwege onjuist gebruik van ‘regexp()’" + }, + "styleRegexpInvalidExplanation": { + "message": "Sommige ‘regexp()’-regels konden niet worden gecompileerd." + }, + "styleRegexpPartialExplanation": { + "message": "Deze stijl gebruikt gedeeltelijk overeenkomende regexps. Dit is in strijd met de CSS4 @document-specificatie, die een volledige URL-overeenkomst vereist. De getroffen CSS-secties zijn niet op de pagina toegepast. Deze stijl is waarschijnlijk met Stylish-for-Chrome gemaakt, dat sinds de allereerste versie op een onjuiste manier ‘regexp()’-regels controleert (bekende fout)." + }, + "styleRegexpProblemTooltip": { + "message": "Aantal secties dat niet wordt toegepast vanwege onjuist gebruik van ‘regexp()’" + }, + "styleRegexpTestButton": { + "message": "RegExp-test" + }, + "styleRegexpTestFull": { + "message": "Overeenkomende tabbladen" + }, + "styleRegexpTestInvalid": { + "message": "Ongeldige regexps overgeslagen" + }, + "styleRegexpTestNone": { + "message": "Geen overeenkomende tabbladen" + }, + "styleRegexpTestNote": { + "message": "Let op: gebruik een enkele \\ voor het gebruik van escapetekens in het regexp-invoerveld. Deze worden automatisch omgezet naar \\\\ in de stijlcode volgens de specificatie voor tekenreeksen tussen aanhalingstekens in CSS." + }, + "styleRegexpTestPartial": { + "message": "Niet volledig overeenkomend, dus overgeslagen" + }, + "styleRegexpTestTitle": { + "message": "Lijst van overeenkomende geopende tabbladen (klik op de URL om de focus op het tabblad te leggen)" + }, + "styleSaveLabel": { + "message": "Opslaan" + }, + "styleToMozillaFormatHelp": { + "message": "De Mozilla-opmaak van de code kan bij userstyles.org worden ingediend en met het klassieke Stylish voor Firefox worden gebruikt." + }, + "styleToMozillaFormatTitle": { + "message": "Stijl in Mozilla-opmaak" + }, + "styleUpdate": { + "message": "Weet u zeker dat u ‘$stylename$’ wilt bijwerken?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Deze stijl is buiten de editor om gewijzigd. Wilt u de stijl opnieuw laden?" + }, + "stylusUnavailableForURL": { + "message": "Stylus werkt niet op pagina’s als deze." + }, + "stylusUnavailableForURLdetails": { + "message": "Als beveiligingsmaatregel verbiedt de browser dat extensies effect hebben op ingebouwde pagina’s (zoals chrome://version, de standaard nieuw-tabbladpagina sinds Chrome 61, about:addons, enz.), evenals op pagina’s van andere extensies. Ook beperkt elke browser toegang tot de eigen extensiegalerij (zoals de Chrome Web Store of AMO)." + }, + "syncDropboxDeprecated": { + "message": "Importeren/exporteren via Dropbox is vervangen door een meer geavanceerde stijlsynchronisatie in de optiespagina." + }, + "syncDropboxStyles": { + "message": "Dropbox - Exporteren" + }, + "syncError": { + "message": "Synchronisatie mislukt" + }, + "syncErrorRelogin": { + "message": "Synchronisatie mislukt.\nProbeer u opnieuw aan te melden in de Stylus-opties:\nklik eerst op ‘ontkoppelen’, daarna op ‘koppelen’." + }, + "syncStorageErrorSaving": { + "message": "De waarde kan niet worden opgeslagen. Probeer de hoeveelheid tekst te verminderen." + }, + "toggleStyle": { + "message": "Stijl in-/uitschakelen" + }, + "undo": { + "message": "Ongedaan maken" + }, + "undoGlobal": { + "message": "Ongedaan maken (alle secties)" + }, + "unreachableAMO": { + "message": "Firefox blokkeert de toegang tot deze website." + }, + "unreachableAMOHint": { + "message": "Toestemming verlenen: open , klik met de rechtermuisknop op de lijst, klik op ‘Nieuw’ -> ‘Boolean’ en plak . Klik daarna op OK -> -> OK en vernieuw de pagina ." + }, + "unreachableAMOHintNewFF": { + "message": "In Firefox 60 en hoger moet u ook het AMO-domein uit verwijderen in ." + }, + "unreachableAMOHintOldFF": { + "message": "Alleen Firefox 59 en hoger kunnen worden geconfigureerd om WebExtensions stijlelementen te laten toevoegen op door CSP beveiligde websites zoals deze." + }, + "unreachableContentScript": { + "message": "Kon niet met de pagina communiceren. Probeer het tabblad te vernieuwen." + }, + "unreachableFileHint": { + "message": "Stylus kan URL’s die met file:// beginnen alleen benaderen als u het selectievakje hiervoor op de pagina chrome://extensions aanvinkt." + }, + "unzipStyles": { + "message": "Stijlen uitpakken..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Geen updates gevonden." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Sommige stijlen die kunnen worden bijgewerkt zijn niet gecontroleerd, om mogelijke lokale bewerkingen te behouden. Updates kunnen worden geforceerd door de stijlen individueel te controleren, of door alle stijlen opnieuw te controleren (lokale bewerkingen worden overschreven)." + }, + "updateCheckFailBadResponseCode": { + "message": "Update mislukt: server gaf code $code$ als antwoord.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Update mislukt: server onbereikbaar." + }, + "updateCheckHistory": { + "message": "Geschiedenis van updatecontroles" + }, + "updateCheckManualUpdateForce": { + "message": "Update installeren (lokale bewerkingen worden overschreven)" + }, + "updateCheckManualUpdateHint": { + "message": "Een update forceren zal lokale bewerkingen overschrijven." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Deze stijl is lokaal bewerkt." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Deze stijl is mogelijk lokaal bewerkt." + }, + "updateCheckSucceededNoUpdate": { + "message": "Stijl is up-to-date." + }, + "updateCompleted": { + "message": "Update voltooid." + }, + "updatesCurrentlyInstalled": { + "message": "Geïnstalleerde updates:" + }, + "uploadingFile": { + "message": "Bestand uploaden..." + }, + "usercssAvoidOverwriting": { + "message": "Wijzig de waarde van @name of @namespace om te voorkomen dat een bestaande stijl wordt overschreven." + }, + "usercssConfigIncomplete": { + "message": "De stijl is bijgewerkt of verwijderd nadat het configuratievenster werd getoond. Om beschadiging van metagegevens van de stijl te voorkomen, zijn deze variabelen niet opgeslagen:" + }, + "usercssEditorNamePlaceholder": { + "message": "Specificeer @name in de code" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Wilt u de standaardsjabloon voor nieuwe Usercss-stijlen vervangen door de huidige code?" + }, + "usercssReplaceTemplateName": { + "message": "Lege @name vervangt de standaardsjabloon" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Voer hier code in..." + }, + "versionInvalidOlder": { + "message": "De versie is ouder dan de geïnstalleerde stijl." + }, + "writeStyleFor": { + "message": "Stijl schrijven voor:" + }, + "writeStyleForURL": { + "message": "deze URL" + }, + "zipStyles": { + "message": "Stijlen inpakken..." + } +} diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index c2b0c9c1..cc1e76de 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -1,1586 +1,1382 @@ { - "addStyleTitle": { - "message": "Dodaj styl", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Nieprzezroczystość", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Dodaj", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Dotyczy: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "i więcej", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Adresy URL w domenie", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Użyj przycisków \"Dotyczy\", aby ograniczyć adresy URL, których dotyczy kod w tej sekcji.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Dotyczy", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Wyświetl informacje 'Dotyczy'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nie działa ze zminifikowanym CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Adresy URL pasujące do regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Usuń", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Nie można usunąć ostatniego wpisu 'dotyczy'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Sprecyzuj", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Wszystkie", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "Adres URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Adresy URL zaczynające się od", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Zastosuj wszystkie aktualizacje", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Kopia zapasowa", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Wybierz plik lub przeciągnij i upuść go na tę stronę.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Eksportuj style", - "description": "" - }, - "checkAllUpdates": { - "message": "Sprawdź aktualizacje wszystkich stylów", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Sprawdź ponownie, nie edytowałem żadnych stylów!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Sprawdź aktualizacje", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Sprawdzanie...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Kliknij, aby odinstalować", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Automatyczne zamykanie nawiasów i cytatów", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatycznie dodawaj zamknięcie pary podczas pisania jednego z otwarcia ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autouzupełnianie podczas pisania", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Próbniki kolorów CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Użyj tabulacji z inteligentnym wcięciem", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mapa klawiszy", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Zawijanie tekstu", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Linter CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Wyróżnienie", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Tylko zaznaczenie", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token pod kursorem", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Kliknij dwukrotnie, aby zmaksymalizować lub przywrócić wysokość", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dwukrotne kliknięcie wybiera tokeny", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Przykłady tokenów: .foo-bar-2 #aabbcc 0.32 !important\nPo wyłączeniu: wyrazy rozdzielone przecinkami są wybrane.", - "description": "" - }, - "cm_smartIndent": { - "message": "Użyj inteligentnego wcięcia", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Szerokość tabulacji", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Motyw", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Kliknij prawym przyciskiem myszy próbkę, aby przejść przez jej wiersze kodu", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Zmiana formatu: HEX -> RGB -> HSL.\nShift i kliknięcie do odwrócenia kierunku.\nTakże klawiszami PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Otwórz próbnik kolorów", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "przy zmianie", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autozapisuj i stosuj zmiany automatycznie", - "description": "" - }, - "configureStyle": { - "message": "Skonfiguruj", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Skonfiguruj na stronie głównej", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Anuluj", - "description": "" - }, - "confirmClose": { - "message": "Zamknij", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Użyj domyślnych", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Usuń", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Odrzucić zmiany?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nie", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Zapisz", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Zatrzymaj", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Tak", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Skopiowane do schowka", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Skopiuj do schowka", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Podaj tutaj niestandardową nazwę, aby zmienić nazwę stylu w interfejsie użytkownika bez przerywania jego aktualizacji", - "description": "" - }, - "customNameResetHint": { - "message": "Przestań używać niestandardowej nazwy, przełącz na własną nazwę stylu", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d.", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$g.", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$mies.", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$r.", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Data zainstalowania", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data aktualizacji", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Podczas używania bazy danych Stylus wystąpił błąd. Czy chcesz odwiedzić stronę internetową z możliwymi rozwiązaniami?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "domyślny", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Czy na pewno chcesz usunąć ten styl?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Usuń", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Przeprojektuj sieć za pomocą Stylusa – menedżera stylów użytkownika. Stylus umożliwia łatwe instalowanie motywów i skórek dla wielu popularnych witryn.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Wyłącz wszystkie style", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Wyłącz", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Upuść twój plik kopii zapasowej gdziekolwiek na tej stronie, aby zaimportować.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Aby zainstalować plik, upuść go na pasku kart (obszar, w którym wyświetlane są tytuły kart).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Usuń", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Przejdź do wiersza (lub wiersz:kol)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edytuj styl", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edytuj", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edytuj styl $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Włącz", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Wyklucz bieżącą domenę", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Wyklucz bieżący adres URL", - "description": "" - }, - "exportLabel": { - "message": "Eksportuj", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Prześlij opinię", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Strona główna", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Link zewnętrzny", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Wsparcie", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Dokumentacja Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "Pokazano $numShown$ z sumy $numTotal$", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Aktualnie stosowane filtry nie pasują do żadnego stylu", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Znajdź style", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Znajdź więcej stylów dla tej strony", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Wstawka", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Wyświetlaj wyniki wyszukiwania w tym oknie.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Dodaj", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Sklonuj", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Wyłączone", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Włączone", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Błąd", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historia", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Dalej", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Wstecz", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Resetuj", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Zapisano", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Tytuł", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Nieznane", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Pomoc", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Wpisz nazwę polecenia", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Naciśnij klawisz skrótu", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Ten host został wyłączony z powodu błędu w bieżącej wersji używanej przeglądarki", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Dołącz do stylu", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Dołącz importowany styl do bieżącego stylu", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importuj", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Styl z @preprocessor nie będzie działać w trybie klasycznym. Możesz przełączyć edytor w tryb Usercss: 1) otwórz menedżer stylów, 2) zaznacz pole wyboru \"jako Usercss\", 3) kliknij \"Napisz nowy styl\"\n\nCzy mimo to zaimportować teraz?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potencjalny problem związany z @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Nadpisz styl", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Odrzuć zawartość bieżącego stylu i nadpisz go przy użyciu importowanego stylu", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "dodano", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identyczne pominięte", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "nieprawidłowe pominięte", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "zaktualizowano meta info i kod", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "zaktualizowany kod", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "zaktualizowano meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Ukończono importowanie stylów", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nic nie zostało zmienione.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "style zostały przywrócone", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importowanie zostało cofnięte", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Zainstaluj styl", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Styl zainstalowano", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Przeinstaluj styl", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Zaktualizuj styl", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Zainstaluj aktualizację", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Obecnie styl jest aktualizowany z $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Sprawdź aktualizacje", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licencja", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Uzyskaj pomoc", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Pobierz style", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Tłumacz", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint nie obsługuje preprocesora $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Ustaw regułę jako: 0 = wyłączone; 1 = ostrzeżenie; 2 = błąd)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Ustaw konfigurację reguł $linter$", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Kliknij, aby skonfigurować ten linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nie zapisano z powodu tych nieprawidłowych ustawień konfiguracji:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemy", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Te problemy zostały znalezione przez $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Nieprawidłowy format JSON", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Aby cofnąć przypadkowe zresetowanie, w polu tekstowym naciśnij Ctrl-Z (lub Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Zobacz pełną listę reguł", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Wystąpił błąd podczas oglądania pliku", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Pozostaw tę kartę otwartą, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Pozostaw zarówno tę kartę, jak i kartę pierwotną otwarte, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Przeładuj na żywo", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Ikony ulubionych w kolumnie dotyczących", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Wyszarzone", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus korzysta z usługi zewnętrznej https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtry", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Zainstalowane style", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Liczba dotyczących elementów ", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "jako Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nowy układ interfejsu zarządzania", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Tylko wyłączone style", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Tylko włączone style", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Tylko zewnętrzne style", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Tylko style stworzone lokalnie", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(style nie zainstalowane poprzez stronę userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Tylko style nie-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Tylko z aktualizacjami lub problemami", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Tylko style Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Pokaż liczbę aktywnych stylów", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Nieprawidłowe pole wyboru @var: wartość musi wynosić 0 lub 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Nieprawidłowy kolor @var: $color$ nie jest kolorem", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Nieprawidłowa @var $type$: wartość musi być liczbą lub tablicą", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Nieprawidłowa @var $type$: określono wiele jednostek", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Nieprawidłowa @var $type$: tablica zawiera zbyt wiele elementów", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Nieprawidłowa @var $type$: elementy w tablicy muszą być liczbą, łańcuchem lub wartością null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Nieprawidłowa @var $type$: wartość domyślna jest wartością null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Nieprawidłowa @var $type$: wartość domyślna jest niższa niż minimalna", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Nieprawidłowa @var $type$: domyślna wartość jest większa niż maksymalna", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Nieprawidłowa @var $type$: wartość domyślna nie jest wielokrotnością kroku", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Nieprawidłowa @var $type$: '$units$' nie jest prawidłową jednostką", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Nieprawidłowa @var select: domyślną wartością musi być tablica lub obiekt", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Nieprawidłowa @var select: wartości wewnątrz tablicy/obiektu muszą być ciągami", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Nieprawidłowa @var select: lista opcji jest pusta", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Nieprawidłowa @var select: etykieta opcji jest pusta", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Nieprawidłowa @var select: określono wiele domyślnych opcji", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Nieprawidłowa @var select: nazwa opcji jest zduplikowana", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Nieprawidłowa @var select: wartość nie istnieje na liście opcji", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Nieprawidłowy protokół URL. Dozwolone są tylko http i https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Nieprawidłowy numer wersji. Wartość nie pasuje do wzorca SemVer: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Spodziewana liczba", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Spodziewany cytowany ciąg", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Spodziewane słowo", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Spodziewane znaki: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Spodziewane dane EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Brakujące obowiązkowe metadane: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Nieprawidłowy JSON: $literal$ nie jest prawidłowym literałem JSON", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Nieznane metadane: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Nieznany typ @$varkey$: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Nieznany @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Nie ma zainstalownych stylów dla tej witryny.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Wiersz:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Zarządzaj", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opcje", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Otwórz menedżera stylów", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Akcje", - "description": "" - }, - "optionsAdvanced": { - "message": "Zaawansowane", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Dodaj 'Usuń' do menu kontekstowego edytora", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Odsłoń ramki pływające za pomocą HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Odsłania domenę najwyższego poziomu w każdym elemencie iframe.\nWłącza pisanie CSS specyficznych dla iframe w taki sposób:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Napisz nowy styl jako usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Załataj CSP, aby zezwolić na zasoby stylu", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Włącz tę opcję, jeśli style zawierają obrazy lub czcionki, które nie ładują się w witrynach ze ścisłymCSP (Content-Security-Policy).\n\nWłączenie tego ustawienia złagodzi ograniczenia CSP, umożliwiając załadowanie podstawowej zawartości stylu. Ta opcja jest przeznaczona tylko dla zaawansowanych użytkowników, którzy rozumieją potencjalne konsekwencje dla bezpieczeństwa i przyjmują odpowiedzialność za monitorowanie treści, na które zezwalają. Przeczytaj o atakach opartych na CSS, aby uzyskać więcej informacji.\n\nNależy również pamiętać, że to szczególne ustawienie nie jest gwarantowane, jeśli inne zainstalowane rozszerzenie zmodyfikuje najpierw odpowiedź sieci.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Tryb natychmiastowego wstrzyknięcia", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Włącz tę opcję, jeśli napotkasz miganie niestylizowanej treści (FOUC) podczas przeglądania, co jest szczególnie zauważalne w przypadku ciemnych motywów.\n\nTechnicznym powodem jest to, że Chrome/Chromium odracza asynchroniczną komunikację rozszerzeń, co zwykle jest bezsensowną próbą przyspieszenia ładowania strony i może powodować spóźnienie zastosowania stylów. Aby to obejść, ponieważ rozszerzenia internetowe nie mają synchronicznego interfejsu API, Stylus udostępnia tę opcję, która umożliwia wykorzystanie \"przestarzałego\" synchronicznego sieciowego API XMLHttpRequest do pobierania odpowiednich stylów. Nie powinno to mieć żadnych negatywnych skutków, ponieważ żądanie jest realizowane w ciągu kilku milisekund, podczas gdy strona jest nadal pobierana z serwera.\n\nNiemniej jednak Chromium wyświetli ostrzeżenie w konsoli narzędzi dla programistów. Kliknięcie ostrzeżenia prawym przyciskiem myszy i ukrycie go zapobiegnie wyświetlaniu przyszłych ostrzeżeń.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Kolor tła po wyłączeniu", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Kolor tła", - "description": "" - }, - "optionsCheck": { - "message": "Aktualizuj style", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Sprawdź i zainstaluj wszystkie dostępne aktualizacje", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Emblemat na ikonie paska narzędzi", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ikona paska narzędzi", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Okno podręczne", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Aktualizacje", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synchronizuj z chmurą", - "description": "" - }, - "optionsHeading": { - "message": "Opcje", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Ciemne motywy przeglądarki", - "description": "" - }, - "optionsIconLight": { - "message": "Jasne motywy przeglądarki", - "description": "" - }, - "optionsOpen": { - "message": "Otwórz", - "description": "" - }, - "optionsOpenManager": { - "message": "Zarządzaj stylami", - "description": "" - }, - "optionsPopupWidth": { - "message": "Szerokość okna (w pikselach)", - "description": "" - }, - "optionsReset": { - "message": "Zresetuj opcje do wartości domyślnych", - "description": "" - }, - "optionsResetButton": { - "message": "Resetuj opcje", - "description": "" - }, - "optionsStylusThemes": { - "message": "Znajdź motyw interfejsu Stylusa", - "description": "" - }, - "optionsSubheading": { - "message": "Więcej opcji", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Podczas importowania kopii zapasowych stylu ze starej wersji lub ze Stylish jednorazowo sprawdź aktualizacje ręcznie w menedżerze stylów, aby upewnić się, że wszystkie style są zaktualizowane.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Interwał automatycznej aktualizacji stylu w godzinach (podaj 0, aby wyłączyć)", - "description": "" - }, - "optionsSyncNone": { - "message": "Brak", - "description": "" - }, - "optionsSyncConnect": { - "message": "Połącz", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Rozłącz", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Synchronizuj teraz", - "description": "" - }, - "optionsSyncLogin": { - "message": "Logowanie", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Przyciąganie stylu $loaded$ z $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Dostarczanie stylu $loaded$ z $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Synchronizowanie...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Łączenie...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Połączono", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Rozłączanie...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Rozłączono", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Sesja wygasła, proszę zalogować się ponownie.", - "description": "" - }, - "paginationCurrent": { - "message": "Bieżąca strona", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Szacowana liczba stron", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Następna strona", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Poprzednia strona", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Wszystkie strony", - "description": "" - }, - "parseUsercssError": { - "message": "Stylusowi nie udało się sparsować usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Przesortuj style w oknie podręcznym po przełączeniu", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Dodaj białe obramowania po bokach", - "description": "" - }, - "popupBordersTooltip": { - "message": "Przydaje się do ciemnych motywów w nowym Chrome, ponieważ nie maluje już bocznych krawędzi", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, również na klawiaturze numerycznej - przełącza n-ty styl (0 to 10)\n- przełącza pierwszy styl z nazwą zaczynającą się na literę\n otwiera edytor zamiast przełączać\n włącza wymienione style\n wyłącza wymienione style\n oraz <`> (grawis) - przełącza początkowo włączone style; nie ma zastosowania do później włączonych stylów, podczas gdy okienko podręczne jest otwarte, więc możesz przywrócić początkowy wybór po przetestowaniu: po prostu wyłącz wszystkie, a następnie przełącz, np. \nWięcej informacji na wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Kliknij, aby zobaczyć dostępne skróty klawiszowe", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift + kliknięcie lub kliknięcie prawym przyciskiem otwiera menedżera ze stylami obowiązującymi dla bieżącej witryny", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Menu akcji", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Użyj prostego okna (bez omniboksu)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Otwórz edytor w nowym oknie", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Także włączone przez odłączenie karty edytora od okna przeglądarki,\nwyłączone przez dołączenie pojedynczej karty edytora do innego okna.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Style przed poleceniami", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Liczba aktywnych stylów dla bieżącej witryny", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Podgląd na żywo", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Tymczasowo stosuje zmiany bez zapisywania.\nZapisz styl, aby zmiany stały się trwałe.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Przeładuj rozszerzenie Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Zamień", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Zamień wszystkie", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Zamień na", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importuj style", - "description": "" - }, - "search": { - "message": "Szukaj", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Rozróżnianie wielkości liter", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Przeszukuj także style globalne", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Liczba dopasowań", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Liczba dopasowań w kodzie oraz dotyczących wartości", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Szukaj nazw stylów bez rozróżniania wielkości liter:\njakieś słowa - wszystkie słowa w dowolnej kolejności\n\"jakieś zdanie\" - dokładnie to zdanie bez cudzysłowów\n2020 - rok jak ten pokazuje również style zaktualizowane w 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Użyj składni /re/ dla wyszukiwania regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Całkowita liczba instalacji", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nie znaleziono stylów dla tej witryny.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "Styl jest zainstalowany, ale nie ma zastosowania do bieżącego adresu URL witryny.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Poproś autora tego stylu użytkownika o dodanie adresu URL.\n\nMożesz także otworzyć styl w menedżerze i samodzielnie go edytować,\nale pamiętaj, że wyłącza to automatyczne aktualizacje tego stylu.", - "description": "" - }, - "searchResultRating": { - "message": "Ocena", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Zaktualizowano", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Tygodniowa liczba instalacji", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Wszystkie", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "Kod CSS", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": "Klawisz lub uaktywnia pole wyszukiwania.\nTryb domyślny to wyszukiwanie zwykłego tekstu dla wszystkich terminów oddzielonych spacjami w dowolnej kolejności.\nDokładne słowa: zawiń zapytanie w podwójne cudzysłowy, np. <\".header ~ div\">\nWyrażenia regularne: uwzględnij ukośniki i flagi, np. \n\"Według adresu URL\" w selektorze zakresu: znajduje style, które mają zastosowanie do w pełni określonego adresu URL, np. https://www.example.org/\n\"Metadane\" w selektorze zakresu: wyszukuje w nazwach, specyfikatorach „dotyczy”, adresie URL instalacji, adresie URL aktualizacji i całym bloku metadanych dla stylów usercss.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "Według adresu URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadane", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Nazwa", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Dodaj następną sekcję", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Usuń sekcję", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Przywróć usuniętą sekcję", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sekcje", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Skróty", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Zdefiniuj skróty klawiaturowe", - "description": "" - }, - "sortDateNewestFirst": { - "message": "najpierw najnowsze", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "najpierw najstarsze", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Wybierz sortowanie do zastosowania w zainstalowanych stylach", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Tytuł rosnąco", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Tytuł malejąco", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Wybierz rodzaj sortowania, który zostanie zastosowany do zainstalowanych wpisów z listy sortowania. Ustawienie domyślne stosuje sortowanie rosnące (od A do Z) do tytułów wpisów. Sortowania w grupie \"Tytuł malejąco\" zastosują sortowanie malejące (od Z do A) do tytułu.\nIstnieją inne ustawienia, które umożliwiają sortowanie wpisów według wielu kryteriów. Pomyśl o tym jako o sortowaniu tabeli z wieloma kolumnami, a każda kategoria w zaznaczeniu (między znakami plus) reprezentuje kolumnę lub grupę.\nNa przykład, jeśli ustawienie ma wartość \"Włączone (pierwsze) + tytuł\", wpisy zostaną uporządkowane, tak aby wszystkie włączone pozycje zostały posortowane na początek listy, a następnie do każdego z nich zostanie dodane oddzielnie sortowanie tytułu rosnąco (od A do Z) włączonych i wyłączonych wpisów.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sortuj zawartość", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp jest nieprawidłowe.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Upiększ", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Wskazówka: kliknij prawym przyciskiem myszy przycisk “Upiększ” lub użyj zdefiniowanego poniżej skrótu klawiaturowego, aby upiększyć bez pokazywania tego panelu", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Wcięcie @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Zachowaj nowe wiersze", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Powróć do zarządzania", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Wprowadzono zmiany w tym stylu bez zapisywania.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Włączony", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Nie udało się zaimportować z formatu Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Wprowadź kod w formacie Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Zainstalować '$stylename$' do Stylusa?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Nie udało się zainstalować stylu!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' jest już zainstalowany. Zastąpić?\nWersja: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Wpisz nazwę", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Format Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Styl nie został zastosowany z powodu nieprawidłowego użycia 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Niektóre reguły 'regexp()', których nie można było w ogóle skompilować.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Ten styl wykorzystuje częściowo dopasowane regexpy z naruszeniem specyfikacji CSS4 @document, która wymaga pełnego dopasowania adresów URL. Dotyczących sekcji CSS nie zastosowano do strony. Ten styl prawdopodobnie powstał w Stylish-dla-Chrome, który nieprawidłowo sprawdza reguły 'regexp()' od pierwszej wersji (znany błąd).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Liczba sekcji, które nie zostały zastosowane z powodu nieprawidłowego użycia 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Test RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Dopasowane karty", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Nieprawidłowe regexpy pominięto", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Brak dopasowanych kart", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Uwaga: w polu wejściowym regexp użyj pojedynczego \\ jako znaku ucieczki, który zgodnie ze specyfikacją dla cudzysłowów w CSS zostanie automatycznie zamieniony na \\\\ w kodzie stylu.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Niedopasowane zupełnie, więc pominięte", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista dopasowanych otwartych kart (kliknij URL, aby ustawić kartę)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Zapisz", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Kod w formacie Mozilla może być przesłany do userstyles.org i użyty z klasycznym dodatkiem Stylish dla Firefoksa", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Styl w formacie Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Czy na pewno chcesz zaktualizować '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Styl zmieniono poza edytorem. Czy chcesz przeładować styl?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus nie działa na takich stronach.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Ze względów bezpieczeństwa przeglądarka nie zezwala, aby rozszerzenia wpływały na wbudowane strony (np. chrome://version, standardowa strona nowej karty od Chrome 61, about:addons itd.), a także na inne strony rozszerzeń. Każda przeglądarka ogranicza również dostęp do własnej galerii rozszerzeń (np. Chrome Web Store lub AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Nie można zapisać wartości. Spróbuj zmniejszyć ilość tekstu.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Synchronizacja nie powiodła się", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Synchronizacja nie powiodła się.\nSpróbuj ponownie zalogować się w opcjach Stylusa:\nkliknij najpierw 'rozłącz' , następnie 'połącz'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Przełącz styl", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Cofnij", - "description": "Button label" - }, - "undoGlobal": { - "message": "Cofnij we wszystkich sekcjach", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox zabrania dostępu do witryny.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Aby umożliwić dostęp, otwórz , kliknij listę prawym przyciskiem myszy, kliknij 'Dodaj ustawienie typu', następnie 'Wartość logiczna (Boolean)', wklej i kliknij OK, , OK, przeładuj stronę .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "W Firefox 60 lub nowszym będziesz musiał również usunąć domenę AMO z w .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Tylko Firefox 59 i nowsze wersje mogą zostać skonfigurowane, aby umożliwić rozszerzeniom WebExtension dodawanie elementów stylu na stronach chronionych przez CSP takich jak ta.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Nie można połączyć się ze stroną. Spróbuj przeładować kartę.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus może uzyskać dostęp do adresów URL file:// tylko po włączeniu odpowiedniego pola wyboru rozszerzenia Stylus na stronie chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus nie ma dostępu do niektórych typów plików (na przykład plików pdf i json).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nie znaleziono aktualizacji.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Niektóre, nadające się do aktualizacji, style nie były sprawdzone, aby uniknąć ewentualnej utraty lokalnych zmian. Aktualizacje mogą być wymuszone przez sprawdzanie pojedynczo lub przez uruchomienie innego sprawdzenia wszystkich stylów (lokalne zmiany zostaną nadpisane).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Aktualizacja się nie powiodła: serwer odpowiedział kodem $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Aktualizacja się nie powiodła: serwer nieosiągalny.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historia sprawdzania aktualizacji", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Zainstaluj aktualizację (lokalne zmiany zostaną nadpisane)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Wymuszenie aktualizacji spowoduje nadpisanie wszelkich lokalnych zmian.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Ten styl był edytowany lokalnie.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Ten styl mógł być edytowany lokalnie.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Styl jest aktualny.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Aktualizacja zakończona.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Zainstalowane aktualizacje:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Proszę zmienić wartość @name lub @namespace, aby uniknąć nadpisania istniejącego stylu.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Styl został zaktualizowany lub usunięty po wyświetleniu okna dialogowego konfiguracji. Te zmienne nie zostały zapisane, aby uniknąć uszkodzenia metadanych stylu:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Określ @name w kodzie", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Zastąpić domyślny szablon dla nowych stylów Usercss aktualnym kodem?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Puste @name zastępuje szablon domyślny", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Wstaw kod tutaj...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Wersja jest starsza niż zainstalowany styl.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Napisz styl dla:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "tego adresu URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Eksportuj do Dropboksa", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Importowanie i eksportowanie związane z Dropboksem zostaje zastąpione bardziej zaawansowaną synchronizacją stylów na stronie opcji.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importuj z Dropboksa", - "description": "" - }, - "overwriteFileExport": { - "message": "Czy chcesz zastąpić istniejący plik?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Plik zapisany z powodzeniem", - "description": "" - }, - "noFileToImport": { - "message": "Aby zaimportować style, należy je najpierw wyeksportować.", - "description": "" - }, - "connectingDropbox": { - "message": "Łączenie z Dropboksem...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Nawiązywanie połączeń z Dropboksem jest dostępne tylko w aplikacjach zainstalowanych bezpośrednio ze sklepu internetowego", - "description": "" - }, - "gettingStyles": { - "message": "Uzyskiwanie wszystkich stylów...", - "description": "" - }, - "zipStyles": { - "message": "Pakowanie stylów...", - "description": "" - }, - "unzipStyles": { - "message": "Wypakowanie stylów...", - "description": "" - }, - "readingStyles": { - "message": "Odczytywanie stylów...", - "description": "" - }, - "uploadingFile": { - "message": "Wysyłanie stylów...", - "description": "" - }, - "addStyleLabel": { - "message": "Napisz nowy styl", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus nie ma dostępu do niektórych typów plików (na przykład plików pdf i json)." + }, + "addStyleLabel": { + "message": "Napisz nowy styl" + }, + "addStyleTitle": { + "message": "Dodaj styl" + }, + "alphaChannel": { + "message": "Nieprzezroczystość" + }, + "appliesAdd": { + "message": "Dodaj" + }, + "appliesDisplay": { + "message": "Dotyczy: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "i więcej" + }, + "appliesDomainOption": { + "message": "Adresy URL w domenie" + }, + "appliesHelp": { + "message": "Użyj przycisków \"Dotyczy\", aby ograniczyć adresy URL, których dotyczy kod w tej sekcji." + }, + "appliesLabel": { + "message": "Dotyczy" + }, + "appliesLineWidgetLabel": { + "message": "Wyświetl informacje 'Dotyczy'" + }, + "appliesLineWidgetWarning": { + "message": "Nie działa ze zminifikowanym CSS" + }, + "appliesRegexpOption": { + "message": "Adresy URL pasujące do regexp" + }, + "appliesRemove": { + "message": "Usuń" + }, + "appliesRemoveError": { + "message": "Nie można usunąć ostatniego wpisu 'dotyczy'" + }, + "appliesSpecify": { + "message": "Sprecyzuj" + }, + "appliesToEverything": { + "message": "Wszystkie" + }, + "appliesUrlOption": { + "message": "Adres URL" + }, + "appliesUrlPrefixOption": { + "message": "Adresy URL zaczynające się od" + }, + "applyAllUpdates": { + "message": "Zastosuj wszystkie aktualizacje" + }, + "author": { + "message": "Autor" + }, + "backupButtons": { + "message": "Kopia zapasowa" + }, + "backupMessage": { + "message": "Wybierz plik lub przeciągnij i upuść go na tę stronę." + }, + "bckpInstStyles": { + "message": "Eksportuj style" + }, + "checkAllUpdates": { + "message": "Sprawdź aktualizacje wszystkich stylów" + }, + "checkAllUpdatesForce": { + "message": "Sprawdź ponownie, nie edytowałem żadnych stylów!" + }, + "checkForUpdate": { + "message": "Sprawdź aktualizacje" + }, + "checkingForUpdate": { + "message": "Sprawdzanie..." + }, + "clickToUninstall": { + "message": "Kliknij, aby odinstalować" + }, + "cm_autoCloseBrackets": { + "message": "Automatyczne zamykanie nawiasów i cytatów" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Automatycznie dodawaj zamknięcie pary podczas pisania jednego z otwarcia ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Autouzupełnianie podczas pisania" + }, + "cm_colorpicker": { + "message": "Próbniki kolorów CSS" + }, + "cm_indentWithTabs": { + "message": "Użyj tabulacji z inteligentnym wcięciem" + }, + "cm_keyMap": { + "message": "Mapa klawiszy" + }, + "cm_lineWrapping": { + "message": "Zawijanie tekstu" + }, + "cm_linter": { + "message": "Linter CSS" + }, + "cm_matchHighlight": { + "message": "Wyróżnienie" + }, + "cm_matchHighlightSelection": { + "message": "Tylko zaznaczenie" + }, + "cm_matchHighlightToken": { + "message": "Token pod kursorem" + }, + "cm_resizeGripHint": { + "message": "Kliknij dwukrotnie, aby zmaksymalizować lub przywrócić wysokość" + }, + "cm_selectByTokens": { + "message": "Dwukrotne kliknięcie wybiera tokeny" + }, + "cm_selectByTokensTooltip": { + "message": "Przykłady tokenów: .foo-bar-2 #aabbcc 0.32 !important\nPo wyłączeniu: wyrazy rozdzielone przecinkami są wybrane." + }, + "cm_smartIndent": { + "message": "Użyj inteligentnego wcięcia" + }, + "cm_tabSize": { + "message": "Szerokość tabulacji" + }, + "cm_theme": { + "message": "Motyw" + }, + "colorpickerPaletteHint": { + "message": "Kliknij prawym przyciskiem myszy próbkę, aby przejść przez jej wiersze kodu" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Zmiana formatu: HEX -> RGB -> HSL.\nShift i kliknięcie do odwrócenia kierunku.\nTakże klawiszami PgUp (PageUp), PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "Otwórz próbnik kolorów" + }, + "configOnChange": { + "message": "przy zmianie" + }, + "configOnChangeTooltip": { + "message": "Autozapisuj i stosuj zmiany automatycznie" + }, + "configureStyle": { + "message": "Skonfiguruj" + }, + "configureStyleOnHomepage": { + "message": "Skonfiguruj na stronie głównej" + }, + "confirmCancel": { + "message": "Anuluj" + }, + "confirmClose": { + "message": "Zamknij" + }, + "confirmDefault": { + "message": "Użyj domyślnych" + }, + "confirmDelete": { + "message": "Usuń" + }, + "confirmDiscardChanges": { + "message": "Odrzucić zmiany?" + }, + "confirmNo": { + "message": "Nie" + }, + "confirmSave": { + "message": "Zapisz" + }, + "confirmStop": { + "message": "Zatrzymaj" + }, + "confirmYes": { + "message": "Tak" + }, + "connectingDropbox": { + "message": "Łączenie z Dropboksem..." + }, + "connectingDropboxNotAllowed": { + "message": "Nawiązywanie połączeń z Dropboksem jest dostępne tylko w aplikacjach zainstalowanych bezpośrednio ze sklepu internetowego" + }, + "copied": { + "message": "Skopiowane do schowka" + }, + "copy": { + "message": "Skopiuj do schowka" + }, + "customNameHint": { + "message": "Podaj tutaj niestandardową nazwę, aby zmienić nazwę stylu w interfejsie użytkownika bez przerywania jego aktualizacji" + }, + "customNameResetHint": { + "message": "Przestań używać niestandardowej nazwy, przełącz na własną nazwę stylu" + }, + "dateAbbrDay": { + "message": "$value$d.", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrHour": { + "message": "$value$g.", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrMonth": { + "message": "$value$mies.", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrYear": { + "message": "$value$r.", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "Data zainstalowania" + }, + "dateUpdated": { + "message": "Data aktualizacji" + }, + "dbError": { + "message": "Podczas używania bazy danych Stylus wystąpił błąd. Czy chcesz odwiedzić stronę internetową z możliwymi rozwiązaniami?" + }, + "defaultTheme": { + "message": "domyślny" + }, + "deleteStyleConfirm": { + "message": "Czy na pewno chcesz usunąć ten styl?" + }, + "deleteStyleLabel": { + "message": "Usuń" + }, + "description": { + "message": "Przeprojektuj sieć za pomocą Stylusa – menedżera stylów użytkownika. Stylus umożliwia łatwe instalowanie motywów i skórek dla wielu popularnych witryn." + }, + "disableAllStyles": { + "message": "Wyłącz wszystkie style" + }, + "disableStyleLabel": { + "message": "Wyłącz" + }, + "dragDropMessage": { + "message": "Upuść twój plik kopii zapasowej gdziekolwiek na tej stronie, aby zaimportować." + }, + "dragDropUsercssTabstrip": { + "message": "Aby zainstalować plik, upuść go na pasku kart (obszar, w którym wyświetlane są tytuły kart)." + }, + "editDeleteText": { + "message": "Usuń" + }, + "editGotoLine": { + "message": "Przejdź do wiersza (lub wiersz:kol)" + }, + "editStyleHeading": { + "message": "Edytuj styl" + }, + "editStyleLabel": { + "message": "Edytuj" + }, + "editStyleTitle": { + "message": "Edytuj styl $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Włącz" + }, + "excludeStyleByDomainLabel": { + "message": "Wyklucz bieżącą domenę" + }, + "excludeStyleByUrlLabel": { + "message": "Wyklucz bieżący adres URL" + }, + "exportLabel": { + "message": "Eksportuj" + }, + "exportSavedSuccess": { + "message": "Plik zapisany z powodzeniem" + }, + "externalFeedback": { + "message": "Prześlij opinię" + }, + "externalHomepage": { + "message": "Strona główna" + }, + "externalLink": { + "message": "Link zewnętrzny" + }, + "externalSupport": { + "message": "Wsparcie" + }, + "externalUsercssDocument": { + "message": "Dokumentacja Usercss" + }, + "filteredStyles": { + "message": "Pokazano $numShown$ z sumy $numTotal$", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Aktualnie stosowane filtry nie pasują do żadnego stylu" + }, + "findStyles": { + "message": "Znajdź style" + }, + "findStylesForSite": { + "message": "Znajdź więcej stylów dla tej strony" + }, + "findStylesInline": { + "message": "Wstawka" + }, + "findStylesInlineTooltip": { + "message": "Wyświetlaj wyniki wyszukiwania w tym oknie." + }, + "genericAdd": { + "message": "Dodaj" + }, + "genericClone": { + "message": "Sklonuj" + }, + "genericDisabledLabel": { + "message": "Wyłączone" + }, + "genericEnabledLabel": { + "message": "Włączone" + }, + "genericError": { + "message": "Błąd" + }, + "genericHistoryLabel": { + "message": "Historia" + }, + "genericNext": { + "message": "Dalej" + }, + "genericPrevious": { + "message": "Wstecz" + }, + "genericResetLabel": { + "message": "Resetuj" + }, + "genericSavedMessage": { + "message": "Zapisano" + }, + "genericTitle": { + "message": "Tytuł" + }, + "genericUnknown": { + "message": "Nieznane" + }, + "gettingStyles": { + "message": "Uzyskiwanie wszystkich stylów..." + }, + "helpAlt": { + "message": "Pomoc" + }, + "helpKeyMapCommand": { + "message": "Wpisz nazwę polecenia" + }, + "helpKeyMapHotkey": { + "message": "Naciśnij klawisz skrótu" + }, + "hostDisabled": { + "message": "Ten host został wyłączony z powodu błędu w bieżącej wersji używanej przeglądarki" + }, + "importAppendLabel": { + "message": "Dołącz do stylu" + }, + "importAppendTooltip": { + "message": "Dołącz importowany styl do bieżącego stylu" + }, + "importLabel": { + "message": "Importuj" + }, + "importPreprocessor": { + "message": "Styl z @preprocessor nie będzie działać w trybie klasycznym. Możesz przełączyć edytor w tryb Usercss: 1) otwórz menedżer stylów, 2) zaznacz pole wyboru \"jako Usercss\", 3) kliknij \"Napisz nowy styl\"\n\nCzy mimo to zaimportować teraz?" + }, + "importPreprocessorTitle": { + "message": "Potencjalny problem związany z @preprocessor" + }, + "importReplaceLabel": { + "message": "Nadpisz styl" + }, + "importReplaceTooltip": { + "message": "Odrzuć zawartość bieżącego stylu i nadpisz go przy użyciu importowanego stylu" + }, + "importReportLegendAdded": { + "message": "dodano" + }, + "importReportLegendIdentical": { + "message": "identyczne pominięte" + }, + "importReportLegendInvalid": { + "message": "nieprawidłowe pominięte" + }, + "importReportLegendUpdatedBoth": { + "message": "zaktualizowano meta info i kod" + }, + "importReportLegendUpdatedCode": { + "message": "zaktualizowany kod" + }, + "importReportLegendUpdatedMeta": { + "message": "zaktualizowano meta info" + }, + "importReportTitle": { + "message": "Ukończono importowanie stylów" + }, + "importReportUnchanged": { + "message": "Nic nie zostało zmienione." + }, + "importReportUndone": { + "message": "style zostały przywrócone" + }, + "importReportUndoneTitle": { + "message": "Importowanie zostało cofnięte" + }, + "installButton": { + "message": "Zainstaluj styl" + }, + "installButtonInstalled": { + "message": "Styl zainstalowano" + }, + "installButtonReinstall": { + "message": "Przeinstaluj styl" + }, + "installButtonUpdate": { + "message": "Zaktualizuj styl" + }, + "installUpdate": { + "message": "Zainstaluj aktualizację" + }, + "installUpdateFrom": { + "message": "Obecnie styl jest aktualizowany z $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Sprawdź aktualizacje" + }, + "license": { + "message": "Licencja" + }, + "linkGetHelp": { + "message": "Uzyskaj pomoc" + }, + "linkGetStyles": { + "message": "Pobierz style" + }, + "linkTranslate": { + "message": "Tłumacz" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint nie obsługuje preprocesora $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Ustaw regułę jako: 0 = wyłączone; 1 = ostrzeżenie; 2 = błąd)" + }, + "linterConfigPopupTitle": { + "message": "Ustaw konfigurację reguł $linter$", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Kliknij, aby skonfigurować ten linter" + }, + "linterInvalidConfigError": { + "message": "Nie zapisano z powodu tych nieprawidłowych ustawień konfiguracji:" + }, + "linterIssues": { + "message": "Problemy" + }, + "linterIssuesHelp": { + "message": "Te problemy zostały znalezione przez $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Nieprawidłowy format JSON" + }, + "linterResetMessage": { + "message": "Aby cofnąć przypadkowe zresetowanie, w polu tekstowym naciśnij Ctrl-Z (lub Cmd-Z)" + }, + "linterRulesLink": { + "message": "Zobacz pełną listę reguł" + }, + "liveReloadError": { + "message": "Wystąpił błąd podczas oglądania pliku" + }, + "liveReloadInstallHint": { + "message": "Pozostaw tę kartę otwartą, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych." + }, + "liveReloadInstallHintFF": { + "message": "Pozostaw zarówno tę kartę, jak i kartę pierwotną otwarte, aby automatycznie aktualizować styl w przypadku zmian zewnętrznych." + }, + "liveReloadLabel": { + "message": "Przeładuj na żywo" + }, + "manageFavicons": { + "message": "Ikony ulubionych w kolumnie dotyczących" + }, + "manageFaviconsGray": { + "message": "Wyszarzone" + }, + "manageFaviconsHelp": { + "message": "Stylus korzysta z usługi zewnętrznej https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtry" + }, + "manageHeading": { + "message": "Zainstalowane style" + }, + "manageMaxTargets": { + "message": "Liczba dotyczących elementów " + }, + "manageNewStyleAsUsercss": { + "message": "jako Usercss" + }, + "manageNewUI": { + "message": "Nowy układ interfejsu zarządzania" + }, + "manageOnlyDisabled": { + "message": "Tylko wyłączone style" + }, + "manageOnlyEnabled": { + "message": "Tylko włączone style" + }, + "manageOnlyExternal": { + "message": "Tylko zewnętrzne style" + }, + "manageOnlyLocal": { + "message": "Tylko style stworzone lokalnie" + }, + "manageOnlyLocalTooltip": { + "message": "(style nie zainstalowane poprzez stronę userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Tylko style nie-Usercss" + }, + "manageOnlyUpdates": { + "message": "Tylko z aktualizacjami lub problemami" + }, + "manageOnlyUsercss": { + "message": "Tylko style Usercss" + }, + "menuShowBadge": { + "message": "Pokaż liczbę aktywnych stylów" + }, + "meta_invalidCheckboxDefault": { + "message": "Nieprawidłowe pole wyboru @var: wartość musi wynosić 0 lub 1" + }, + "meta_invalidColor": { + "message": "Nieprawidłowy kolor @var: $color$ nie jest kolorem", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Spodziewana liczba" + }, + "meta_invalidRange": { + "message": "Nieprawidłowa @var $type$: wartość musi być liczbą lub tablicą", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "Nieprawidłowa @var $type$: wartość domyślna jest wartością null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "Nieprawidłowa @var $type$: domyślna wartość jest większa niż maksymalna", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "Nieprawidłowa @var $type$: wartość domyślna jest niższa niż minimalna", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "Nieprawidłowa @var $type$: określono wiele jednostek", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "Nieprawidłowa @var $type$: wartość domyślna nie jest wielokrotnością kroku", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "Nieprawidłowa @var $type$: tablica zawiera zbyt wiele elementów", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "Nieprawidłowa @var $type$: '$units$' nie jest prawidłową jednostką", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "Nieprawidłowa @var $type$: elementy w tablicy muszą być liczbą, łańcuchem lub wartością null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "Nieprawidłowa @var select: domyślną wartością musi być tablica lub obiekt" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Nieprawidłowa @var select: lista opcji jest pusta" + }, + "meta_invalidSelectLabel": { + "message": "Nieprawidłowa @var select: etykieta opcji jest pusta" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Nieprawidłowa @var select: określono wiele domyślnych opcji" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Nieprawidłowa @var select: nazwa opcji jest zduplikowana" + }, + "meta_invalidSelectValue": { + "message": "Nieprawidłowa @var select: wartości wewnątrz tablicy/obiektu muszą być ciągami" + }, + "meta_invalidSelectValueMismatch": { + "message": "Nieprawidłowa @var select: wartość nie istnieje na liście opcji" + }, + "meta_invalidString": { + "message": "Spodziewany cytowany ciąg" + }, + "meta_invalidURLProtocol": { + "message": "Nieprawidłowy protokół URL. Dozwolone są tylko http i https: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Nieprawidłowy numer wersji. Wartość nie pasuje do wzorca SemVer: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Spodziewane słowo" + }, + "meta_missingChar": { + "message": "Spodziewane znaki: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Spodziewane dane EOT" + }, + "meta_missingMandatory": { + "message": "Brakujące obowiązkowe metadane: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "Nieprawidłowy JSON: $literal$ nie jest prawidłowym literałem JSON", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Nieznane metadane: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "Nieznany @preprocessor: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Nieznany typ @$varkey$: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Aby zaimportować style, należy je najpierw wyeksportować." + }, + "noStylesForSite": { + "message": "Nie ma zainstalownych stylów dla tej witryny." + }, + "numberedLine": { + "message": "Wiersz:" + }, + "openManage": { + "message": "Zarządzaj" + }, + "openOptions": { + "message": "Opcje" + }, + "openStylesManager": { + "message": "Otwórz menedżera stylów" + }, + "optionsActions": { + "message": "Akcje" + }, + "optionsAdvanced": { + "message": "Zaawansowane" + }, + "optionsAdvancedContextDelete": { + "message": "Dodaj 'Usuń' do menu kontekstowego edytora" + }, + "optionsAdvancedExposeIframes": { + "message": "Odsłoń ramki pływające za pomocą HTML[stylus-iframe]" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Odsłania domenę najwyższego poziomu w każdym elemencie iframe.\nWłącza pisanie CSS specyficznych dla iframe w taki sposób:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Napisz nowy styl jako usercss" + }, + "optionsAdvancedPatchCsp": { + "message": "Załataj CSP, aby zezwolić na zasoby stylu" + }, + "optionsAdvancedPatchCspNote": { + "message": "Włącz tę opcję, jeśli style zawierają obrazy lub czcionki, które nie ładują się w witrynach ze ścisłymCSP (Content-Security-Policy).\n\nWłączenie tego ustawienia złagodzi ograniczenia CSP, umożliwiając załadowanie podstawowej zawartości stylu. Ta opcja jest przeznaczona tylko dla zaawansowanych użytkowników, którzy rozumieją potencjalne konsekwencje dla bezpieczeństwa i przyjmują odpowiedzialność za monitorowanie treści, na które zezwalają. Przeczytaj o atakach opartych na CSS, aby uzyskać więcej informacji.\n\nNależy również pamiętać, że to szczególne ustawienie nie jest gwarantowane, jeśli inne zainstalowane rozszerzenie zmodyfikuje najpierw odpowiedź sieci." + }, + "optionsAdvancedStyleViaXhr": { + "message": "Tryb natychmiastowego wstrzyknięcia" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "Włącz tę opcję, jeśli napotkasz miganie niestylizowanej treści (FOUC) podczas przeglądania, co jest szczególnie zauważalne w przypadku ciemnych motywów.\n\nTechnicznym powodem jest to, że Chrome/Chromium odracza asynchroniczną komunikację rozszerzeń, co zwykle jest bezsensowną próbą przyspieszenia ładowania strony i może powodować spóźnienie zastosowania stylów. Aby to obejść, ponieważ rozszerzenia internetowe nie mają synchronicznego interfejsu API, Stylus udostępnia tę opcję, która umożliwia wykorzystanie \"przestarzałego\" synchronicznego sieciowego API XMLHttpRequest do pobierania odpowiednich stylów. Nie powinno to mieć żadnych negatywnych skutków, ponieważ żądanie jest realizowane w ciągu kilku milisekund, podczas gdy strona jest nadal pobierana z serwera.\n\nNiemniej jednak Chromium wyświetli ostrzeżenie w konsoli narzędzi dla programistów. Kliknięcie ostrzeżenia prawym przyciskiem myszy i ukrycie go zapobiegnie wyświetlaniu przyszłych ostrzeżeń." + }, + "optionsBadgeDisabled": { + "message": "Kolor tła po wyłączeniu" + }, + "optionsBadgeNormal": { + "message": "Kolor tła" + }, + "optionsCheck": { + "message": "Aktualizuj style" + }, + "optionsCheckUpdate": { + "message": "Sprawdź i zainstaluj wszystkie dostępne aktualizacje" + }, + "optionsCustomizeBadge": { + "message": "Emblemat na ikonie paska narzędzi" + }, + "optionsCustomizeIcon": { + "message": "Ikona paska narzędzi" + }, + "optionsCustomizePopup": { + "message": "Okno podręczne" + }, + "optionsCustomizeSync": { + "message": "Synchronizuj z chmurą" + }, + "optionsCustomizeUpdate": { + "message": "Aktualizacje" + }, + "optionsHeading": { + "message": "Opcje" + }, + "optionsIconDark": { + "message": "Ciemne motywy przeglądarki" + }, + "optionsIconLight": { + "message": "Jasne motywy przeglądarki" + }, + "optionsOpen": { + "message": "Otwórz" + }, + "optionsOpenManager": { + "message": "Zarządzaj stylami" + }, + "optionsPopupWidth": { + "message": "Szerokość okna (w pikselach)" + }, + "optionsReset": { + "message": "Zresetuj opcje do wartości domyślnych" + }, + "optionsResetButton": { + "message": "Resetuj opcje" + }, + "optionsStylusThemes": { + "message": "Znajdź motyw interfejsu Stylusa" + }, + "optionsSubheading": { + "message": "Więcej opcji" + }, + "optionsSyncConnect": { + "message": "Połącz" + }, + "optionsSyncDisconnect": { + "message": "Rozłącz" + }, + "optionsSyncLogin": { + "message": "Logowanie" + }, + "optionsSyncNone": { + "message": "Brak" + }, + "optionsSyncStatusConnected": { + "message": "Połączono" + }, + "optionsSyncStatusConnecting": { + "message": "Łączenie..." + }, + "optionsSyncStatusDisconnected": { + "message": "Rozłączono" + }, + "optionsSyncStatusDisconnecting": { + "message": "Rozłączanie..." + }, + "optionsSyncStatusPull": { + "message": "Przyciąganie stylu $loaded$ z $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "Dostarczanie stylu $loaded$ z $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusRelogin": { + "message": "Sesja wygasła, proszę zalogować się ponownie." + }, + "optionsSyncStatusSyncing": { + "message": "Synchronizowanie..." + }, + "optionsSyncSyncNow": { + "message": "Synchronizuj teraz" + }, + "optionsUpdateImportNote": { + "message": "Podczas importowania kopii zapasowych stylu ze starej wersji lub ze Stylish jednorazowo sprawdź aktualizacje ręcznie w menedżerze stylów, aby upewnić się, że wszystkie style są zaktualizowane." + }, + "optionsUpdateInterval": { + "message": "Interwał automatycznej aktualizacji stylu w godzinach (podaj 0, aby wyłączyć)" + }, + "overwriteFileExport": { + "message": "Czy chcesz zastąpić istniejący plik?" + }, + "paginationCurrent": { + "message": "Bieżąca strona" + }, + "paginationEstimated": { + "message": "Szacowana liczba stron" + }, + "paginationNext": { + "message": "Następna strona" + }, + "paginationPrevious": { + "message": "Poprzednia strona" + }, + "paginationTotal": { + "message": "Wszystkie strony" + }, + "parseUsercssError": { + "message": "Stylusowi nie udało się sparsować usercss:" + }, + "popupAutoResort": { + "message": "Przesortuj style w oknie podręcznym po przełączeniu" + }, + "popupBorders": { + "message": "Dodaj białe obramowania po bokach" + }, + "popupBordersTooltip": { + "message": "Przydaje się do ciemnych motywów w nowym Chrome, ponieważ nie maluje już bocznych krawędzi" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, również na klawiaturze numerycznej - przełącza n-ty styl (0 to 10)\n- przełącza pierwszy styl z nazwą zaczynającą się na literę\n otwiera edytor zamiast przełączać\n włącza wymienione style\n wyłącza wymienione style\n oraz <`> (grawis) - przełącza początkowo włączone style; nie ma zastosowania do później włączonych stylów, podczas gdy okienko podręczne jest otwarte, więc możesz przywrócić początkowy wybór po przetestowaniu: po prostu wyłącz wszystkie, a następnie przełącz, np. \nWięcej informacji na wiki" + }, + "popupHotkeysTooltip": { + "message": "Kliknij, aby zobaczyć dostępne skróty klawiszowe" + }, + "popupManageTooltip": { + "message": "Shift + kliknięcie lub kliknięcie prawym przyciskiem otwiera menedżera ze stylami obowiązującymi dla bieżącej witryny" + }, + "popupMenuButtonTooltip": { + "message": "Menu akcji" + }, + "popupOpenEditInPopup": { + "message": "Użyj prostego okna (bez omniboksu)" + }, + "popupOpenEditInWindow": { + "message": "Otwórz edytor w nowym oknie" + }, + "popupOpenEditInWindowTooltip": { + "message": "Także włączone przez odłączenie karty edytora od okna przeglądarki,\nwyłączone przez dołączenie pojedynczej karty edytora do innego okna." + }, + "popupStylesFirst": { + "message": "Style przed poleceniami" + }, + "prefShowBadge": { + "message": "Liczba aktywnych stylów dla bieżącej witryny" + }, + "previewLabel": { + "message": "Podgląd na żywo" + }, + "previewTooltip": { + "message": "Tymczasowo stosuje zmiany bez zapisywania.\nZapisz styl, aby zmiany stały się trwałe." + }, + "readingStyles": { + "message": "Odczytywanie stylów..." + }, + "reload": { + "message": "Przeładuj rozszerzenie Stylus" + }, + "replace": { + "message": "Zamień" + }, + "replaceAll": { + "message": "Zamień wszystkie" + }, + "replaceWith": { + "message": "Zamień na" + }, + "retrieveBckp": { + "message": "Importuj style" + }, + "retrieveDropboxSync": { + "message": "Importuj z Dropboksa" + }, + "search": { + "message": "Szukaj" + }, + "searchCaseSensitive": { + "message": "Rozróżnianie wielkości liter" + }, + "searchGlobalStyles": { + "message": "Przeszukuj także style globalne" + }, + "searchNumberOfResults": { + "message": "Liczba dopasowań" + }, + "searchNumberOfResults2": { + "message": "Liczba dopasowań w kodzie oraz dotyczących wartości" + }, + "searchRegexp": { + "message": "Użyj składni /re/ dla wyszukiwania regexp" + }, + "searchResultInstallCount": { + "message": "Całkowita liczba instalacji" + }, + "searchResultNoneFound": { + "message": "Nie znaleziono stylów dla tej witryny." + }, + "searchResultNotMatching": { + "message": "Styl jest zainstalowany, ale nie ma zastosowania do bieżącego adresu URL witryny." + }, + "searchResultNotMatchingNote": { + "message": "Poproś autora tego stylu użytkownika o dodanie adresu URL.\n\nMożesz także otworzyć styl w menedżerze i samodzielnie go edytować,\nale pamiętaj, że wyłącza to automatyczne aktualizacje tego stylu." + }, + "searchResultRating": { + "message": "Ocena" + }, + "searchResultUpdated": { + "message": "Zaktualizowano" + }, + "searchResultWeeklyCount": { + "message": "Tygodniowa liczba instalacji" + }, + "searchStyleQueryHint": { + "message": "Szukaj nazw stylów bez rozróżniania wielkości liter:\njakieś słowa - wszystkie słowa w dowolnej kolejności\n\"jakieś zdanie\" - dokładnie to zdanie bez cudzysłowów\n2020 - rok jak ten pokazuje również style zaktualizowane w 2020" + }, + "searchStylesAll": { + "message": "Wszystkie" + }, + "searchStylesCode": { + "message": "Kod CSS" + }, + "searchStylesHelp": { + "message": "Klawisz lub uaktywnia pole wyszukiwania.\nTryb domyślny to wyszukiwanie zwykłego tekstu dla wszystkich terminów oddzielonych spacjami w dowolnej kolejności.\nDokładne słowa: zawiń zapytanie w podwójne cudzysłowy, np. <\".header ~ div\">\nWyrażenia regularne: uwzględnij ukośniki i flagi, np. \n\"Według adresu URL\" w selektorze zakresu: znajduje style, które mają zastosowanie do w pełni określonego adresu URL, np. https://www.example.org/\n\"Metadane\" w selektorze zakresu: wyszukuje w nazwach, specyfikatorach „dotyczy”, adresie URL instalacji, adresie URL aktualizacji i całym bloku metadanych dla stylów usercss." + }, + "searchStylesMatchUrl": { + "message": "Według adresu URL" + }, + "searchStylesMeta": { + "message": "Metadane" + }, + "searchStylesName": { + "message": "Nazwa" + }, + "sectionAdd": { + "message": "Dodaj następną sekcję" + }, + "sectionCode": { + "message": "Kod" + }, + "sectionRemove": { + "message": "Usuń sekcję" + }, + "sectionRestore": { + "message": "Przywróć usuniętą sekcję" + }, + "sections": { + "message": "Sekcje" + }, + "shortcuts": { + "message": "Skróty" + }, + "shortcutsNote": { + "message": "Zdefiniuj skróty klawiaturowe" + }, + "sortDateNewestFirst": { + "message": "najpierw najnowsze" + }, + "sortDateOldestFirst": { + "message": "najpierw najstarsze" + }, + "sortLabel": { + "message": "Wybierz sortowanie do zastosowania w zainstalowanych stylach" + }, + "sortLabelTitleAsc": { + "message": "Tytuł rosnąco" + }, + "sortLabelTitleDesc": { + "message": "Tytuł malejąco" + }, + "sortStylesHelp": { + "message": "Wybierz rodzaj sortowania, który zostanie zastosowany do zainstalowanych wpisów z listy sortowania. Ustawienie domyślne stosuje sortowanie rosnące (od A do Z) do tytułów wpisów. Sortowania w grupie \"Tytuł malejąco\" zastosują sortowanie malejące (od Z do A) do tytułu.\nIstnieją inne ustawienia, które umożliwiają sortowanie wpisów według wielu kryteriów. Pomyśl o tym jako o sortowaniu tabeli z wieloma kolumnami, a każda kategoria w zaznaczeniu (między znakami plus) reprezentuje kolumnę lub grupę.\nNa przykład, jeśli ustawienie ma wartość \"Włączone (pierwsze) + tytuł\", wpisy zostaną uporządkowane, tak aby wszystkie włączone pozycje zostały posortowane na początek listy, a następnie do każdego z nich zostanie dodane oddzielnie sortowanie tytułu rosnąco (od A do Z) włączonych i wyłączonych wpisów." + }, + "sortStylesHelpTitle": { + "message": "Sortuj zawartość" + }, + "styleBadRegexp": { + "message": "Regexp jest nieprawidłowe." + }, + "styleBeautify": { + "message": "Upiększ" + }, + "styleBeautifyHint": { + "message": "Wskazówka: kliknij prawym przyciskiem myszy przycisk “Upiększ” lub użyj zdefiniowanego poniżej skrótu klawiaturowego, aby upiększyć bez pokazywania tego panelu" + }, + "styleBeautifyIndentConditional": { + "message": "Wcięcie @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Zachowaj nowe wiersze" + }, + "styleCancelEditLabel": { + "message": "Powróć do zarządzania" + }, + "styleChangesNotSaved": { + "message": "Wprowadzono zmiany w tym stylu bez zapisywania." + }, + "styleEnabledLabel": { + "message": "Włączony" + }, + "styleFromMozillaFormatError": { + "message": "Nie udało się zaimportować z formatu Mozilla" + }, + "styleFromMozillaFormatPrompt": { + "message": "Wprowadź kod w formacie Mozilla" + }, + "styleInstall": { + "message": "Zainstalować '$stylename$' do Stylusa?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Nie udało się zainstalować stylu!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' jest już zainstalowany. Zastąpić?\nWersja: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Wpisz nazwę" + }, + "styleMozillaFormatHeading": { + "message": "Format Mozilla" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Styl nie został zastosowany z powodu nieprawidłowego użycia 'regexp()'" + }, + "styleRegexpInvalidExplanation": { + "message": "Niektóre reguły 'regexp()', których nie można było w ogóle skompilować." + }, + "styleRegexpPartialExplanation": { + "message": "Ten styl wykorzystuje częściowo dopasowane regexpy z naruszeniem specyfikacji CSS4 @document, która wymaga pełnego dopasowania adresów URL. Dotyczących sekcji CSS nie zastosowano do strony. Ten styl prawdopodobnie powstał w Stylish-dla-Chrome, który nieprawidłowo sprawdza reguły 'regexp()' od pierwszej wersji (znany błąd)." + }, + "styleRegexpProblemTooltip": { + "message": "Liczba sekcji, które nie zostały zastosowane z powodu nieprawidłowego użycia 'regexp()'" + }, + "styleRegexpTestButton": { + "message": "Test RegExp" + }, + "styleRegexpTestFull": { + "message": "Dopasowane karty" + }, + "styleRegexpTestInvalid": { + "message": "Nieprawidłowe regexpy pominięto" + }, + "styleRegexpTestNone": { + "message": "Brak dopasowanych kart" + }, + "styleRegexpTestNote": { + "message": "Uwaga: w polu wejściowym regexp użyj pojedynczego \\ jako znaku ucieczki, który zgodnie ze specyfikacją dla cudzysłowów w CSS zostanie automatycznie zamieniony na \\\\ w kodzie stylu." + }, + "styleRegexpTestPartial": { + "message": "Niedopasowane zupełnie, więc pominięte" + }, + "styleRegexpTestTitle": { + "message": "Lista dopasowanych otwartych kart (kliknij URL, aby ustawić kartę)" + }, + "styleSaveLabel": { + "message": "Zapisz" + }, + "styleToMozillaFormatHelp": { + "message": "Kod w formacie Mozilla może być przesłany do userstyles.org i użyty z klasycznym dodatkiem Stylish dla Firefoksa" + }, + "styleToMozillaFormatTitle": { + "message": "Styl w formacie Mozilla" + }, + "styleUpdate": { + "message": "Czy na pewno chcesz zaktualizować '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Styl zmieniono poza edytorem. Czy chcesz przeładować styl?" + }, + "stylusUnavailableForURL": { + "message": "Stylus nie działa na takich stronach." + }, + "stylusUnavailableForURLdetails": { + "message": "Ze względów bezpieczeństwa przeglądarka nie zezwala, aby rozszerzenia wpływały na wbudowane strony (np. chrome://version, standardowa strona nowej karty od Chrome 61, about:addons itd.), a także na inne strony rozszerzeń. Każda przeglądarka ogranicza również dostęp do własnej galerii rozszerzeń (np. Chrome Web Store lub AMO)." + }, + "syncDropboxDeprecated": { + "message": "Importowanie i eksportowanie związane z Dropboksem zostaje zastąpione bardziej zaawansowaną synchronizacją stylów na stronie opcji." + }, + "syncDropboxStyles": { + "message": "Eksportuj do Dropboksa" + }, + "syncError": { + "message": "Synchronizacja nie powiodła się" + }, + "syncErrorRelogin": { + "message": "Synchronizacja nie powiodła się.\nSpróbuj ponownie zalogować się w opcjach Stylusa:\nkliknij najpierw 'rozłącz' , następnie 'połącz'." + }, + "syncStorageErrorSaving": { + "message": "Nie można zapisać wartości. Spróbuj zmniejszyć ilość tekstu." + }, + "toggleStyle": { + "message": "Przełącz styl" + }, + "undo": { + "message": "Cofnij" + }, + "undoGlobal": { + "message": "Cofnij we wszystkich sekcjach" + }, + "unreachableAMO": { + "message": "Firefox zabrania dostępu do witryny." + }, + "unreachableAMOHint": { + "message": "Aby umożliwić dostęp, otwórz , kliknij listę prawym przyciskiem myszy, kliknij 'Dodaj ustawienie typu', następnie 'Wartość logiczna (Boolean)', wklej i kliknij OK, , OK, przeładuj stronę ." + }, + "unreachableAMOHintNewFF": { + "message": "W Firefox 60 lub nowszym będziesz musiał również usunąć domenę AMO z w ." + }, + "unreachableAMOHintOldFF": { + "message": "Tylko Firefox 59 i nowsze wersje mogą zostać skonfigurowane, aby umożliwić rozszerzeniom WebExtension dodawanie elementów stylu na stronach chronionych przez CSP takich jak ta." + }, + "unreachableContentScript": { + "message": "Nie można połączyć się ze stroną. Spróbuj przeładować kartę." + }, + "unreachableFileHint": { + "message": "Stylus może uzyskać dostęp do adresów URL file:// tylko po włączeniu odpowiedniego pola wyboru rozszerzenia Stylus na stronie chrome://extensions." + }, + "unzipStyles": { + "message": "Wypakowanie stylów..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nie znaleziono aktualizacji." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Niektóre, nadające się do aktualizacji, style nie były sprawdzone, aby uniknąć ewentualnej utraty lokalnych zmian. Aktualizacje mogą być wymuszone przez sprawdzanie pojedynczo lub przez uruchomienie innego sprawdzenia wszystkich stylów (lokalne zmiany zostaną nadpisane)." + }, + "updateCheckFailBadResponseCode": { + "message": "Aktualizacja się nie powiodła: serwer odpowiedział kodem $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Aktualizacja się nie powiodła: serwer nieosiągalny." + }, + "updateCheckHistory": { + "message": "Historia sprawdzania aktualizacji" + }, + "updateCheckManualUpdateForce": { + "message": "Zainstaluj aktualizację (lokalne zmiany zostaną nadpisane)" + }, + "updateCheckManualUpdateHint": { + "message": "Wymuszenie aktualizacji spowoduje nadpisanie wszelkich lokalnych zmian." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Ten styl był edytowany lokalnie." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Ten styl mógł być edytowany lokalnie." + }, + "updateCheckSucceededNoUpdate": { + "message": "Styl jest aktualny." + }, + "updateCompleted": { + "message": "Aktualizacja zakończona." + }, + "updatesCurrentlyInstalled": { + "message": "Zainstalowane aktualizacje:" + }, + "uploadingFile": { + "message": "Wysyłanie stylów..." + }, + "usercssAvoidOverwriting": { + "message": "Proszę zmienić wartość @name lub @namespace, aby uniknąć nadpisania istniejącego stylu." + }, + "usercssConfigIncomplete": { + "message": "Styl został zaktualizowany lub usunięty po wyświetleniu okna dialogowego konfiguracji. Te zmienne nie zostały zapisane, aby uniknąć uszkodzenia metadanych stylu:" + }, + "usercssEditorNamePlaceholder": { + "message": "Określ @name w kodzie" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Zastąpić domyślny szablon dla nowych stylów Usercss aktualnym kodem?" + }, + "usercssReplaceTemplateName": { + "message": "Puste @name zastępuje szablon domyślny" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Wstaw kod tutaj..." + }, + "versionInvalidOlder": { + "message": "Wersja jest starsza niż zainstalowany styl." + }, + "writeStyleFor": { + "message": "Napisz styl dla:" + }, + "writeStyleForURL": { + "message": "tego adresu URL" + }, + "zipStyles": { + "message": "Pakowanie stylów..." + } +} diff --git a/_locales/pt_BR/messages.json b/_locales/pt_BR/messages.json index 2b98478d..705a8f9d 100644 --- a/_locales/pt_BR/messages.json +++ b/_locales/pt_BR/messages.json @@ -1,1586 +1,805 @@ { - "addStyleTitle": { - "message": "Adicionar estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidade", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Adicionar", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplica-se a: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "e mais", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs no domínio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use os controles \"Aplica-se a\" para limitar a quais URLs o código desta seção se aplica.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Aplica-se a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Mostrar informações de \"Aplica-se a\"", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Não funciona com CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs que correspondem a regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remover", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Não é possível remover a última entrada de 'aplica-se a'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tudo", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs que começam com", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar todas as atualizações", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Selecione um arquivo ou arraste e solte nessa página.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportar estilos", - "description": "" - }, - "checkAllUpdates": { - "message": "Verificar atualizações para todos os estilos", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check novamente, eu não editei nenhum estilo! ", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Verificar atualizações", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Verificando...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Clique para desistalar", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Auto fechar parênteses, colchetes e aspas", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Adicione automaticamente um par de fechamento ao digitar uma abertura de ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocompletar ao digitar", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers para cores CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usar tabs com indentação inteligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Quebra de linha", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Linter CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Somente seleção", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token sob cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Duplo clique para maximizar/restaurar a altura", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Clicar duas vezes seleciona tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Usar indentação inteligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Clique com o botão direito em uma amostra para percorrer suas linhas de código", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Inverter formatos: HEX -> RGB -> HSL.\nShift-click para inverter a direção.\nTambém por meio das teclas PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Abrir seletor de cores", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Salvar e aplicar mudanças automaticamente", - "description": "" - }, - "configureStyle": { - "message": "Configurar", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurar a página inicial", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancelar", - "description": "" - }, - "confirmClose": { - "message": "Fechar", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Usar padrão ", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Deletar", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Descartar as mudanças?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Não", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Salvar", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Parar", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Sim", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copiado para a área de transferência", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copiar para a área de transferência", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Digite um nome personalizado para renomear o estilo na UI sem quebrar suas atualizações", - "description": "" - }, - "customNameResetHint": { - "message": "Deixar de usar o nome personalizado, usar o próprio nome do estilo", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$a", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Data instalada ", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data atualizada", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Não foi possível usar a base de dados do Stylus. Deseja visitar uma página da web com possíveis soluções?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "padrão", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Tem certeza de que deseja excluir este estilo?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Excluir", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Mude o estilo da web com o Stylus, um gerenciador de estilos do usuário. O Stylus permite instalar facilmente temas e skins para vários sites populares.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Desativar todos os estilos", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Desativar", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Arraste seu arquivo de backup em qualquer lugar nessa página para importá-lo.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Para instalar o arquivo, solte-o na linha das abas (a área onde os títulos das abas são mostrados).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Apagar", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ir para linha (ou linha:coluna)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Editar estilo", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Editar", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Editar estilo $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Ativar", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Excluir o domínio atual", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Excluir a URL atual", - "description": "" - }, - "exportLabel": { - "message": "Exportar ", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Comentários", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Página inicial", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Link externo", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Suporte", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentação do UserCSS", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ mostrados de $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Filtros aplicados não correspondem a nenhum estilo", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Encontrar estilos", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Procurar mais estilos para este site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Em linha", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Mostrar resultados dentro dessa janela", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Adicionar", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clonar", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Desativado", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Ativado", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Erro", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Histórico", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Próximo", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Anterior", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Redefinir", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvo", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Título", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Desconhecido", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ajuda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Digite um comando aqui", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Pressione uma tecla de atalho", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Este hospedeiro foi desabilitado devido a um bug na versão atual que o navegador utilizado se encontra", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Anexar ao estilo", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Anexar o estilo importado ao atual", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Estilos com @preprocessor não irão funcionar no modo clássico. Você pode trocar o editor para o modo UserCSS: 1) abre o gerenciador de estilos, 2) ative a caixa \"como UserCSS\", 3) clique \"Escrever novo estilo\"\n\nDeseja importar mesmo assim?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Possível problema causado pelo @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Sobrescrever estilo", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Descartar conteúdo do estilo atual e sobrescreve-lo com o estilo importado", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "adicionado", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "idênticos pulados", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "inválidos pulados", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "tiveram o meta e código atualizados", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "código atualizado", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "tiveram o meta atualizados", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importação de estilos finalizada", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nada foi alterado.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "estilos foram revertidos", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "A importação foi desfeita", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalar estilo", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Estilo instalado", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalar estilo", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Atualizar estilo", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Instalar atualização", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Atualmente, o estilo é atualizado de $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Verificar se há atualizações", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licensa", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Buscar ajuda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obter estilos", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Traduzir", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint não suporta o pré-processador $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Definir regra como: 0 = desativado; 1 = aviso; 2 = erro)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Configurar regras do $linter$", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Clique para configurar esse linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Não foi possível salvar devido às seguintes configurações inválidas:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemas", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Esses problemas foram encontrados por $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Formato JSON inválido", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Para desfazer redefinições acidentais, pressione Ctrl-Z (ou Cmd-Z) na caixa de texto", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Ver uma lista completa de regras", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Não foi possível assistir o arquivo", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Estilos instalados", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "como UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Somente estilos desativados", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Apenas estilos habilitados", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Apenas estilos sem UserCSS", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Apenas estilos com UserCSS", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "@var inválido $type$: valor deve ser um número ou um vetor", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Espera-se um número", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Espera-se um texto entre aspas", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Espera-se uma palavra", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Caracteres esperados: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Metadata obrigatório não encontrado: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Metadata desconhecido: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Tipo desconhecido da variável @$varkey$: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Nenhum estilo instalado para este site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Gerenciar estilos instalados", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Opções", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Abrir gerenciador de estilos", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Ações", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Escrever novo estilo como UserCSS", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Cor de fundo quando desativado", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Cor de fundo", - "description": "" - }, - "optionsCheck": { - "message": "Atualizar estilos", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Verifique e instale todas as atualizações disponíveis", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Atualizações", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sincronizar para a nuvem", - "description": "" - }, - "optionsHeading": { - "message": "Opções", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Abrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Gerenciar estilos", - "description": "" - }, - "optionsPopupWidth": { - "message": "Largura do popup (em pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Mais Opções", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "Nenhum", - "description": "" - }, - "optionsSyncConnect": { - "message": "Conectar", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Desconectar", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sincronizar agora", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Sincronizando...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Conectando...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Conectado", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Desconectando...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Desconectado", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Não foi possível analisar o UserCSS:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Número de estilos ativos para o site atual", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Recarregar a extensão do Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Substituir", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Substituir todos", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Substituir com", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importar estilos", - "description": "" - }, - "search": { - "message": "Buscar", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use a sintaxe /re/ para busca por regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Adicionar outra seção", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Código", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remover seção", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Atalhos", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Expressão regular é inválida", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Embelezar", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Dica: clique com o botão direito no botão \"Embelezar\" ou use o atalho de teclado definido para embelezar sem mostrar esse painel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Voltar ao gerenciamento", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Você fez alterações neste estilo sem salvar.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ativado", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Instalar \"$stylename$\" no Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Insira um nome", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Salvar", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "O formato Mozilla do código pode ser usado com o Stylish para Firefox e pode ser enviado para userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Você tem certeza que quer atualizar '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Desfazer", - "description": "Button label" - }, - "undoGlobal": { - "message": "Desfazer todas as seções", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nenhuma atualização encontrada.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "A atualização falhou: o servidor respondeu com código $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "A atualização falhou: servidor inacessível.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forçar uma atualização irá sobrescrever qualquer alteração local.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Esse estilo foi editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Este estilo parece ter sido editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "O estilo está atualizado.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Atualização concluída.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates instalados:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Substituir o template padrão por novos estilos com UserCSS com o código atual?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@nome vazio substitui o template padrão", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insira o código aqui...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "A versão é mais velha que o estilo instalado.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Escrever um estilo para:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "Essa URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Exportar para Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Importar do Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "Você gostaria de substituir um arquivo existente?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Arquivo salvo com sucesso", - "description": "" - }, - "noFileToImport": { - "message": "Para importar seus estilos, você deve exportar primeiro.", - "description": "" - }, - "connectingDropbox": { - "message": "Conectando ao Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Conectar ao Dropbox somente é disponível em apps instalados diretamente da loja web", - "description": "" - }, - "gettingStyles": { - "message": "Obtendo todos os estilos...", - "description": "" - }, - "zipStyles": { - "message": "Compactando estilos...", - "description": "" - }, - "unzipStyles": { - "message": "Descompactando estilos...", - "description": "" - }, - "readingStyles": { - "message": "Lendo estilos...", - "description": "" - }, - "uploadingFile": { - "message": "Enviando arquivo...", - "description": "" - }, - "addStyleLabel": { - "message": "Escrever novo estilo", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Escrever novo estilo" + }, + "addStyleTitle": { + "message": "Adicionar estilo" + }, + "alphaChannel": { + "message": "Opacidade" + }, + "appliesAdd": { + "message": "Adicionar" + }, + "appliesDisplay": { + "message": "Aplica-se a: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "e mais" + }, + "appliesDomainOption": { + "message": "URLs no domínio" + }, + "appliesHelp": { + "message": "Use os controles \"Aplica-se a\" para limitar a quais URLs o código desta seção se aplica." + }, + "appliesLabel": { + "message": "Aplica-se a" + }, + "appliesLineWidgetLabel": { + "message": "Mostrar informações de \"Aplica-se a\"" + }, + "appliesLineWidgetWarning": { + "message": "Não funciona com CSS minificado" + }, + "appliesRegexpOption": { + "message": "URLs que correspondem a regexp" + }, + "appliesRemove": { + "message": "Remover" + }, + "appliesRemoveError": { + "message": "Não é possível remover a última entrada de 'aplica-se a'" + }, + "appliesSpecify": { + "message": "Especificar" + }, + "appliesToEverything": { + "message": "Tudo" + }, + "appliesUrlPrefixOption": { + "message": "URLs que começam com" + }, + "applyAllUpdates": { + "message": "Aplicar todas as atualizações" + }, + "author": { + "message": "Autor" + }, + "backupMessage": { + "message": "Selecione um arquivo ou arraste e solte nessa página." + }, + "bckpInstStyles": { + "message": "Exportar estilos" + }, + "checkAllUpdates": { + "message": "Verificar atualizações para todos os estilos" + }, + "checkAllUpdatesForce": { + "message": "Check novamente, eu não editei nenhum estilo! " + }, + "checkForUpdate": { + "message": "Verificar atualizações" + }, + "checkingForUpdate": { + "message": "Verificando..." + }, + "clickToUninstall": { + "message": "Clique para desistalar" + }, + "cm_autoCloseBrackets": { + "message": "Auto fechar parênteses, colchetes e aspas" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Adicione automaticamente um par de fechamento ao digitar uma abertura de ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Autocompletar ao digitar" + }, + "cm_colorpicker": { + "message": "Colorpickers para cores CSS" + }, + "cm_indentWithTabs": { + "message": "Usar tabs com indentação inteligente" + }, + "cm_lineWrapping": { + "message": "Quebra de linha" + }, + "cm_linter": { + "message": "Linter CSS" + }, + "cm_matchHighlightSelection": { + "message": "Somente seleção" + }, + "cm_matchHighlightToken": { + "message": "Token sob cursor" + }, + "cm_resizeGripHint": { + "message": "Duplo clique para maximizar/restaurar a altura" + }, + "cm_selectByTokens": { + "message": "Clicar duas vezes seleciona tokens" + }, + "cm_smartIndent": { + "message": "Usar indentação inteligente" + }, + "cm_theme": { + "message": "Tema" + }, + "colorpickerPaletteHint": { + "message": "Clique com o botão direito em uma amostra para percorrer suas linhas de código" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Inverter formatos: HEX -> RGB -> HSL.\nShift-click para inverter a direção.\nTambém por meio das teclas PgUp (PageUp), PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "Abrir seletor de cores" + }, + "configOnChangeTooltip": { + "message": "Salvar e aplicar mudanças automaticamente" + }, + "configureStyle": { + "message": "Configurar" + }, + "configureStyleOnHomepage": { + "message": "Configurar a página inicial" + }, + "confirmCancel": { + "message": "Cancelar" + }, + "confirmClose": { + "message": "Fechar" + }, + "confirmDefault": { + "message": "Usar padrão " + }, + "confirmDelete": { + "message": "Deletar" + }, + "confirmDiscardChanges": { + "message": "Descartar as mudanças?" + }, + "confirmNo": { + "message": "Não" + }, + "confirmSave": { + "message": "Salvar" + }, + "confirmStop": { + "message": "Parar" + }, + "confirmYes": { + "message": "Sim" + }, + "connectingDropbox": { + "message": "Conectando ao Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "Conectar ao Dropbox somente é disponível em apps instalados diretamente da loja web" + }, + "copied": { + "message": "Copiado para a área de transferência" + }, + "copy": { + "message": "Copiar para a área de transferência" + }, + "customNameHint": { + "message": "Digite um nome personalizado para renomear o estilo na UI sem quebrar suas atualizações" + }, + "customNameResetHint": { + "message": "Deixar de usar o nome personalizado, usar o próprio nome do estilo" + }, + "dateAbbrYear": { + "message": "$value$a", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "Data instalada " + }, + "dateUpdated": { + "message": "Data atualizada" + }, + "dbError": { + "message": "Não foi possível usar a base de dados do Stylus. Deseja visitar uma página da web com possíveis soluções?" + }, + "defaultTheme": { + "message": "padrão" + }, + "deleteStyleConfirm": { + "message": "Tem certeza de que deseja excluir este estilo?" + }, + "deleteStyleLabel": { + "message": "Excluir" + }, + "description": { + "message": "Mude o estilo da web com o Stylus, um gerenciador de estilos do usuário. O Stylus permite instalar facilmente temas e skins para vários sites populares." + }, + "disableAllStyles": { + "message": "Desativar todos os estilos" + }, + "disableStyleLabel": { + "message": "Desativar" + }, + "dragDropMessage": { + "message": "Arraste seu arquivo de backup em qualquer lugar nessa página para importá-lo." + }, + "dragDropUsercssTabstrip": { + "message": "Para instalar o arquivo, solte-o na linha das abas (a área onde os títulos das abas são mostrados)." + }, + "editDeleteText": { + "message": "Apagar" + }, + "editGotoLine": { + "message": "Ir para linha (ou linha:coluna)" + }, + "editStyleHeading": { + "message": "Editar estilo" + }, + "editStyleLabel": { + "message": "Editar" + }, + "editStyleTitle": { + "message": "Editar estilo $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Ativar" + }, + "excludeStyleByDomainLabel": { + "message": "Excluir o domínio atual" + }, + "excludeStyleByUrlLabel": { + "message": "Excluir a URL atual" + }, + "exportLabel": { + "message": "Exportar " + }, + "exportSavedSuccess": { + "message": "Arquivo salvo com sucesso" + }, + "externalFeedback": { + "message": "Comentários" + }, + "externalHomepage": { + "message": "Página inicial" + }, + "externalLink": { + "message": "Link externo" + }, + "externalSupport": { + "message": "Suporte" + }, + "externalUsercssDocument": { + "message": "Documentação do UserCSS" + }, + "filteredStyles": { + "message": "$numShown$ mostrados de $numTotal$ total", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Filtros aplicados não correspondem a nenhum estilo" + }, + "findStyles": { + "message": "Encontrar estilos" + }, + "findStylesForSite": { + "message": "Procurar mais estilos para este site" + }, + "findStylesInline": { + "message": "Em linha" + }, + "findStylesInlineTooltip": { + "message": "Mostrar resultados dentro dessa janela" + }, + "genericAdd": { + "message": "Adicionar" + }, + "genericClone": { + "message": "Clonar" + }, + "genericDisabledLabel": { + "message": "Desativado" + }, + "genericEnabledLabel": { + "message": "Ativado" + }, + "genericError": { + "message": "Erro" + }, + "genericHistoryLabel": { + "message": "Histórico" + }, + "genericNext": { + "message": "Próximo" + }, + "genericPrevious": { + "message": "Anterior" + }, + "genericResetLabel": { + "message": "Redefinir" + }, + "genericSavedMessage": { + "message": "Salvo" + }, + "genericTitle": { + "message": "Título" + }, + "genericUnknown": { + "message": "Desconhecido" + }, + "gettingStyles": { + "message": "Obtendo todos os estilos..." + }, + "helpAlt": { + "message": "Ajuda" + }, + "helpKeyMapCommand": { + "message": "Digite um comando aqui" + }, + "helpKeyMapHotkey": { + "message": "Pressione uma tecla de atalho" + }, + "hostDisabled": { + "message": "Este hospedeiro foi desabilitado devido a um bug na versão atual que o navegador utilizado se encontra" + }, + "importAppendLabel": { + "message": "Anexar ao estilo" + }, + "importAppendTooltip": { + "message": "Anexar o estilo importado ao atual" + }, + "importLabel": { + "message": "Importar" + }, + "importPreprocessor": { + "message": "Estilos com @preprocessor não irão funcionar no modo clássico. Você pode trocar o editor para o modo UserCSS: 1) abre o gerenciador de estilos, 2) ative a caixa \"como UserCSS\", 3) clique \"Escrever novo estilo\"\n\nDeseja importar mesmo assim?" + }, + "importPreprocessorTitle": { + "message": "Possível problema causado pelo @preprocessor" + }, + "importReplaceLabel": { + "message": "Sobrescrever estilo" + }, + "importReplaceTooltip": { + "message": "Descartar conteúdo do estilo atual e sobrescreve-lo com o estilo importado" + }, + "importReportLegendAdded": { + "message": "adicionado" + }, + "importReportLegendIdentical": { + "message": "idênticos pulados" + }, + "importReportLegendInvalid": { + "message": "inválidos pulados" + }, + "importReportLegendUpdatedBoth": { + "message": "tiveram o meta e código atualizados" + }, + "importReportLegendUpdatedCode": { + "message": "código atualizado" + }, + "importReportLegendUpdatedMeta": { + "message": "tiveram o meta atualizados" + }, + "importReportTitle": { + "message": "Importação de estilos finalizada" + }, + "importReportUnchanged": { + "message": "Nada foi alterado." + }, + "importReportUndone": { + "message": "estilos foram revertidos" + }, + "importReportUndoneTitle": { + "message": "A importação foi desfeita" + }, + "installButton": { + "message": "Instalar estilo" + }, + "installButtonInstalled": { + "message": "Estilo instalado" + }, + "installButtonReinstall": { + "message": "Reinstalar estilo" + }, + "installButtonUpdate": { + "message": "Atualizar estilo" + }, + "installUpdate": { + "message": "Instalar atualização" + }, + "installUpdateFrom": { + "message": "Atualmente, o estilo é atualizado de $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Verificar se há atualizações" + }, + "license": { + "message": "Licensa" + }, + "linkGetHelp": { + "message": "Buscar ajuda" + }, + "linkGetStyles": { + "message": "Obter estilos" + }, + "linkTranslate": { + "message": "Traduzir" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint não suporta o pré-processador $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Definir regra como: 0 = desativado; 1 = aviso; 2 = erro)" + }, + "linterConfigPopupTitle": { + "message": "Configurar regras do $linter$", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Clique para configurar esse linter" + }, + "linterInvalidConfigError": { + "message": "Não foi possível salvar devido às seguintes configurações inválidas:" + }, + "linterIssues": { + "message": "Problemas" + }, + "linterIssuesHelp": { + "message": "Esses problemas foram encontrados por $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Formato JSON inválido" + }, + "linterResetMessage": { + "message": "Para desfazer redefinições acidentais, pressione Ctrl-Z (ou Cmd-Z) na caixa de texto" + }, + "linterRulesLink": { + "message": "Ver uma lista completa de regras" + }, + "liveReloadError": { + "message": "Não foi possível assistir o arquivo" + }, + "manageHeading": { + "message": "Estilos instalados" + }, + "manageNewStyleAsUsercss": { + "message": "como UserCSS" + }, + "manageOnlyDisabled": { + "message": "Somente estilos desativados" + }, + "manageOnlyEnabled": { + "message": "Apenas estilos habilitados" + }, + "manageOnlyNonUsercss": { + "message": "Apenas estilos sem UserCSS" + }, + "manageOnlyUsercss": { + "message": "Apenas estilos com UserCSS" + }, + "meta_invalidNumber": { + "message": "Espera-se um número" + }, + "meta_invalidRange": { + "message": "@var inválido $type$: valor deve ser um número ou um vetor", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidString": { + "message": "Espera-se um texto entre aspas" + }, + "meta_invalidWord": { + "message": "Espera-se uma palavra" + }, + "meta_missingChar": { + "message": "Caracteres esperados: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingMandatory": { + "message": "Metadata obrigatório não encontrado: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Metadata desconhecido: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Tipo desconhecido da variável @$varkey$: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Para importar seus estilos, você deve exportar primeiro." + }, + "noStylesForSite": { + "message": "Nenhum estilo instalado para este site." + }, + "openManage": { + "message": "Gerenciar estilos instalados" + }, + "openOptions": { + "message": "Opções" + }, + "openStylesManager": { + "message": "Abrir gerenciador de estilos" + }, + "optionsActions": { + "message": "Ações" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Escrever novo estilo como UserCSS" + }, + "optionsBadgeDisabled": { + "message": "Cor de fundo quando desativado" + }, + "optionsBadgeNormal": { + "message": "Cor de fundo" + }, + "optionsCheck": { + "message": "Atualizar estilos" + }, + "optionsCheckUpdate": { + "message": "Verifique e instale todas as atualizações disponíveis" + }, + "optionsCustomizeSync": { + "message": "Sincronizar para a nuvem" + }, + "optionsCustomizeUpdate": { + "message": "Atualizações" + }, + "optionsHeading": { + "message": "Opções" + }, + "optionsOpen": { + "message": "Abrir" + }, + "optionsOpenManager": { + "message": "Gerenciar estilos" + }, + "optionsPopupWidth": { + "message": "Largura do popup (em pixels)" + }, + "optionsSubheading": { + "message": "Mais Opções" + }, + "optionsSyncConnect": { + "message": "Conectar" + }, + "optionsSyncDisconnect": { + "message": "Desconectar" + }, + "optionsSyncNone": { + "message": "Nenhum" + }, + "optionsSyncStatusConnected": { + "message": "Conectado" + }, + "optionsSyncStatusConnecting": { + "message": "Conectando..." + }, + "optionsSyncStatusDisconnected": { + "message": "Desconectado" + }, + "optionsSyncStatusDisconnecting": { + "message": "Desconectando..." + }, + "optionsSyncStatusSyncing": { + "message": "Sincronizando..." + }, + "optionsSyncSyncNow": { + "message": "Sincronizar agora" + }, + "overwriteFileExport": { + "message": "Você gostaria de substituir um arquivo existente?" + }, + "parseUsercssError": { + "message": "Não foi possível analisar o UserCSS:" + }, + "prefShowBadge": { + "message": "Número de estilos ativos para o site atual" + }, + "readingStyles": { + "message": "Lendo estilos..." + }, + "reload": { + "message": "Recarregar a extensão do Stylus" + }, + "replace": { + "message": "Substituir" + }, + "replaceAll": { + "message": "Substituir todos" + }, + "replaceWith": { + "message": "Substituir com" + }, + "retrieveBckp": { + "message": "Importar estilos" + }, + "retrieveDropboxSync": { + "message": "Importar do Dropbox" + }, + "search": { + "message": "Buscar" + }, + "searchRegexp": { + "message": "Use a sintaxe /re/ para busca por regexp" + }, + "sectionAdd": { + "message": "Adicionar outra seção" + }, + "sectionCode": { + "message": "Código" + }, + "sectionRemove": { + "message": "Remover seção" + }, + "shortcuts": { + "message": "Atalhos" + }, + "styleBadRegexp": { + "message": "Expressão regular é inválida" + }, + "styleBeautify": { + "message": "Embelezar" + }, + "styleBeautifyHint": { + "message": "Dica: clique com o botão direito no botão \"Embelezar\" ou use o atalho de teclado definido para embelezar sem mostrar esse painel" + }, + "styleCancelEditLabel": { + "message": "Voltar ao gerenciamento" + }, + "styleChangesNotSaved": { + "message": "Você fez alterações neste estilo sem salvar." + }, + "styleEnabledLabel": { + "message": "Ativado" + }, + "styleInstall": { + "message": "Instalar \"$stylename$\" no Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Insira um nome" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla" + }, + "styleSaveLabel": { + "message": "Salvar" + }, + "styleToMozillaFormatHelp": { + "message": "O formato Mozilla do código pode ser usado com o Stylish para Firefox e pode ser enviado para userstyles.org." + }, + "styleUpdate": { + "message": "Você tem certeza que quer atualizar '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "syncDropboxStyles": { + "message": "Exportar para Dropbox" + }, + "undo": { + "message": "Desfazer" + }, + "undoGlobal": { + "message": "Desfazer todas as seções" + }, + "unzipStyles": { + "message": "Descompactando estilos..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nenhuma atualização encontrada." + }, + "updateCheckFailBadResponseCode": { + "message": "A atualização falhou: o servidor respondeu com código $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "A atualização falhou: servidor inacessível." + }, + "updateCheckManualUpdateHint": { + "message": "Forçar uma atualização irá sobrescrever qualquer alteração local." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Esse estilo foi editado localmente." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Este estilo parece ter sido editado localmente." + }, + "updateCheckSucceededNoUpdate": { + "message": "O estilo está atualizado." + }, + "updateCompleted": { + "message": "Atualização concluída." + }, + "updatesCurrentlyInstalled": { + "message": "Updates instalados:" + }, + "uploadingFile": { + "message": "Enviando arquivo..." + }, + "usercssReplaceTemplateConfirmation": { + "message": "Substituir o template padrão por novos estilos com UserCSS com o código atual?" + }, + "usercssReplaceTemplateName": { + "message": "@nome vazio substitui o template padrão" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insira o código aqui..." + }, + "versionInvalidOlder": { + "message": "A versão é mais velha que o estilo instalado." + }, + "writeStyleFor": { + "message": "Escrever um estilo para:" + }, + "writeStyleForURL": { + "message": "Essa URL" + }, + "zipStyles": { + "message": "Compactando estilos..." + } +} diff --git a/_locales/pt_PT/messages.json b/_locales/pt_PT/messages.json index 484e71d8..5a6109de 100644 --- a/_locales/pt_PT/messages.json +++ b/_locales/pt_PT/messages.json @@ -1,1586 +1,929 @@ { - "addStyleTitle": { - "message": "Adicionar estilo", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacidade", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Adicionar", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplica-se a: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "e mais", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs no domínio", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use os controlos \"Aplica-se a\" para limitar a que URLs o código nesta secção se aplica.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Aplica-se a", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Apresentar \"Aplica-se a\" info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Não funciona com CSS minificado", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs correspondentes ao regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remover", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Não é possível remover a última 'aplica-se a' entrada", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Especificar", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Tudo", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs a começar com", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicar todas as atualizações", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Cópia de segurança", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Selecione um ficheiro ou arraste e solte-o nesta página.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportar estilos", - "description": "" - }, - "checkAllUpdates": { - "message": "Verificar todos os estilos por atualizações", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Verifique outra vez, eu não editei nenhum estilo!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Procurar atualizações", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "A verificar...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Clique para desinstalar", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Auto-fechar colchetes e aspas", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Adicionar automaticamente um par para fechar ao escrever um () [] {} '' \"\" de abertura", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Conclusão automática em datilografar ", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Selecionador de cores para cores CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Usar tabulação com indentação inteligente", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Mapa de teclado", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Moldar o texto", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Realçar", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Apenas a seleção", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token embaixo do cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Duplo-clique para maximizar/restaurar a altura", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "O duplo-clique seleciona os tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exemplos de tokens: .foo-bar-2 #aabbcc 0.32 !Important\nQuando desativado: as palavras delimitadas por pontuação são selecionadas.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use indentação inteligente", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tamanho da tabulação", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Mudar formatos: HEX -> RGB -> HSL.\nShift-clique para inverter a direção.\nTambém através das teclas PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Abrir o selecionador de cores", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "em mudança", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Auto-guarda e aplicar alterações automaticamente", - "description": "" - }, - "configureStyle": { - "message": "Configurar", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configurar na homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancelar", - "description": "" - }, - "confirmClose": { - "message": "Fechar", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use predefinição", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Apagar", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Descartar as alterações?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Não", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Guardar", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Parar", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Sim", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Data de instalação", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data da atualização", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ocorreu um erro ao usar a base de dados do Stylus. Gostaria de visitar uma página web com soluções possíveis?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "predefinição", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Tem a certeza que quer apagar este estilo?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Apagar", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Reestruturar a web com o Stylus, um gestor de estilos do utilizador. O Stylus permite-te instalar facilmente temas e skins para muitos sites populares.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Desligar todos os estilos", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Desativar", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Solte o ficheiro da sua cópia de segurança em qualquer sítio nesta página para importar.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Eliminar", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Ir para a linha (ou linha:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Editar Estilo", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Editar", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Editar Estilo $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Ativar", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Exportar", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Hiperligação externa", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Suporte", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentação para Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ apresentado(s) de $numTotal$total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Os filtros aplicados atualmente não correspondem a estilos", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Localizar estilos", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Encontrar mais estilos para este site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Exibir os resultados da pesquisa dentro desta janela.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Adicionar", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Desativado", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Habilitado", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Erro", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Histórico", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Próximo", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Anterior", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Repor", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Guardado", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Título", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Desconhecido", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ajuda", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Escreva um nome de comando", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Prima uma tecla de atalho", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Acrescentar ao estilo", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Acrescentar o estilo importado ao estilo atual", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Sobrescrever estilo", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Rejeitar conteúdos do estilo atual e sobrescrever com o estilo importado", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "adicionado", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "idênticos excluídos", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "inválido(s) ignorado(s)", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta info e código atualizados", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "código atualizado", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta info atualizada", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importação de estilos finalizada", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nada foi alterado.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "os estilos foram revertidos", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "A Importação foi anulada", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalar estilo", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Estilo instalado", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstale o estilo", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Atualizar o estilo", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Instalar atualização", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Atualmente o estilo é atualizado a partir de $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Procurar atualizações", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licença", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Obter ajuda", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Obter estilos", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Traduzir", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "O CSSLint não suporta $preprocessorname$pré-processador", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Definir a regra como : 0 = desabilitado; 1 = aviso ; 2 = erro)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Definir as regras de configuração para $linter$", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Clique para configurar este linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Não foi guardado devido a estas configurações inválidas:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problemas", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Estes problemas foram encontradas por$link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Formato JSON inválido", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Para anular a redefinição acidental, prima Ctrl-Z (ou Cmd-Z) na caixa de texto", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Veja uma lista completa de regras", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Ocorreu um erro ao vigiar o arquivo", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Recarregamento dinâmico", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons em colunas de aplica-se a", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Acinzentado(s)", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "O Stylus usa um serviço externo https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtros", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Estilos Instalados", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Número de aplica-se a itens", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "como Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Nova interface do gestor", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Apenas estilos desativados", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Apenas estilos ativados", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Apenas estilos externos", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Apenas estilos criados localmente", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(os estilos não instalados através de uma página userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Apenas estilos não-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Apenas com atualizações ou problemas", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Apenas estilos Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Mostrar a contagem de estilos ativados", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Nenhum estilo instalado para este site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Gerir", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Abrir gestor de estilos", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Ações", - "description": "" - }, - "optionsAdvanced": { - "message": "Avançadas", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Adicionar 'Eliminar' no menu de contexto do editor", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expor iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Escrever novo estilo como usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Cor de fundo quando desativado", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Cor de fundo", - "description": "" - }, - "optionsCheck": { - "message": "Atualizar estilos", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Procurar para e instalar todas as atualizações disponíveis", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Distintivo no ícone da barra de ferramentas", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ícone da barra de ferramentas", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Atualizações", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Opções", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Temas escuros do browser", - "description": "" - }, - "optionsIconLight": { - "message": "Temas claros do browser", - "description": "" - }, - "optionsOpen": { - "message": "Abrir", - "description": "" - }, - "optionsOpenManager": { - "message": "Gerir estilos", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup largura (em pixeis)", - "description": "" - }, - "optionsReset": { - "message": "Restabelecer as opções aos valores predefinidos", - "description": "" - }, - "optionsResetButton": { - "message": "Restabelecer opções", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Mais Opções", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Ao importar uma cópia de segurança de estilo da versão antiga ou do Stylish, faça uma verificação única de atualizações manualmente no gestor de estilos para garantir que todos os estilos sejam atualizados.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalo de atualização automática do estilo de usuário em horas (especifique 0 para desativar)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Pagina atual", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Número estimado de páginas", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Próxima página", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Pagina anterior", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Páginas totais", - "description": "" - }, - "parseUsercssError": { - "message": "O Stylus falhou ao analisar o usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Adicionar margens laterais brancas ", - "description": "" - }, - "popupBordersTooltip": { - "message": "Útil para temas escuros no novo Chrome, já que não pinta mais as margens laterais", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>- <9>,<0>, também no teclado numérico - alterna o Nth estilo (0 é 10)\n- alterna o primeiro estilo com um nome que começa com a letra\nabre o editor em vez de alternar\nativa estilos listados\ndesativa estilos listados\ne <`> (backtick) - alterna os estilos inicialmente ativados; não se aplica a estilos habilitados subsequentemente enquanto o popup está aberto, para que você possa restaurar a seleção inicial depois de testar o material: basta desabilitar todos e, em seguida, alternar, i.e. \nMais informações no wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Clique para ver as teclas de atalho disponíveis", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-clique ou clique com o botão direito abre o gestor com estilos aplicáveis ao site atual", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Abra o editor em uma nova janela", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Também ativado ao desanexar o separador do editor de uma janela do browser, e desativado por anexar um separador único do editor a outra janela.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Estilos antes de comandos", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Número de estilos ativadas para o site atual", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Pré-visualização dinâmica", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporariamente aplica as alterações sem guardar.\nGuarde o estilo para tornar as alterações permanentes.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Substituir", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Substituir todos", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Substituir com", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importar estilos", - "description": "" - }, - "search": { - "message": "Pesquisar", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Sensível a maiúsculas e minúsculas", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Número de correspondências", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Número de correspondências no código e aplica-se a valores", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Usa a sintaxe /re/ para pesquisas regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Instalações totais", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nenhum estilo encontrado para este site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Classificação", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Atualizado", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Instalações semanais", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Adicionar outra secção", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Código", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remover secção", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurar secção removida", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Atalhos", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Definir atalhos de teclado", - "description": "" - }, - "sortDateNewestFirst": { - "message": "mais recente primeiro", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "mais antigos primeiro", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Selecione uma ordenação para aplicar aos estilos instalados", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Título Ascendente", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Título Descendente", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Escolha o tipo de ordenação a ser aplicado às entradas instaladas na lista suspensa de ordenação. A configuração predefinida aplica uma ordem crescente (A a Z) aos títulos de entrada. As ordenações dentro do grupo \"Título Decrescente\" aplicarão uma classificação decrescente (Z a A) ao título. Existem outras predefinições que permitirão classificar as entradas por vários critérios. Pense sobre isso como ordenar uma tabela com várias colunas e cada categoria em cada seleção (entre os sinais de mais) representa uma coluna ou grupo. Por exemplo, se a configuração for \"Ativado (primeiro) + Título\", as entradas serão ordenadas de modo que todas as entradas ativadas sejam classificadas no topo da lista, então uma classificação crescente de título de entrada (A a Z) será aplicada a ambas as entradas ativadas e desativadas separadamente.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Ordenar conteúdos", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp é inválido", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Embelezar", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indentar @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve novas linhas", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Voltar para gerir", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Fizeste alterações a este estilo sem as guardar.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Ativado", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Falha ao importar do formato Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Colar o código formato-Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Instalar '$stylename$' no Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Falha ao instalar o estilo de usuário!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "$stylename$já está instalado. Substituir?\nVersão:$oldVersion$-> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Introduzir um nome", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Formato Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "O estilo não foi aplicado devido ao uso incorreto de 'regexp ()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Algumas regras de 'regexp()' que não puderam ser compiladas.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Este estilo usa regexps parcialmente correspondentes em violação da CSS4 @document specification que requer um URL correspondente inteiro. As secções de CSS afetadas não foram aplicadas nesta página. Este estilo foi provavelmente criado no Stylish-for-Chrome o qual verifica incorretamente as regras 'regexp()' desde a primeira versão (bug conhecido).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Número de secções não aplicadas devido ao uso incorreto de 'regexp ()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Testar RegExp", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Separadores correspondentes", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Regexps inválidos ignorados", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Nenhum separador correspondente", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Nota: use um único \\ para escapar no campo de entrada regexp, que será automaticamente convertido para \\\\ no código de estilo conforme especificação para strings entre aspas em CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Não corresponde totalmente, portanto ignorado", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista de separadores correspondentes abertos (clique no URL para focar no separador)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Guardar", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "O formato Mozilla do código pode ser submetido aouserstyles.org e usado com o clássico Stylish para o Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Estilo no formato Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Tem a certeza que quer atualizar '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "O estilo é alterado fora do editor. Gostaria de recarregar o estilo?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "O Stylus não funciona em páginas como esta.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Como precaução de segurança, o browser proíbe extensões de afetar as páginas embutidas (como chrome://version, a página de novo separador predefinido no Chrome 61, about:addons, e assim sucessivamente) tal como páginas de outras extensões. Cada browser também restringe acesso à sua própria galeria de extensões (como Chrome Web Store ou AMO)", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "O valor não pode ser guardado. Tente reduzir a quantidade de texto.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Alternar estilo", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Anular", - "description": "Button label" - }, - "undoGlobal": { - "message": "Anular em todas as secções", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "O Firefox proíbe o acesso ao site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Para permitir o acesso abra,clique com o botão direito na lista, clique em \"Novo\", depois em \"Booleano\", cole e clique em OK,,OK, recarregue a página .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "No Firefox 60 e mais recente, você também terá que remover o domínio AMO de em .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Somente o Firefox 59 e o mais recente podem ser configurados para permitir que WebExtensions incluam elementos de estilo em sites protegidos por CSP como este.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Não foi possível comunicar com a página. Tente recarregar o separador.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "O Stylus pode aceder URLs file:// apenas se ativar a checkbox correspondente para a extensão Stylus na página chrome://extensions", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Nenhuma atualização encontrada.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Alguns estilos que podem ser atualizados não foram verificados para evitar perder possíveis edições locais. As atualizações podem ser forçadas ao verificar individualmente, ou fazendo outra verificação para todos os estilos (edições locais vão ser sobrescrevidas)", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "A atualização falhou: o servidor respondeu com o código $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "A atualização falhou: servidor inacessível.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Histórico de verificação de atualizações", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalar atualização (edições locais vão ser sobrescritas)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forçando uma atualização vai substituir qualquer edição local.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Este estilo foi editado localmente.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Este estilo pode ter sido editado localmente", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "O estilo está atualizado.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Atualização completa.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Atualizações instaladas:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Por favor modifique o valor de @name ou @namespace para evitar sobrescrever um estilo existente.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "O estilo foi atualizado ou eliminado após a exibição do diálogo de configuração. Essas variáveis não foram guardadas para evitar corromper os metadados do estilo:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Especificar @name no código", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Substituir o modelo predefinido para novos estilos de Usercss com o código atual?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name vazio substitui o modelo predefinido", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insira o código aqui...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "A versão é mais antiga que o estilo instalado.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Escrever estilo para:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "este URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Escrever novo estilo", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Escrever novo estilo" + }, + "addStyleTitle": { + "message": "Adicionar estilo" + }, + "alphaChannel": { + "message": "Opacidade" + }, + "appliesAdd": { + "message": "Adicionar" + }, + "appliesDisplay": { + "message": "Aplica-se a: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "e mais" + }, + "appliesDomainOption": { + "message": "URLs no domínio" + }, + "appliesHelp": { + "message": "Use os controlos \"Aplica-se a\" para limitar a que URLs o código nesta secção se aplica." + }, + "appliesLabel": { + "message": "Aplica-se a" + }, + "appliesLineWidgetLabel": { + "message": "Apresentar \"Aplica-se a\" info" + }, + "appliesLineWidgetWarning": { + "message": "Não funciona com CSS minificado" + }, + "appliesRegexpOption": { + "message": "URLs correspondentes ao regexp" + }, + "appliesRemove": { + "message": "Remover" + }, + "appliesRemoveError": { + "message": "Não é possível remover a última 'aplica-se a' entrada" + }, + "appliesSpecify": { + "message": "Especificar" + }, + "appliesToEverything": { + "message": "Tudo" + }, + "appliesUrlPrefixOption": { + "message": "URLs a começar com" + }, + "applyAllUpdates": { + "message": "Aplicar todas as atualizações" + }, + "author": { + "message": "Autor" + }, + "backupButtons": { + "message": "Cópia de segurança" + }, + "backupMessage": { + "message": "Selecione um ficheiro ou arraste e solte-o nesta página." + }, + "bckpInstStyles": { + "message": "Exportar estilos" + }, + "checkAllUpdates": { + "message": "Verificar todos os estilos por atualizações" + }, + "checkAllUpdatesForce": { + "message": "Verifique outra vez, eu não editei nenhum estilo!" + }, + "checkForUpdate": { + "message": "Procurar atualizações" + }, + "checkingForUpdate": { + "message": "A verificar..." + }, + "clickToUninstall": { + "message": "Clique para desinstalar" + }, + "cm_autoCloseBrackets": { + "message": "Auto-fechar colchetes e aspas" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Adicionar automaticamente um par para fechar ao escrever um () [] {} '' \"\" de abertura" + }, + "cm_autocompleteOnTyping": { + "message": "Conclusão automática em datilografar " + }, + "cm_colorpicker": { + "message": "Selecionador de cores para cores CSS" + }, + "cm_indentWithTabs": { + "message": "Usar tabulação com indentação inteligente" + }, + "cm_keyMap": { + "message": "Mapa de teclado" + }, + "cm_lineWrapping": { + "message": "Moldar o texto" + }, + "cm_matchHighlight": { + "message": "Realçar" + }, + "cm_matchHighlightSelection": { + "message": "Apenas a seleção" + }, + "cm_matchHighlightToken": { + "message": "Token embaixo do cursor" + }, + "cm_resizeGripHint": { + "message": "Duplo-clique para maximizar/restaurar a altura" + }, + "cm_selectByTokens": { + "message": "O duplo-clique seleciona os tokens" + }, + "cm_selectByTokensTooltip": { + "message": "Exemplos de tokens: .foo-bar-2 #aabbcc 0.32 !Important\nQuando desativado: as palavras delimitadas por pontuação são selecionadas." + }, + "cm_smartIndent": { + "message": "Use indentação inteligente" + }, + "cm_tabSize": { + "message": "Tamanho da tabulação" + }, + "cm_theme": { + "message": "Tema" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Mudar formatos: HEX -> RGB -> HSL.\nShift-clique para inverter a direção.\nTambém através das teclas PgUp (PageUp), PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "Abrir o selecionador de cores" + }, + "configOnChange": { + "message": "em mudança" + }, + "configOnChangeTooltip": { + "message": "Auto-guarda e aplicar alterações automaticamente" + }, + "configureStyle": { + "message": "Configurar" + }, + "configureStyleOnHomepage": { + "message": "Configurar na homepage" + }, + "confirmCancel": { + "message": "Cancelar" + }, + "confirmClose": { + "message": "Fechar" + }, + "confirmDefault": { + "message": "Use predefinição" + }, + "confirmDelete": { + "message": "Apagar" + }, + "confirmDiscardChanges": { + "message": "Descartar as alterações?" + }, + "confirmNo": { + "message": "Não" + }, + "confirmSave": { + "message": "Guardar" + }, + "confirmStop": { + "message": "Parar" + }, + "confirmYes": { + "message": "Sim" + }, + "dateInstalled": { + "message": "Data de instalação" + }, + "dateUpdated": { + "message": "Data da atualização" + }, + "dbError": { + "message": "Ocorreu um erro ao usar a base de dados do Stylus. Gostaria de visitar uma página web com soluções possíveis?" + }, + "defaultTheme": { + "message": "predefinição" + }, + "deleteStyleConfirm": { + "message": "Tem a certeza que quer apagar este estilo?" + }, + "deleteStyleLabel": { + "message": "Apagar" + }, + "description": { + "message": "Reestruturar a web com o Stylus, um gestor de estilos do utilizador. O Stylus permite-te instalar facilmente temas e skins para muitos sites populares." + }, + "disableAllStyles": { + "message": "Desligar todos os estilos" + }, + "disableStyleLabel": { + "message": "Desativar" + }, + "dragDropMessage": { + "message": "Solte o ficheiro da sua cópia de segurança em qualquer sítio nesta página para importar." + }, + "editDeleteText": { + "message": "Eliminar" + }, + "editGotoLine": { + "message": "Ir para a linha (ou linha:col)" + }, + "editStyleHeading": { + "message": "Editar Estilo" + }, + "editStyleLabel": { + "message": "Editar" + }, + "editStyleTitle": { + "message": "Editar Estilo $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Ativar" + }, + "exportLabel": { + "message": "Exportar" + }, + "externalLink": { + "message": "Hiperligação externa" + }, + "externalSupport": { + "message": "Suporte" + }, + "externalUsercssDocument": { + "message": "Documentação para Usercss" + }, + "filteredStyles": { + "message": "$numShown$ apresentado(s) de $numTotal$total", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Os filtros aplicados atualmente não correspondem a estilos" + }, + "findStyles": { + "message": "Localizar estilos" + }, + "findStylesForSite": { + "message": "Encontrar mais estilos para este site" + }, + "findStylesInline": { + "message": "inline" + }, + "findStylesInlineTooltip": { + "message": "Exibir os resultados da pesquisa dentro desta janela." + }, + "genericAdd": { + "message": "Adicionar" + }, + "genericDisabledLabel": { + "message": "Desativado" + }, + "genericEnabledLabel": { + "message": "Habilitado" + }, + "genericError": { + "message": "Erro" + }, + "genericHistoryLabel": { + "message": "Histórico" + }, + "genericNext": { + "message": "Próximo" + }, + "genericPrevious": { + "message": "Anterior" + }, + "genericResetLabel": { + "message": "Repor" + }, + "genericSavedMessage": { + "message": "Guardado" + }, + "genericTitle": { + "message": "Título" + }, + "genericUnknown": { + "message": "Desconhecido" + }, + "helpAlt": { + "message": "Ajuda" + }, + "helpKeyMapCommand": { + "message": "Escreva um nome de comando" + }, + "helpKeyMapHotkey": { + "message": "Prima uma tecla de atalho" + }, + "importAppendLabel": { + "message": "Acrescentar ao estilo" + }, + "importAppendTooltip": { + "message": "Acrescentar o estilo importado ao estilo atual" + }, + "importLabel": { + "message": "Importar" + }, + "importReplaceLabel": { + "message": "Sobrescrever estilo" + }, + "importReplaceTooltip": { + "message": "Rejeitar conteúdos do estilo atual e sobrescrever com o estilo importado" + }, + "importReportLegendAdded": { + "message": "adicionado" + }, + "importReportLegendIdentical": { + "message": "idênticos excluídos" + }, + "importReportLegendInvalid": { + "message": "inválido(s) ignorado(s)" + }, + "importReportLegendUpdatedBoth": { + "message": "meta info e código atualizados" + }, + "importReportLegendUpdatedCode": { + "message": "código atualizado" + }, + "importReportLegendUpdatedMeta": { + "message": "meta info atualizada" + }, + "importReportTitle": { + "message": "Importação de estilos finalizada" + }, + "importReportUnchanged": { + "message": "Nada foi alterado." + }, + "importReportUndone": { + "message": "os estilos foram revertidos" + }, + "importReportUndoneTitle": { + "message": "A Importação foi anulada" + }, + "installButton": { + "message": "Instalar estilo" + }, + "installButtonInstalled": { + "message": "Estilo instalado" + }, + "installButtonReinstall": { + "message": "Reinstale o estilo" + }, + "installButtonUpdate": { + "message": "Atualizar o estilo" + }, + "installUpdate": { + "message": "Instalar atualização" + }, + "installUpdateFrom": { + "message": "Atualmente o estilo é atualizado a partir de $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Procurar atualizações" + }, + "license": { + "message": "Licença" + }, + "linkGetHelp": { + "message": "Obter ajuda" + }, + "linkGetStyles": { + "message": "Obter estilos" + }, + "linkTranslate": { + "message": "Traduzir" + }, + "linterCSSLintIncompatible": { + "message": "O CSSLint não suporta $preprocessorname$pré-processador", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Definir a regra como : 0 = desabilitado; 1 = aviso ; 2 = erro)" + }, + "linterConfigPopupTitle": { + "message": "Definir as regras de configuração para $linter$", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Clique para configurar este linter" + }, + "linterInvalidConfigError": { + "message": "Não foi guardado devido a estas configurações inválidas:" + }, + "linterIssues": { + "message": "Problemas" + }, + "linterIssuesHelp": { + "message": "Estes problemas foram encontradas por$link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Formato JSON inválido" + }, + "linterResetMessage": { + "message": "Para anular a redefinição acidental, prima Ctrl-Z (ou Cmd-Z) na caixa de texto" + }, + "linterRulesLink": { + "message": "Veja uma lista completa de regras" + }, + "liveReloadError": { + "message": "Ocorreu um erro ao vigiar o arquivo" + }, + "liveReloadLabel": { + "message": "Recarregamento dinâmico" + }, + "manageFavicons": { + "message": "Favicons em colunas de aplica-se a" + }, + "manageFaviconsGray": { + "message": "Acinzentado(s)" + }, + "manageFaviconsHelp": { + "message": "O Stylus usa um serviço externo https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtros" + }, + "manageHeading": { + "message": "Estilos Instalados" + }, + "manageMaxTargets": { + "message": "Número de aplica-se a itens" + }, + "manageNewStyleAsUsercss": { + "message": "como Usercss" + }, + "manageNewUI": { + "message": "Nova interface do gestor" + }, + "manageOnlyDisabled": { + "message": "Apenas estilos desativados" + }, + "manageOnlyEnabled": { + "message": "Apenas estilos ativados" + }, + "manageOnlyExternal": { + "message": "Apenas estilos externos" + }, + "manageOnlyLocal": { + "message": "Apenas estilos criados localmente" + }, + "manageOnlyLocalTooltip": { + "message": "(os estilos não instalados através de uma página userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Apenas estilos não-Usercss" + }, + "manageOnlyUpdates": { + "message": "Apenas com atualizações ou problemas" + }, + "manageOnlyUsercss": { + "message": "Apenas estilos Usercss" + }, + "menuShowBadge": { + "message": "Mostrar a contagem de estilos ativados" + }, + "noStylesForSite": { + "message": "Nenhum estilo instalado para este site." + }, + "openManage": { + "message": "Gerir" + }, + "openStylesManager": { + "message": "Abrir gestor de estilos" + }, + "optionsActions": { + "message": "Ações" + }, + "optionsAdvanced": { + "message": "Avançadas" + }, + "optionsAdvancedContextDelete": { + "message": "Adicionar 'Eliminar' no menu de contexto do editor" + }, + "optionsAdvancedExposeIframes": { + "message": "Expor iframes via HTML[stylus-iframe]" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Escrever novo estilo como usercss" + }, + "optionsBadgeDisabled": { + "message": "Cor de fundo quando desativado" + }, + "optionsBadgeNormal": { + "message": "Cor de fundo" + }, + "optionsCheck": { + "message": "Atualizar estilos" + }, + "optionsCheckUpdate": { + "message": "Procurar para e instalar todas as atualizações disponíveis" + }, + "optionsCustomizeBadge": { + "message": "Distintivo no ícone da barra de ferramentas" + }, + "optionsCustomizeIcon": { + "message": "Ícone da barra de ferramentas" + }, + "optionsCustomizeUpdate": { + "message": "Atualizações" + }, + "optionsHeading": { + "message": "Opções" + }, + "optionsIconDark": { + "message": "Temas escuros do browser" + }, + "optionsIconLight": { + "message": "Temas claros do browser" + }, + "optionsOpen": { + "message": "Abrir" + }, + "optionsOpenManager": { + "message": "Gerir estilos" + }, + "optionsPopupWidth": { + "message": "Popup largura (em pixeis)" + }, + "optionsReset": { + "message": "Restabelecer as opções aos valores predefinidos" + }, + "optionsResetButton": { + "message": "Restabelecer opções" + }, + "optionsSubheading": { + "message": "Mais Opções" + }, + "optionsUpdateImportNote": { + "message": "Ao importar uma cópia de segurança de estilo da versão antiga ou do Stylish, faça uma verificação única de atualizações manualmente no gestor de estilos para garantir que todos os estilos sejam atualizados." + }, + "optionsUpdateInterval": { + "message": "Intervalo de atualização automática do estilo de usuário em horas (especifique 0 para desativar)" + }, + "paginationCurrent": { + "message": "Pagina atual" + }, + "paginationEstimated": { + "message": "Número estimado de páginas" + }, + "paginationNext": { + "message": "Próxima página" + }, + "paginationPrevious": { + "message": "Pagina anterior" + }, + "paginationTotal": { + "message": "Páginas totais" + }, + "parseUsercssError": { + "message": "O Stylus falhou ao analisar o usercss:" + }, + "popupBorders": { + "message": "Adicionar margens laterais brancas " + }, + "popupBordersTooltip": { + "message": "Útil para temas escuros no novo Chrome, já que não pinta mais as margens laterais" + }, + "popupHotkeysInfo": { + "message": "<1>- <9>,<0>, também no teclado numérico - alterna o Nth estilo (0 é 10)\n- alterna o primeiro estilo com um nome que começa com a letra\nabre o editor em vez de alternar\nativa estilos listados\ndesativa estilos listados\ne <`> (backtick) - alterna os estilos inicialmente ativados; não se aplica a estilos habilitados subsequentemente enquanto o popup está aberto, para que você possa restaurar a seleção inicial depois de testar o material: basta desabilitar todos e, em seguida, alternar, i.e. \nMais informações no wiki" + }, + "popupHotkeysTooltip": { + "message": "Clique para ver as teclas de atalho disponíveis" + }, + "popupManageTooltip": { + "message": "Shift-clique ou clique com o botão direito abre o gestor com estilos aplicáveis ao site atual" + }, + "popupOpenEditInWindow": { + "message": "Abra o editor em uma nova janela" + }, + "popupOpenEditInWindowTooltip": { + "message": "Também ativado ao desanexar o separador do editor de uma janela do browser, e desativado por anexar um separador único do editor a outra janela." + }, + "popupStylesFirst": { + "message": "Estilos antes de comandos" + }, + "prefShowBadge": { + "message": "Número de estilos ativadas para o site atual" + }, + "previewLabel": { + "message": "Pré-visualização dinâmica" + }, + "previewTooltip": { + "message": "Temporariamente aplica as alterações sem guardar.\nGuarde o estilo para tornar as alterações permanentes." + }, + "replace": { + "message": "Substituir" + }, + "replaceAll": { + "message": "Substituir todos" + }, + "replaceWith": { + "message": "Substituir com" + }, + "retrieveBckp": { + "message": "Importar estilos" + }, + "search": { + "message": "Pesquisar" + }, + "searchCaseSensitive": { + "message": "Sensível a maiúsculas e minúsculas" + }, + "searchNumberOfResults": { + "message": "Número de correspondências" + }, + "searchNumberOfResults2": { + "message": "Número de correspondências no código e aplica-se a valores" + }, + "searchRegexp": { + "message": "Usa a sintaxe /re/ para pesquisas regexp" + }, + "searchResultInstallCount": { + "message": "Instalações totais" + }, + "searchResultNoneFound": { + "message": "Nenhum estilo encontrado para este site." + }, + "searchResultRating": { + "message": "Classificação" + }, + "searchResultUpdated": { + "message": "Atualizado" + }, + "searchResultWeeklyCount": { + "message": "Instalações semanais" + }, + "sectionAdd": { + "message": "Adicionar outra secção" + }, + "sectionCode": { + "message": "Código" + }, + "sectionRemove": { + "message": "Remover secção" + }, + "sectionRestore": { + "message": "Restaurar secção removida" + }, + "shortcuts": { + "message": "Atalhos" + }, + "shortcutsNote": { + "message": "Definir atalhos de teclado" + }, + "sortDateNewestFirst": { + "message": "mais recente primeiro" + }, + "sortDateOldestFirst": { + "message": "mais antigos primeiro" + }, + "sortLabel": { + "message": "Selecione uma ordenação para aplicar aos estilos instalados" + }, + "sortLabelTitleAsc": { + "message": "Título Ascendente" + }, + "sortLabelTitleDesc": { + "message": "Título Descendente" + }, + "sortStylesHelp": { + "message": "Escolha o tipo de ordenação a ser aplicado às entradas instaladas na lista suspensa de ordenação. A configuração predefinida aplica uma ordem crescente (A a Z) aos títulos de entrada. As ordenações dentro do grupo \"Título Decrescente\" aplicarão uma classificação decrescente (Z a A) ao título. Existem outras predefinições que permitirão classificar as entradas por vários critérios. Pense sobre isso como ordenar uma tabela com várias colunas e cada categoria em cada seleção (entre os sinais de mais) representa uma coluna ou grupo. Por exemplo, se a configuração for \"Ativado (primeiro) + Título\", as entradas serão ordenadas de modo que todas as entradas ativadas sejam classificadas no topo da lista, então uma classificação crescente de título de entrada (A a Z) será aplicada a ambas as entradas ativadas e desativadas separadamente." + }, + "sortStylesHelpTitle": { + "message": "Ordenar conteúdos" + }, + "styleBadRegexp": { + "message": "Regexp é inválido" + }, + "styleBeautify": { + "message": "Embelezar" + }, + "styleBeautifyIndentConditional": { + "message": "Indentar @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Preserve novas linhas" + }, + "styleCancelEditLabel": { + "message": "Voltar para gerir" + }, + "styleChangesNotSaved": { + "message": "Fizeste alterações a este estilo sem as guardar." + }, + "styleEnabledLabel": { + "message": "Ativado" + }, + "styleFromMozillaFormatError": { + "message": "Falha ao importar do formato Mozilla" + }, + "styleFromMozillaFormatPrompt": { + "message": "Colar o código formato-Mozilla" + }, + "styleInstall": { + "message": "Instalar '$stylename$' no Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Falha ao instalar o estilo de usuário!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "$stylename$já está instalado. Substituir?\nVersão:$oldVersion$-> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Introduzir um nome" + }, + "styleMozillaFormatHeading": { + "message": "Formato Mozilla" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "O estilo não foi aplicado devido ao uso incorreto de 'regexp ()'" + }, + "styleRegexpInvalidExplanation": { + "message": "Algumas regras de 'regexp()' que não puderam ser compiladas." + }, + "styleRegexpPartialExplanation": { + "message": "Este estilo usa regexps parcialmente correspondentes em violação da CSS4 @document specification que requer um URL correspondente inteiro. As secções de CSS afetadas não foram aplicadas nesta página. Este estilo foi provavelmente criado no Stylish-for-Chrome o qual verifica incorretamente as regras 'regexp()' desde a primeira versão (bug conhecido)." + }, + "styleRegexpProblemTooltip": { + "message": "Número de secções não aplicadas devido ao uso incorreto de 'regexp ()'" + }, + "styleRegexpTestButton": { + "message": "Testar RegExp" + }, + "styleRegexpTestFull": { + "message": "Separadores correspondentes" + }, + "styleRegexpTestInvalid": { + "message": "Regexps inválidos ignorados" + }, + "styleRegexpTestNone": { + "message": "Nenhum separador correspondente" + }, + "styleRegexpTestNote": { + "message": "Nota: use um único \\ para escapar no campo de entrada regexp, que será automaticamente convertido para \\\\ no código de estilo conforme especificação para strings entre aspas em CSS." + }, + "styleRegexpTestPartial": { + "message": "Não corresponde totalmente, portanto ignorado" + }, + "styleRegexpTestTitle": { + "message": "Lista de separadores correspondentes abertos (clique no URL para focar no separador)" + }, + "styleSaveLabel": { + "message": "Guardar" + }, + "styleToMozillaFormatHelp": { + "message": "O formato Mozilla do código pode ser submetido aouserstyles.org e usado com o clássico Stylish para o Firefox" + }, + "styleToMozillaFormatTitle": { + "message": "Estilo no formato Mozilla" + }, + "styleUpdate": { + "message": "Tem a certeza que quer atualizar '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "O estilo é alterado fora do editor. Gostaria de recarregar o estilo?" + }, + "stylusUnavailableForURL": { + "message": "O Stylus não funciona em páginas como esta." + }, + "stylusUnavailableForURLdetails": { + "message": "Como precaução de segurança, o browser proíbe extensões de afetar as páginas embutidas (como chrome://version, a página de novo separador predefinido no Chrome 61, about:addons, e assim sucessivamente) tal como páginas de outras extensões. Cada browser também restringe acesso à sua própria galeria de extensões (como Chrome Web Store ou AMO)" + }, + "syncStorageErrorSaving": { + "message": "O valor não pode ser guardado. Tente reduzir a quantidade de texto." + }, + "toggleStyle": { + "message": "Alternar estilo" + }, + "undo": { + "message": "Anular" + }, + "undoGlobal": { + "message": "Anular em todas as secções" + }, + "unreachableAMO": { + "message": "O Firefox proíbe o acesso ao site." + }, + "unreachableAMOHint": { + "message": "Para permitir o acesso abra,clique com o botão direito na lista, clique em \"Novo\", depois em \"Booleano\", cole e clique em OK,,OK, recarregue a página ." + }, + "unreachableAMOHintNewFF": { + "message": "No Firefox 60 e mais recente, você também terá que remover o domínio AMO de em ." + }, + "unreachableAMOHintOldFF": { + "message": "Somente o Firefox 59 e o mais recente podem ser configurados para permitir que WebExtensions incluam elementos de estilo em sites protegidos por CSP como este." + }, + "unreachableContentScript": { + "message": "Não foi possível comunicar com a página. Tente recarregar o separador." + }, + "unreachableFileHint": { + "message": "O Stylus pode aceder URLs file:// apenas se ativar a checkbox correspondente para a extensão Stylus na página chrome://extensions" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Nenhuma atualização encontrada." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Alguns estilos que podem ser atualizados não foram verificados para evitar perder possíveis edições locais. As atualizações podem ser forçadas ao verificar individualmente, ou fazendo outra verificação para todos os estilos (edições locais vão ser sobrescrevidas)" + }, + "updateCheckFailBadResponseCode": { + "message": "A atualização falhou: o servidor respondeu com o código $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "A atualização falhou: servidor inacessível." + }, + "updateCheckHistory": { + "message": "Histórico de verificação de atualizações" + }, + "updateCheckManualUpdateForce": { + "message": "Instalar atualização (edições locais vão ser sobrescritas)" + }, + "updateCheckManualUpdateHint": { + "message": "Forçando uma atualização vai substituir qualquer edição local." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Este estilo foi editado localmente." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Este estilo pode ter sido editado localmente" + }, + "updateCheckSucceededNoUpdate": { + "message": "O estilo está atualizado." + }, + "updateCompleted": { + "message": "Atualização completa." + }, + "updatesCurrentlyInstalled": { + "message": "Atualizações instaladas:" + }, + "usercssAvoidOverwriting": { + "message": "Por favor modifique o valor de @name ou @namespace para evitar sobrescrever um estilo existente." + }, + "usercssConfigIncomplete": { + "message": "O estilo foi atualizado ou eliminado após a exibição do diálogo de configuração. Essas variáveis não foram guardadas para evitar corromper os metadados do estilo:" + }, + "usercssEditorNamePlaceholder": { + "message": "Especificar @name no código" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Substituir o modelo predefinido para novos estilos de Usercss com o código atual?" + }, + "usercssReplaceTemplateName": { + "message": "@name vazio substitui o modelo predefinido" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Insira o código aqui..." + }, + "versionInvalidOlder": { + "message": "A versão é mais antiga que o estilo instalado." + }, + "writeStyleFor": { + "message": "Escrever estilo para:" + }, + "writeStyleForURL": { + "message": "este URL" + } +} diff --git a/_locales/ro/messages.json b/_locales/ro/messages.json index 72a8f67b..55595eb6 100644 --- a/_locales/ro/messages.json +++ b/_locales/ro/messages.json @@ -1,1586 +1,866 @@ { - "addStyleTitle": { - "message": "Adăugați o temă", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacitate", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Adăugați", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Aplicabil pentru: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "mai mult", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs din domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Folosiți 'Aplicabil pentru' pentru a limita pe ce URLs va fi aplicată temă.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Aplicabil pentru", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Arată informații despre 'Aplicabil pentru'", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Nu funcționează cu CSS minimizat", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs găsite cu regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Ștergeți", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Nu se poate șterge 'aplicabil pentru'", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificați", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Totul", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL-uri începănd cu", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Aplicați toate update-urile", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Autor", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Selectați un fișier sau drag-and-drop aici", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportați teme", - "description": "" - }, - "checkAllUpdates": { - "message": "Verificați toate temele pentru update-uri", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Verifică iar, nu am modificat temele!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Verificați pentru update-uri", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Verficare...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click pentru dezinstalare", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Închideți automat parantezele și ghilimelele", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Închideți automat când deschizideți una dintre ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocompletare în timpul scrierii", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Alegere de culori pentru CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Folosiți tab-uri cu autoindentare", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Doar selecție", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token-ul de sub cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dublu click pentru a maximiza sau restaura înălțimea", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dublu-click pentru a selecta simbolurile", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exemple de simboluri: .foo-bar-2 #aabbcc 0.32 !important\nCand inactiv: cuvinte delimitate cu punctuatie sunt selectate.", - "description": "" - }, - "cm_smartIndent": { - "message": "Folosiți indentare inteligentă", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Mărimea tab-urilor", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Temă pentru cod", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Schimbați formatul: HEX -> RGB -> HSL.\nShift-click pentru inversarea direcției.\nDe asemenea cu PgUp (PageUp), PgDn (PageDown).", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Deschideți color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "la schimbare", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosalvare și aplicare a modificărilor automată", - "description": "" - }, - "configureStyle": { - "message": "Modificați", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Modificați pe pagina homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Folosiți default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Ștergeți", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Pierdeți modificările?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nu", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Salvați", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Da", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Data instalării", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Data updatării", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "O eroare în baza de date a apărut. Doriți să vizitați pagina web pentru o soluție?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Sunteți sigur că doriți să ștergeți această temă?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Ștergeți", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stilizați internetul cu Stylus, un manager de teme. Stylus vă permite să instalați cu ușurință teme pentru multe site-uri populare.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Dezactivați toate temele", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Dezactivați", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drag and drop backup-ul oriunde pentru import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Ștergeți", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Mergeți la linia", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Modificați tema", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Modificați", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Modificați tema $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Activați", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Link extern", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Suport", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentație pentru Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ vizualizabile din $numTotal$ ", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Filtrele aplicate nu au găsit nicio temă", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Găsiți teme", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Gasiți mai multe teme pentru acest site.", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Arătați rezultatele căutării în această pagină.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Adaugă", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clonează", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Dezactivat", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Activat", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Eroare", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historic", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Următor", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Precedent", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Resetați", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Salvat", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titlu", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Necunoscut", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Ajutor", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Tastați un nume de comandă", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Tastați o hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Concatenare la temă", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Concatenați tema importată la cea curentă", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Scrieți peste tema curentă", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Scrieți peste tema curentă conținutul temei importate", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "adăugat", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "cele identice au fost sărite", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "cele invalide au fost ignorate", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "meta info și codul au fost updatate", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "cod updatat", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "meta info updatată", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importul temelor finalizat", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nimic nu a fost schimbat.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "temele au fost înlocuite cu variantele precedente", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importarea a fost anulată", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Instalați tema", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Tema a fost instalată", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstalați tema", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Instalați update-uri", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Tema este updatată de la $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Verificați update-urile", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licență", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Găsiți ajutor", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Căutați teme", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Traduce", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint nu suportă preprocesorul $preprocessorname$ ", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Setați regula ca: 0 = dezactivat; 1 = avertisment; 2 = eroare)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Setați $linter$ pentru configurarea regulilor", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click pentru a configura linter-ul", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Nu a fost salvat din cauza acestor setări invalide:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Probleme", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Aceste probleme au fost găsite te $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Pentru a reveni la varianta precedentă, apăsați Ctrl-Z (sau Cmd-Z) în text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Vizualizați lista completă de reguli", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "A avut loc o eroare în timpul monitorizării acestui fișier", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons în coloana 'se aplică la'", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Hașurat", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus folosește un serviciu extern https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtre", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Teme instalate", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Numărul obiectelor la care se aplică", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "UI layout pentru mesajele noi", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Doar teme dezactivate", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Doar temele activate", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Doar teme externe", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Doar temele create local", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(temele neinstalate prin userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Doar teme non-Usercss", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Doar cu update-uri sau erori", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Doar teme Usercss", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Afișați numărul temelor active", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Nicio temă instalată pentru acest site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Managerul", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Deschideți managerul de teme", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Acțiuni", - "description": "" - }, - "optionsAdvanced": { - "message": "Avansat", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Adaugați 'Ștergeți' în meniul de click dreapta", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expuneți iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Scrieți temă nouă în formatul usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Culoare de fundal pentru modul inactiv", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Culoare de fundal", - "description": "" - }, - "optionsCheck": { - "message": "Updatați temele", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Verificați și instalează toate update-urile", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Bulinuța de pe iconița din toolbar", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Update-uri", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Opțiuni", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Teme întunecate pentru browser", - "description": "" - }, - "optionsIconLight": { - "message": "Teme albe pentru browser", - "description": "" - }, - "optionsOpen": { - "message": "Deschideți", - "description": "" - }, - "optionsOpenManager": { - "message": "Managerul de teme", - "description": "" - }, - "optionsPopupWidth": { - "message": "Mărimea ferestrei popup (în pixeli)", - "description": "" - }, - "optionsReset": { - "message": "Resetați opțiunile", - "description": "" - }, - "optionsResetButton": { - "message": "Resetați opțiunile", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Mai multe opțiuni", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "Atunci când sunt importate teme din backup-uri din versiuni mai vechi sau din Stylish, verifică upate-urile manual pentru a fi sigur că toate temele sunt la zi.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Intervalul de autoupdate în ore (0 pentru dezactivat)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Pagina curentă", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Număr estimat de pagini", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Pagina următoare", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Pagina precedentă", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Număr total de pagini", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus nu a putut analiza usercss-ul", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Adăugați bordură albă pe margini", - "description": "" - }, - "popupBordersTooltip": { - "message": "Folositor pentru teme întunecate in noul Chrome deoarece nu mai colorează bordurile", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, de asemenea îm numpad - activează/dezactivează tema numărul N (0 este 10)\n- activează/dezactivează prima temă cu un nume care începe cu o litera\n deschide editorul și nu activează/dezactivează ceva\n activează temele listate\n dezactiveaza temele listate\n și <`> (backtick) - activează/dezactivează temele activate inițial; nu se aplică altor teme activate când popup-ul este deschid pentru a permite restaurarea seleției inițiale pentru a permite testări; dezactivează tot, apoi activează/dezactivează, spre exemplu \nMai multe informații sunt avabile în wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click pentru a vedea hotkeys avabile", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click sau right-click pentru a deschide managerurl cu teme aplicabile site-ului curent", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Deschide editorul în alt window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Activ când tabul editorului este detașat de browser,\nși dezactivat când un singur tab cu editor este atașat la alt window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Temele înaintea comenzilor", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Numărul de teme active pentru site-ul curent", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Aplică temporar modificările fără a salva.\nSalvează tema pentru a face schimbările permanente.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Înlocuiți", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Înlocuiți tot", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Înlocuiți cu", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importați teme", - "description": "" - }, - "search": { - "message": "Căutați", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Număr de rezultate", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Număr de rezultate în cod și în 'aplicabil pentru'", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Folosiți sintaxă /re/ pentru căutare tip regexp", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Număr total de instalări", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Nicio tema găsită pentru acest site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updatate", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Instalări săptămânale", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Adăugați o altă secțiune", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Cod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Ștergeți secțiunea", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restaurează o secțiune ștearsă", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Creeați keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "cele mai noi la început", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "cel mai vechi la început", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Alegeți o sortare care să fie aplicată temelor instalate", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titlu crescător", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titlu descrescător", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Alegeți ce fel de sortare doriți să fie aplicată temelor instalate, din cadrul meniului dropdown. În mod implicit se aplică sortare alfabetică (A la Z) titlurilor temelor. Sortarea de tip \"Titlu descrescător\" va aplica sortare descrescătoare (Z la A) titlurilor.\nSunt alte presets care permit sortări după mai multe criterii. Este ca și cum ați sorta un tabel cu mai multe coloane iar fiecare categorie (între semnele +) reprezintă o coloană, sau un grup..\nSpre exemplu, dacă se alege \"Activată (prima) + Titlu\", atunci toate temele vor fi grupate astfel încât cele active sunt cap de listă, iar apoi temele sunt sortate alfabetic.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sortare conținut", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Înfrumusețați", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indentare @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Menține linii noi", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Înapoi la manager", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Ați modificat tema fără a o salva.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Activat", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Importul din formatul Mozilla eșuat", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste cod în format Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Instalați '$stylename$' în Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Instalarea temei eșuată!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' este deja instalată. Scrieți peste?\nVersiune: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Introduceți un nume", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Format Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Tema nu a fost aplicată din cauza incorectei aplicări a 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Unele reguli 'regexp()' care nu au putut fi compilate.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Această temă folosește regexp parțiale care încalcă specificațiile CSS4 @document care are nevoie de o potrivire regexp exactă. Părțile afectate de CSS nu au fost aplicate paginii. Cel mai probabil tema a fost creată în Stylish-for-Chrome care verifică incorect 'regexp()' de la prima sa versiune (bug cunoscut).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": " Numărul de secțiuni care nu au fost aplicate din cauza utilizării incorecte a 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Taburi găsite", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps au fost sărite", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Niciun tab nu se potrivește căutării", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Notă: folosiți \\ pentru ignorarea caracterelor speciale în regexp, care va fi transformat automat în \\\\ în codul temei, urmând specificațiile pentru text citat în CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Potrivire parțială, deci ignorată", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Listă cu taburi deschise care se potrivesc căutării (click URL pentru a activa tabul)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Salvați", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Formatul Mozilla al codului poate fi uploadat pe userstyles.org și folosit de clasicul Stylish pentru Firefox.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Scrieți în format Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Sunteți sigur că doriți să faceți update la '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Tema a fost modificată în afara editorului. Doriți să reâncărcați tema?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus nu funcționează în astfel de pagini.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Ca o măsură de securitate, browser-ul împiedică extensiile să afecteze paginile corespunzătoare browser-ului (precum chrome://version, adresa unui nou tab începând cu Chrome 61, about:addons, în Firefox etc) și de asemenea paginile altor extensii. De asemenea este restricționat accesul la galeriile de extensii (Chrome Web Store sau AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Valoarea nu a putut fi salvată. Încercați să reduceți dimensiunea textului.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Activați/Dezactivați tema", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo în toate secțiunile", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox împiedică accesul la site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Pentru a permite accesul deschideți , right-click pe listă, click 'New', apoi 'Boolean', paste și click OK, , OK, reâncărcați pagina .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "În Firefox 60+ va trebui sa fie șters domain-ul AMO din din .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Doar Firefox 59 sau mai nou poate fi configurat să permită WebExtension-urilor să adauge elemente la site-uri CSP-protected precum acesta.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Nu s-a putut comunica cu pagina. Reîncărcați tabul.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus poate accesa file:// URLs doar când este activată opțiunea respectivă din pagina cu setări chrome://extensions", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Niciun update găsit.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Unele teme care au update-uri nu au fost updatate pentru a nu pierde modificări locale. Update-urile pot fi forțate individual sau prin a reverifica update-urile pentru toate temele (modificările locale vor fi pierdute).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update eșuat: server-ul a răspuns cu acest cod $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update eșuat: server-ul nu este avabil.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historicul update-urilor", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Instalați update-urile (modificările locale vor fi șterse)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Update-ul forțat va șterge toate modificările locale.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Tema a fost editată local.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Tema poate a fost modificată local.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Tema este cu update-urile la zi.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update realizat.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Update-uri instalate:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Vă rugăm să modificați valoarea @name și @namespace pentru a împiedica scrierea peste o temă existentă.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Tema a fost updatată sau ștearsă după ce configurațiile au fost afișate. Aceste variabile nu au fost salvate pentru a nu corupe metadata temei.", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specificați @name", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Înlocuiți tema de bază a formatului Usercss cu acest cod?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "@name este gol și înlocuiețte valoarea de bază", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Introduce cod aici...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Versiunea este mai veche decât cea instalată.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Scrieți temă pentru: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "acest URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Scrieți o temă nouă", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Scrieți o temă nouă" + }, + "addStyleTitle": { + "message": "Adăugați o temă" + }, + "alphaChannel": { + "message": "Opacitate" + }, + "appliesAdd": { + "message": "Adăugați" + }, + "appliesDisplay": { + "message": "Aplicabil pentru: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "mai mult" + }, + "appliesDomainOption": { + "message": "URLs din domain" + }, + "appliesHelp": { + "message": "Folosiți 'Aplicabil pentru' pentru a limita pe ce URLs va fi aplicată temă." + }, + "appliesLabel": { + "message": "Aplicabil pentru" + }, + "appliesLineWidgetLabel": { + "message": "Arată informații despre 'Aplicabil pentru'" + }, + "appliesLineWidgetWarning": { + "message": "Nu funcționează cu CSS minimizat" + }, + "appliesRegexpOption": { + "message": "URLs găsite cu regexp" + }, + "appliesRemove": { + "message": "Ștergeți" + }, + "appliesRemoveError": { + "message": "Nu se poate șterge 'aplicabil pentru'" + }, + "appliesSpecify": { + "message": "Specificați" + }, + "appliesToEverything": { + "message": "Totul" + }, + "appliesUrlPrefixOption": { + "message": "URL-uri începănd cu" + }, + "applyAllUpdates": { + "message": "Aplicați toate update-urile" + }, + "author": { + "message": "Autor" + }, + "backupMessage": { + "message": "Selectați un fișier sau drag-and-drop aici" + }, + "bckpInstStyles": { + "message": "Exportați teme" + }, + "checkAllUpdates": { + "message": "Verificați toate temele pentru update-uri" + }, + "checkAllUpdatesForce": { + "message": "Verifică iar, nu am modificat temele!" + }, + "checkForUpdate": { + "message": "Verificați pentru update-uri" + }, + "checkingForUpdate": { + "message": "Verficare..." + }, + "clickToUninstall": { + "message": "Click pentru dezinstalare" + }, + "cm_autoCloseBrackets": { + "message": "Închideți automat parantezele și ghilimelele" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Închideți automat când deschizideți una dintre ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Autocompletare în timpul scrierii" + }, + "cm_colorpicker": { + "message": "Alegere de culori pentru CSS" + }, + "cm_indentWithTabs": { + "message": "Folosiți tab-uri cu autoindentare" + }, + "cm_matchHighlightSelection": { + "message": "Doar selecție" + }, + "cm_matchHighlightToken": { + "message": "Token-ul de sub cursor" + }, + "cm_resizeGripHint": { + "message": "Dublu click pentru a maximiza sau restaura înălțimea" + }, + "cm_selectByTokens": { + "message": "Dublu-click pentru a selecta simbolurile" + }, + "cm_selectByTokensTooltip": { + "message": "Exemple de simboluri: .foo-bar-2 #aabbcc 0.32 !important\nCand inactiv: cuvinte delimitate cu punctuatie sunt selectate." + }, + "cm_smartIndent": { + "message": "Folosiți indentare inteligentă" + }, + "cm_tabSize": { + "message": "Mărimea tab-urilor" + }, + "cm_theme": { + "message": "Temă pentru cod" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Schimbați formatul: HEX -> RGB -> HSL.\nShift-click pentru inversarea direcției.\nDe asemenea cu PgUp (PageUp), PgDn (PageDown)." + }, + "colorpickerTooltip": { + "message": "Deschideți color picker" + }, + "configOnChange": { + "message": "la schimbare" + }, + "configOnChangeTooltip": { + "message": "Autosalvare și aplicare a modificărilor automată" + }, + "configureStyle": { + "message": "Modificați" + }, + "configureStyleOnHomepage": { + "message": "Modificați pe pagina homepage" + }, + "confirmDefault": { + "message": "Folosiți default" + }, + "confirmDelete": { + "message": "Ștergeți" + }, + "confirmDiscardChanges": { + "message": "Pierdeți modificările?" + }, + "confirmNo": { + "message": "Nu" + }, + "confirmSave": { + "message": "Salvați" + }, + "confirmYes": { + "message": "Da" + }, + "dateInstalled": { + "message": "Data instalării" + }, + "dateUpdated": { + "message": "Data updatării" + }, + "dbError": { + "message": "O eroare în baza de date a apărut. Doriți să vizitați pagina web pentru o soluție?" + }, + "deleteStyleConfirm": { + "message": "Sunteți sigur că doriți să ștergeți această temă?" + }, + "deleteStyleLabel": { + "message": "Ștergeți" + }, + "description": { + "message": "Stilizați internetul cu Stylus, un manager de teme. Stylus vă permite să instalați cu ușurință teme pentru multe site-uri populare." + }, + "disableAllStyles": { + "message": "Dezactivați toate temele" + }, + "disableStyleLabel": { + "message": "Dezactivați" + }, + "dragDropMessage": { + "message": "Drag and drop backup-ul oriunde pentru import." + }, + "editDeleteText": { + "message": "Ștergeți" + }, + "editGotoLine": { + "message": "Mergeți la linia" + }, + "editStyleHeading": { + "message": "Modificați tema" + }, + "editStyleLabel": { + "message": "Modificați" + }, + "editStyleTitle": { + "message": "Modificați tema $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Activați" + }, + "externalLink": { + "message": "Link extern" + }, + "externalSupport": { + "message": "Suport" + }, + "externalUsercssDocument": { + "message": "Documentație pentru Usercss" + }, + "filteredStyles": { + "message": "$numShown$ vizualizabile din $numTotal$ ", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Filtrele aplicate nu au găsit nicio temă" + }, + "findStyles": { + "message": "Găsiți teme" + }, + "findStylesForSite": { + "message": "Gasiți mai multe teme pentru acest site." + }, + "findStylesInlineTooltip": { + "message": "Arătați rezultatele căutării în această pagină." + }, + "genericAdd": { + "message": "Adaugă" + }, + "genericClone": { + "message": "Clonează" + }, + "genericDisabledLabel": { + "message": "Dezactivat" + }, + "genericEnabledLabel": { + "message": "Activat" + }, + "genericError": { + "message": "Eroare" + }, + "genericHistoryLabel": { + "message": "Historic" + }, + "genericNext": { + "message": "Următor" + }, + "genericPrevious": { + "message": "Precedent" + }, + "genericResetLabel": { + "message": "Resetați" + }, + "genericSavedMessage": { + "message": "Salvat" + }, + "genericTitle": { + "message": "Titlu" + }, + "genericUnknown": { + "message": "Necunoscut" + }, + "helpAlt": { + "message": "Ajutor" + }, + "helpKeyMapCommand": { + "message": "Tastați un nume de comandă" + }, + "helpKeyMapHotkey": { + "message": "Tastați o hotkey" + }, + "importAppendLabel": { + "message": "Concatenare la temă" + }, + "importAppendTooltip": { + "message": "Concatenați tema importată la cea curentă" + }, + "importReplaceLabel": { + "message": "Scrieți peste tema curentă" + }, + "importReplaceTooltip": { + "message": "Scrieți peste tema curentă conținutul temei importate" + }, + "importReportLegendAdded": { + "message": "adăugat" + }, + "importReportLegendIdentical": { + "message": "cele identice au fost sărite" + }, + "importReportLegendInvalid": { + "message": "cele invalide au fost ignorate" + }, + "importReportLegendUpdatedBoth": { + "message": "meta info și codul au fost updatate" + }, + "importReportLegendUpdatedCode": { + "message": "cod updatat" + }, + "importReportLegendUpdatedMeta": { + "message": "meta info updatată" + }, + "importReportTitle": { + "message": "Importul temelor finalizat" + }, + "importReportUnchanged": { + "message": "Nimic nu a fost schimbat." + }, + "importReportUndone": { + "message": "temele au fost înlocuite cu variantele precedente" + }, + "importReportUndoneTitle": { + "message": "Importarea a fost anulată" + }, + "installButton": { + "message": "Instalați tema" + }, + "installButtonInstalled": { + "message": "Tema a fost instalată" + }, + "installButtonReinstall": { + "message": "Reinstalați tema" + }, + "installUpdate": { + "message": "Instalați update-uri" + }, + "installUpdateFrom": { + "message": "Tema este updatată de la $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Verificați update-urile" + }, + "license": { + "message": "Licență" + }, + "linkGetHelp": { + "message": "Găsiți ajutor" + }, + "linkGetStyles": { + "message": "Căutați teme" + }, + "linkTranslate": { + "message": "Traduce" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint nu suportă preprocesorul $preprocessorname$ ", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Setați regula ca: 0 = dezactivat; 1 = avertisment; 2 = eroare)" + }, + "linterConfigPopupTitle": { + "message": "Setați $linter$ pentru configurarea regulilor", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Click pentru a configura linter-ul" + }, + "linterInvalidConfigError": { + "message": "Nu a fost salvat din cauza acestor setări invalide:" + }, + "linterIssues": { + "message": "Probleme" + }, + "linterIssuesHelp": { + "message": "Aceste probleme au fost găsite te $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterResetMessage": { + "message": "Pentru a reveni la varianta precedentă, apăsați Ctrl-Z (sau Cmd-Z) în text box" + }, + "linterRulesLink": { + "message": "Vizualizați lista completă de reguli" + }, + "liveReloadError": { + "message": "A avut loc o eroare în timpul monitorizării acestui fișier" + }, + "manageFavicons": { + "message": "Favicons în coloana 'se aplică la'" + }, + "manageFaviconsGray": { + "message": "Hașurat" + }, + "manageFaviconsHelp": { + "message": "Stylus folosește un serviciu extern https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filtre" + }, + "manageHeading": { + "message": "Teme instalate" + }, + "manageMaxTargets": { + "message": "Numărul obiectelor la care se aplică" + }, + "manageNewUI": { + "message": "UI layout pentru mesajele noi" + }, + "manageOnlyDisabled": { + "message": "Doar teme dezactivate" + }, + "manageOnlyEnabled": { + "message": "Doar temele activate" + }, + "manageOnlyExternal": { + "message": "Doar teme externe" + }, + "manageOnlyLocal": { + "message": "Doar temele create local" + }, + "manageOnlyLocalTooltip": { + "message": "(temele neinstalate prin userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Doar teme non-Usercss" + }, + "manageOnlyUpdates": { + "message": "Doar cu update-uri sau erori" + }, + "manageOnlyUsercss": { + "message": "Doar teme Usercss" + }, + "menuShowBadge": { + "message": "Afișați numărul temelor active" + }, + "noStylesForSite": { + "message": "Nicio temă instalată pentru acest site." + }, + "openManage": { + "message": "Managerul" + }, + "openStylesManager": { + "message": "Deschideți managerul de teme" + }, + "optionsActions": { + "message": "Acțiuni" + }, + "optionsAdvanced": { + "message": "Avansat" + }, + "optionsAdvancedContextDelete": { + "message": "Adaugați 'Ștergeți' în meniul de click dreapta" + }, + "optionsAdvancedExposeIframes": { + "message": "Expuneți iframes via HTML[stylus-iframe]" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Scrieți temă nouă în formatul usercss" + }, + "optionsBadgeDisabled": { + "message": "Culoare de fundal pentru modul inactiv" + }, + "optionsBadgeNormal": { + "message": "Culoare de fundal" + }, + "optionsCheck": { + "message": "Updatați temele" + }, + "optionsCheckUpdate": { + "message": "Verificați și instalează toate update-urile" + }, + "optionsCustomizeBadge": { + "message": "Bulinuța de pe iconița din toolbar" + }, + "optionsCustomizeUpdate": { + "message": "Update-uri" + }, + "optionsHeading": { + "message": "Opțiuni" + }, + "optionsIconDark": { + "message": "Teme întunecate pentru browser" + }, + "optionsIconLight": { + "message": "Teme albe pentru browser" + }, + "optionsOpen": { + "message": "Deschideți" + }, + "optionsOpenManager": { + "message": "Managerul de teme" + }, + "optionsPopupWidth": { + "message": "Mărimea ferestrei popup (în pixeli)" + }, + "optionsReset": { + "message": "Resetați opțiunile" + }, + "optionsResetButton": { + "message": "Resetați opțiunile" + }, + "optionsSubheading": { + "message": "Mai multe opțiuni" + }, + "optionsUpdateImportNote": { + "message": "Atunci când sunt importate teme din backup-uri din versiuni mai vechi sau din Stylish, verifică upate-urile manual pentru a fi sigur că toate temele sunt la zi." + }, + "optionsUpdateInterval": { + "message": "Intervalul de autoupdate în ore (0 pentru dezactivat)" + }, + "paginationCurrent": { + "message": "Pagina curentă" + }, + "paginationEstimated": { + "message": "Număr estimat de pagini" + }, + "paginationNext": { + "message": "Pagina următoare" + }, + "paginationPrevious": { + "message": "Pagina precedentă" + }, + "paginationTotal": { + "message": "Număr total de pagini" + }, + "parseUsercssError": { + "message": "Stylus nu a putut analiza usercss-ul" + }, + "popupBorders": { + "message": "Adăugați bordură albă pe margini" + }, + "popupBordersTooltip": { + "message": "Folositor pentru teme întunecate in noul Chrome deoarece nu mai colorează bordurile" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, de asemenea îm numpad - activează/dezactivează tema numărul N (0 este 10)\n- activează/dezactivează prima temă cu un nume care începe cu o litera\n deschide editorul și nu activează/dezactivează ceva\n activează temele listate\n dezactiveaza temele listate\n și <`> (backtick) - activează/dezactivează temele activate inițial; nu se aplică altor teme activate când popup-ul este deschid pentru a permite restaurarea seleției inițiale pentru a permite testări; dezactivează tot, apoi activează/dezactivează, spre exemplu \nMai multe informații sunt avabile în wiki" + }, + "popupHotkeysTooltip": { + "message": "Click pentru a vedea hotkeys avabile" + }, + "popupManageTooltip": { + "message": "Shift-click sau right-click pentru a deschide managerurl cu teme aplicabile site-ului curent" + }, + "popupOpenEditInWindow": { + "message": "Deschide editorul în alt window" + }, + "popupOpenEditInWindowTooltip": { + "message": "Activ când tabul editorului este detașat de browser,\nși dezactivat când un singur tab cu editor este atașat la alt window." + }, + "popupStylesFirst": { + "message": "Temele înaintea comenzilor" + }, + "prefShowBadge": { + "message": "Numărul de teme active pentru site-ul curent" + }, + "previewTooltip": { + "message": "Aplică temporar modificările fără a salva.\nSalvează tema pentru a face schimbările permanente." + }, + "replace": { + "message": "Înlocuiți" + }, + "replaceAll": { + "message": "Înlocuiți tot" + }, + "replaceWith": { + "message": "Înlocuiți cu" + }, + "retrieveBckp": { + "message": "Importați teme" + }, + "search": { + "message": "Căutați" + }, + "searchNumberOfResults": { + "message": "Număr de rezultate" + }, + "searchNumberOfResults2": { + "message": "Număr de rezultate în cod și în 'aplicabil pentru'" + }, + "searchRegexp": { + "message": "Folosiți sintaxă /re/ pentru căutare tip regexp" + }, + "searchResultInstallCount": { + "message": "Număr total de instalări" + }, + "searchResultNoneFound": { + "message": "Nicio tema găsită pentru acest site." + }, + "searchResultUpdated": { + "message": "Updatate" + }, + "searchResultWeeklyCount": { + "message": "Instalări săptămânale" + }, + "sectionAdd": { + "message": "Adăugați o altă secțiune" + }, + "sectionCode": { + "message": "Cod" + }, + "sectionRemove": { + "message": "Ștergeți secțiunea" + }, + "sectionRestore": { + "message": "Restaurează o secțiune ștearsă" + }, + "shortcutsNote": { + "message": "Creeați keyboard shortcuts" + }, + "sortDateNewestFirst": { + "message": "cele mai noi la început" + }, + "sortDateOldestFirst": { + "message": "cel mai vechi la început" + }, + "sortLabel": { + "message": "Alegeți o sortare care să fie aplicată temelor instalate" + }, + "sortLabelTitleAsc": { + "message": "Titlu crescător" + }, + "sortLabelTitleDesc": { + "message": "Titlu descrescător" + }, + "sortStylesHelp": { + "message": "Alegeți ce fel de sortare doriți să fie aplicată temelor instalate, din cadrul meniului dropdown. În mod implicit se aplică sortare alfabetică (A la Z) titlurilor temelor. Sortarea de tip \"Titlu descrescător\" va aplica sortare descrescătoare (Z la A) titlurilor.\nSunt alte presets care permit sortări după mai multe criterii. Este ca și cum ați sorta un tabel cu mai multe coloane iar fiecare categorie (între semnele +) reprezintă o coloană, sau un grup..\nSpre exemplu, dacă se alege \"Activată (prima) + Titlu\", atunci toate temele vor fi grupate astfel încât cele active sunt cap de listă, iar apoi temele sunt sortate alfabetic." + }, + "sortStylesHelpTitle": { + "message": "Sortare conținut" + }, + "styleBadRegexp": { + "message": "Regexp invalid." + }, + "styleBeautify": { + "message": "Înfrumusețați" + }, + "styleBeautifyIndentConditional": { + "message": "Indentare @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Menține linii noi" + }, + "styleCancelEditLabel": { + "message": "Înapoi la manager" + }, + "styleChangesNotSaved": { + "message": "Ați modificat tema fără a o salva." + }, + "styleEnabledLabel": { + "message": "Activat" + }, + "styleFromMozillaFormatError": { + "message": "Importul din formatul Mozilla eșuat" + }, + "styleFromMozillaFormatPrompt": { + "message": "Paste cod în format Mozilla" + }, + "styleInstall": { + "message": "Instalați '$stylename$' în Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Instalarea temei eșuată!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' este deja instalată. Scrieți peste?\nVersiune: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Introduceți un nume" + }, + "styleMozillaFormatHeading": { + "message": "Format Mozilla" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Tema nu a fost aplicată din cauza incorectei aplicări a 'regexp()'" + }, + "styleRegexpInvalidExplanation": { + "message": "Unele reguli 'regexp()' care nu au putut fi compilate." + }, + "styleRegexpPartialExplanation": { + "message": "Această temă folosește regexp parțiale care încalcă specificațiile CSS4 @document care are nevoie de o potrivire regexp exactă. Părțile afectate de CSS nu au fost aplicate paginii. Cel mai probabil tema a fost creată în Stylish-for-Chrome care verifică incorect 'regexp()' de la prima sa versiune (bug cunoscut)." + }, + "styleRegexpProblemTooltip": { + "message": " Numărul de secțiuni care nu au fost aplicate din cauza utilizării incorecte a 'regexp()'" + }, + "styleRegexpTestFull": { + "message": "Taburi găsite" + }, + "styleRegexpTestInvalid": { + "message": "Invalid regexps au fost sărite" + }, + "styleRegexpTestNone": { + "message": "Niciun tab nu se potrivește căutării" + }, + "styleRegexpTestNote": { + "message": "Notă: folosiți \\ pentru ignorarea caracterelor speciale în regexp, care va fi transformat automat în \\\\ în codul temei, urmând specificațiile pentru text citat în CSS." + }, + "styleRegexpTestPartial": { + "message": "Potrivire parțială, deci ignorată" + }, + "styleRegexpTestTitle": { + "message": "Listă cu taburi deschise care se potrivesc căutării (click URL pentru a activa tabul)" + }, + "styleSaveLabel": { + "message": "Salvați" + }, + "styleToMozillaFormatHelp": { + "message": "Formatul Mozilla al codului poate fi uploadat pe userstyles.org și folosit de clasicul Stylish pentru Firefox." + }, + "styleToMozillaFormatTitle": { + "message": "Scrieți în format Mozilla" + }, + "styleUpdate": { + "message": "Sunteți sigur că doriți să faceți update la '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Tema a fost modificată în afara editorului. Doriți să reâncărcați tema?" + }, + "stylusUnavailableForURL": { + "message": "Stylus nu funcționează în astfel de pagini." + }, + "stylusUnavailableForURLdetails": { + "message": "Ca o măsură de securitate, browser-ul împiedică extensiile să afecteze paginile corespunzătoare browser-ului (precum chrome://version, adresa unui nou tab începând cu Chrome 61, about:addons, în Firefox etc) și de asemenea paginile altor extensii. De asemenea este restricționat accesul la galeriile de extensii (Chrome Web Store sau AMO)." + }, + "syncStorageErrorSaving": { + "message": "Valoarea nu a putut fi salvată. Încercați să reduceți dimensiunea textului." + }, + "toggleStyle": { + "message": "Activați/Dezactivați tema" + }, + "undoGlobal": { + "message": "Undo în toate secțiunile" + }, + "unreachableAMO": { + "message": "Firefox împiedică accesul la site." + }, + "unreachableAMOHint": { + "message": "Pentru a permite accesul deschideți , right-click pe listă, click 'New', apoi 'Boolean', paste și click OK, , OK, reâncărcați pagina ." + }, + "unreachableAMOHintNewFF": { + "message": "În Firefox 60+ va trebui sa fie șters domain-ul AMO din din ." + }, + "unreachableAMOHintOldFF": { + "message": "Doar Firefox 59 sau mai nou poate fi configurat să permită WebExtension-urilor să adauge elemente la site-uri CSP-protected precum acesta." + }, + "unreachableContentScript": { + "message": "Nu s-a putut comunica cu pagina. Reîncărcați tabul." + }, + "unreachableFileHint": { + "message": "Stylus poate accesa file:// URLs doar când este activată opțiunea respectivă din pagina cu setări chrome://extensions" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Niciun update găsit." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Unele teme care au update-uri nu au fost updatate pentru a nu pierde modificări locale. Update-urile pot fi forțate individual sau prin a reverifica update-urile pentru toate temele (modificările locale vor fi pierdute)." + }, + "updateCheckFailBadResponseCode": { + "message": "Update eșuat: server-ul a răspuns cu acest cod $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Update eșuat: server-ul nu este avabil." + }, + "updateCheckHistory": { + "message": "Historicul update-urilor" + }, + "updateCheckManualUpdateForce": { + "message": "Instalați update-urile (modificările locale vor fi șterse)" + }, + "updateCheckManualUpdateHint": { + "message": "Update-ul forțat va șterge toate modificările locale." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Tema a fost editată local." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Tema poate a fost modificată local." + }, + "updateCheckSucceededNoUpdate": { + "message": "Tema este cu update-urile la zi." + }, + "updateCompleted": { + "message": "Update realizat." + }, + "updatesCurrentlyInstalled": { + "message": "Update-uri instalate:" + }, + "usercssAvoidOverwriting": { + "message": "Vă rugăm să modificați valoarea @name și @namespace pentru a împiedica scrierea peste o temă existentă." + }, + "usercssConfigIncomplete": { + "message": "Tema a fost updatată sau ștearsă după ce configurațiile au fost afișate. Aceste variabile nu au fost salvate pentru a nu corupe metadata temei." + }, + "usercssEditorNamePlaceholder": { + "message": "Specificați @name" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Înlocuiți tema de bază a formatului Usercss cu acest cod?" + }, + "usercssReplaceTemplateName": { + "message": "@name este gol și înlocuiețte valoarea de bază" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Introduce cod aici..." + }, + "versionInvalidOlder": { + "message": "Versiunea este mai veche decât cea instalată." + }, + "writeStyleFor": { + "message": "Scrieți temă pentru: " + }, + "writeStyleForURL": { + "message": "acest URL" + } +} diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index d2216db5..e4d2b1de 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -1,1586 +1,1272 @@ { - "addStyleTitle": { - "message": "Добавление стиля", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Прозрачность", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Добавить", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Применить к: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "и другие", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URL в домене", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Чтобы указать, к каким URL относится код в этом разделе, воспользуйтесь параметром \"Применить к\".", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Применить к:", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Показать целевые сайты секций", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Не работает с минифицированным CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URL, соответствующим регулярному выражению", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Удалить", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Нельзя удалить последний элемент", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Указать", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Все", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URL, начинающимся с", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Применить все обновления", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Автор", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Резервное копирование", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Нажмите Импорт чтобы выбрать файл или просто перетащите его на эту страницу", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Экспорт стилей", - "description": "" - }, - "checkAllUpdates": { - "message": "Найти обновления всех стилей", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Я не менял стили, проверить заново!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Проверить обновление", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверка…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Нажмите, чтобы удалить стиль", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Закрывать скобки/кавычки при наборе", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Автоматически вставлять закрывающий символ при наборе открывающего из ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Подсказки при наборе кода", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Раскрашивать цвета в CSS", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Умные отступы при помощи табуляции", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Раскладка", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Перенос по словам", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Проверка CSS", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Подсветка", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Выделенный текст", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Элемент под курсором", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Двойной клик = переключить максимальный размер", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Двойной клик выделяет лексемы", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Образцы лексем: .foo-bar-2 #aabbcc 0.32 !important\nПри выключении: выделение по знакам препинания т.е. по словам.", - "description": "" - }, - "cm_smartIndent": { - "message": "Умные отступы", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Размер табуляции", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Сменить формат: #FFF -> RGB -> HSL.\nКлик с Shift меняет в обратном направлении.\nТакже клавишами PgUp, PgDn (\"Страница вверх\" и \"Страница вниз\").", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Изменить цвет", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "сразу", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Сохранять и применять изменения автоматически", - "description": "" - }, - "configureStyle": { - "message": "Настроить", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Настроить на домашней странице", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Отмена", - "description": "" - }, - "confirmClose": { - "message": "Закрыть", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "По умолчанию", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Удалить", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Отказаться от изменений?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Нет", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "ОК", - "description": "" - }, - "confirmSave": { - "message": "Сохранить", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Стоп", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Скопировано в буфер обмена", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Скопировать в буфер обмена", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Дата установки", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Дата обновления", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Возникла ошибка доступа к базе данных Stylus. Хотите перейти на страницу с возможными способами решения?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "по-умолчанию", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Удалить этот стиль?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Удалить", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Настраивайте стили веб-сайтов с помощью менеджера стилей Stylus. Он позволяет легко установить темы и изменить внешний вид сайтов Google, Facebook, YouTube, Orkut и множества других веб-страниц.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Выключить все стили", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Отключить", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Перетащите файл с резервной копией стилей в любое место этой страницы, чтобы импортировать его.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Чтобы установить файл, поместите его на вкладку (область, где отображаются заголовки вкладок).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Удалить", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Перейти к строке (или строке:колонке)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Изменение стиля", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Изменить", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Изменение стиля \"$stylename$\"", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Включить", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Исключить текущий домен", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Исключить текущий URL", - "description": "" - }, - "exportLabel": { - "message": "Экспорт", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Отзывы", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Домашняя страницы", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Внешняя ссылка", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Поддержка", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Документация по usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "найдено $numShown$ из $numTotal$всего", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Примененные фильтры не соответствуют ни одному стилю", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Найти стили", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Найти еще стили для этого веб-сайта", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "и показать здесь", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Показывать найденные стили в этом окне.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Добавить", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Клонировать", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Отключен", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Активные", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Ошибка", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "История", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Следующий", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Предыдущий", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Сброс", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Сохранено", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Имя", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Неизвестно", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Справка", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Введите имя команды", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Нажмите клавишу", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Этот хост был отключен из-за ошибки в текущей версии используемого браузера", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Добавить к стилю", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Добавить импортируемый стиль к редактируемому", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Импорт", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Заменить стиль", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Удалить содержимое редактируемого стиля и заменить его на импортируемый стиль", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "добавлено", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "идентичные пропущены", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "некорректных пропущено", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "обновлены мета-данные и код", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "обновлен код", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "обновлены мета-данные", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Импорт стилей завершен", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Ничего не изменилось.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "восстановленных стилей", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Откат импорта завершен", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Установить стиль", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Стиль установлен", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Переустановить стиль", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Обновить стиль", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Установить обновление", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Источник обновления стиля: $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Проверить обновления", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Лицензия", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Помощь", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Скачать стили", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Инфо", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Перевод", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint не поддерживает препроцессор $preprocessorname$", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(значения: 0 = выключить, 1 = предупреждение; 2 = ошибка)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Установить конфиграцию правил $linter$", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Настроить проверку CSS", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Не сохранено из-за неправильных настроек ниже:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Проблемы", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Проблемы, найденные правилами $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Ошибка формата JSON", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "Для отмены случайного сброса нажмите Ctrl-Z (или Cmd-Z) в окне ввода", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Открыть полный список правил", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Ошибка слежения за файлом", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Держите эту вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Оставьте эту вкладку и исходную вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Автозагрузка изменений", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Пиктограммы для целевых сайтов", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Обесцвечивать", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Используется сторонний сервис https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Фильтры", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Менеджер стилей", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Кол-во целевых сайтов/выражений", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "в виде Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Новый интерфейс", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Только неактивные стили", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Только включенные стили", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Только сторонние стили", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Только локально созданные стили", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(т.е. стили, не установленные посредством сайта userstyles.org)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Спрятать Usercss стили", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Только обновляемые и проблемные", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Только Usercss стили", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Число активных стилей", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Неверный флажок @var: значение должно быть 0 или 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Неверный цвет @var: $color$ это не цвет", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Неверный @var$type$: значение должно быть числом или массивом ", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Неверный @var $type$: несколько единиц определены", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Неверный @var $type$: массив содержит слишком много элементов", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Неверный @var $type$: элементы в массиве должны быть числом, строкой или нулем", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Неверный @var $type$: значение по умолчанию равно нулю", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Неверный @var $type$: значение по умолчанию ниже минимального", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Неверный @var $type$: значение по умолчанию больше максимального", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Неверный @var $type$: значение по умолчанию не является кратным шага", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Неверный @var $type$: '$units$' не является действительной единицей", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Неверный @var select: значением по умолчанию должен быть массив или объект", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Неверный @var select: значения внутри массива/объекта должны быть строкой", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Неверный @var select: список опций пуст", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Неверный @var select: ярлык опции пуст", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Неверный @var select: определены несколько параметров по умолчанию", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Неверный @var select: имя опции дублируется", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Неверный @var select: значение не существует в списке опций", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Неверный протокол URL. Разрешены только http и https: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Неверный номер версии. Значение не соответствует шаблону SemVer: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Ожидание числа", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Ожидание строки в кавычках", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Ожидание слова", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Ожидание символа: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Ожидание данной EOT", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Отсутствуют обязательные метаданные: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Неверный JSON: $literal$ не является допустимым литералом JSON", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Неизвестные метаданные: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Неизвестый @$varkey$ тип: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Неизвестный @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Для этого веб-сайта не установлено ни одного стиля.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Менеджер", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Опции", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Менеджер стилей", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Другие действия", - "description": "" - }, - "optionsAdvanced": { - "message": "Другое", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Показывать команду \"Удалить\" в контекстном меню редактора", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Выявлять iframe путем добавления HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Выставляет верхний домен сайта в каждом iframe.\nПозволяет писать iframe-specific CSS следующим образом:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Создавать стили в формате usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Цвет фона в неактивном состоянии", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Цвет фона", - "description": "" - }, - "optionsCheck": { - "message": "Обновить стили", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Найти и установить обновления стилей", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Бейдж на пиктограмме в тулбаре", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Значок в панели", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Всплывающее окно", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Обновления", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Синхронизация с облаком", - "description": "" - }, - "optionsHeading": { - "message": "Настройки", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Тёмный интерфейс браузера", - "description": "" - }, - "optionsIconLight": { - "message": "Светлый интерфейс браузера", - "description": "" - }, - "optionsOpen": { - "message": "Открыть", - "description": "" - }, - "optionsOpenManager": { - "message": "Менеджер стилей", - "description": "" - }, - "optionsPopupWidth": { - "message": "Ширина всплывающего окна (в пикселах)", - "description": "" - }, - "optionsReset": { - "message": "Сброс настроек к значениям по-умолчанию", - "description": "" - }, - "optionsResetButton": { - "message": "Сброс настроек", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Дополнительно", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "После импорта базы стилей из старой версии или из Stylish запустите проверку на обновления из менеджера стилей, чтобы удостовериться в обновлении всех стилей.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Интервал обновления стилей, в часах (укажите 0 для выключения)", - "description": "" - }, - "optionsSyncNone": { - "message": "Ничего", - "description": "" - }, - "optionsSyncConnect": { - "message": "Подключить", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Отсоединить", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Синхронизировать", - "description": "" - }, - "optionsSyncLogin": { - "message": "Логин", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Загружено стилей $loaded$ из $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Загружено стилей $loaded$ из $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Синхронизация", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Подключение…", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Подключено", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Отсоединение…", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Отсоединено", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Текущая страница", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Предположительное количество страниц", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Следующая страница", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Предыдущая страница", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Всего страниц", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus не смог распарсить usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Сортировать стили после переключения", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Добавить белый бордюр по бокам", - "description": "" - }, - "popupBordersTooltip": { - "message": "Полезно для темных тем оформления т.к. новый Chrome не рисует боковые бордюры", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, и цифровой блок - переключает стиль по номеру (0 это 10)\n- переключает стиль начинающийся с нажатой буквы\n открывает в редакторе вместо переключения\n включает стили в списке\n выключает стили в списке\n и <`> (обратный апостроф) - переключает изначально включенные стили вне зависимости от последующего переключения других ранее не включенных стилей, так что можно потестировать и восстановить исходный список нажав \nПодробнее на вики.", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Показать клавиатурные сочетания", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-клик или правый клик откроет менеджер с стилями только для этого сайта.", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Меню действий", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Открывать редактор в новом окне", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Также включается вытаскиванием вкладки из окна браузера\nи выключается перетаскиванием вкладки в другое окно браузера.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Список стилей сверху", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Показывать количество активных стилей для открытого сайта", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Предпросмотр", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Временно применяет стиль пока вы его редактируете.\nСохраните стиль, чтобы сделать изменения постоянными.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Перезагрузить расширение Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "Заменить", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Заменить все", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Заменить на", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Импорт стилей", - "description": "" - }, - "search": { - "message": "Искать", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Учитывать регистр букв", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Количество совпадений", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Количество совпадений в коде и целевых сайтах", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Используйте нотацию /re/ для поиска регулярными выражениями", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Всего загрузок", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Стилей для сайта не найдено.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Рейтинг", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Обновлен", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Загрузок за неделю", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Добавить раздел", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Код", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Удалить раздел", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Восстановить удаленный раздел", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Клавиши", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Назначить клавишу", - "description": "" - }, - "sortDateNewestFirst": { - "message": "новые сверху", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "старые сверху", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Порядок сортировки списка стилей", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Название в алфавитном порядке", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Название в обратном порядке", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Эта настройка позволяет выбрать порядок сортировки списка стилей. По умолчанию названия выводятся в алфавитном порядке. Можно выбрать обратный порядок.\nТакже можно выбрать составной критерий сортировки – отдельные критерии разделены знаком \"+\" и ведут себя примерно как колонки в таблице.\nНапример, при выборе «Активные + Имя» все активные стили будут сгруппированы вверху списка, неактивные внизу, а внутри каждой группы строки будут отсортированы по имени.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Сортировка", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Ошибка в регулярном выражении.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Причесать", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Отступ внутри @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Беречь пустые строки", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Все стили", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Вы изменили этот стиль, но не сохранили его.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Включено", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Ошибка импорта формата Mozilla", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Вставьте содержимое стиля в формате Mozilla", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Установить \"$stylename$\" в Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Ошибка установки стиля!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' уже установлен. Обновить?\nВерсии: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Введите название", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Формат Mozilla", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Стиль не был применен из-за некорректного regexp()", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Некоторые 'regexp()' выражения не удалось скомпилировать.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "В стиле используются regexp-выражения, которые соответствуют лишь части адреса, что нарушает спецификацию CSS4 @document, требующую соответствия всего адреса целиком. Секции стиля с такими regexp не были применены к странице. Вероятно, этот стиль был создан в \"Stylish для Chrome\", который некорректно проверяет regexp (известный баг).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Кол-во пропущенных секций из-за неправильного regexp()", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "Тест регулярки", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Соответствующие вкладки", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Пропущены некомпилируемые регулярки", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Нет соответствующих вкладок", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Полезная информация: используйте одиночный \\ в строке ввода regexp, т.к. он автомачески преобразуется в двойной \\\\ в тексте стиля согласно спецификации CSS для строк в кавычках.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Не применено, т.к. соответствие не полное", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Список соответствующих вкладок (щелкните на адресе, чтобы активировать)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Сохранить", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Формат кода Mozilla можно отправлять на сайт userstyles.org и использовать в дополнении Stylish для Firefox.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Стиль в формате Mozilla", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Подтвердите обновление стиля '$stylename$'.", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Стиль был изменен вне редактора. Перезагрузить?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Такие адреса не поддерживаются.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "В целях обеспечения безопасности браузер запрещает расширениям изменять встроенные страницы (например, chrome://version, стандартная страница новой вкладки начиная с Chrome 61, about:addons и т.д.), страницы других расширений и \"магазин\" расширений (Chrome Web Store в chromium-браузерах, AMO в Firefox и т.д.)", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Ошибка сохранения. Попробуйте уменьшить количество текста.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Включить/выключить стиль", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Отменить", - "description": "Button label" - }, - "undoGlobal": { - "message": "Отменить (глобально)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Браузер запрещает доступ к сайту", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "Чтобы разрешить доступ, перейдите на адрес , нажмите правой кнопкой в списке, потом «Создать», потом «Логическое», вставьте текст и нажмите OK, , OK, перезагрузите страницу .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "Начиная с Firefox 60 нужно также удалить адрес этого сайта из в .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Только Firefox 59 и новее можно настроить так, чтобы разрешиь веб-расширениям добавлять стили на этом защищенном сайте.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Нет связи со страницей. Попробуйте перезагрузить вкладку.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Доступ к адресам file:// возможен только если включить соответствующую опцию для Stylus на странице chrome://extensions.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus не может получить доступ к некоторым типам файлов (например, файлы PDF и JSON).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Обновлений нет.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Не все стили были проверены, чтобы не потерять возможные локальные изменения. Форсировать обновление стиля можно индивидуально или запустив перепроверку всех обновляемых стилей (локальные изменения будут утеряны).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Ошибка обновления: сервер вернул код $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Ошибка обновления: сервер недоступен.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "История проверок обновлений", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Установить обновление (локальные изменения будут утеряны)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Форсирование обновления удалит локальные изменения.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Стиль был изменен локально.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Возможно был изменен локально.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Нет обновлений.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Обновление завершено.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Установлено обновлений:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Измените значение @name или @namespace, пожалуйста, чтобы предотвратить перезапись существующего стиля.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Стиль был обновлен или удален после вызова окна настройки. Следующие настройки не были сохранены, чтобы не повредить метаданные стиля:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Укажите имя после @name в коде", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Заменить шаблон по умолчанию для нового стиля в формате Usercss текущим кодом?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Пустой @name заменяет шаблон по умолчанию", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Место для CSS кода...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Версия меньше установленной.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Создать стиль для:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "этого адреса", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Экспорт Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Импорт/экспорт Dropbox заменен более продвинутой синхронизацией стилей на странице параметров.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Импорт Dropbox", - "description": "" - }, - "overwriteFileExport": { - "message": "Хотите перезаписать существующий файл?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Файл успешно сохранен", - "description": "" - }, - "noFileToImport": { - "message": "Чтобы импортировать ваши стили, вы должны сначала экспортировать их.", - "description": "" - }, - "connectingDropbox": { - "message": "Подключение Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Подключение к Dropbox доступно только в приложениях, установленных прямо из интернет-магазина", - "description": "" - }, - "gettingStyles": { - "message": "Получение всех стилей...", - "description": "" - }, - "zipStyles": { - "message": "Запаковка стилей...", - "description": "" - }, - "unzipStyles": { - "message": "Распаковка стилей...", - "description": "" - }, - "readingStyles": { - "message": "Чтение стилей...", - "description": "" - }, - "uploadingFile": { - "message": "Загрузка файла...", - "description": "" - }, - "addStyleLabel": { - "message": "Создать стиль", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus не может получить доступ к некоторым типам файлов (например, файлы PDF и JSON)." + }, + "addStyleLabel": { + "message": "Создать стиль" + }, + "addStyleTitle": { + "message": "Добавление стиля" + }, + "alphaChannel": { + "message": "Прозрачность" + }, + "appliesAdd": { + "message": "Добавить" + }, + "appliesDisplay": { + "message": "Применить к: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "и другие" + }, + "appliesDomainOption": { + "message": "URL в домене" + }, + "appliesHelp": { + "message": "Чтобы указать, к каким URL относится код в этом разделе, воспользуйтесь параметром \"Применить к\"." + }, + "appliesLabel": { + "message": "Применить к:" + }, + "appliesLineWidgetLabel": { + "message": "Показать целевые сайты секций" + }, + "appliesLineWidgetWarning": { + "message": "Не работает с минифицированным CSS" + }, + "appliesRegexpOption": { + "message": "URL, соответствующим регулярному выражению" + }, + "appliesRemove": { + "message": "Удалить" + }, + "appliesRemoveError": { + "message": "Нельзя удалить последний элемент" + }, + "appliesSpecify": { + "message": "Указать" + }, + "appliesToEverything": { + "message": "Все" + }, + "appliesUrlPrefixOption": { + "message": "URL, начинающимся с" + }, + "applyAllUpdates": { + "message": "Применить все обновления" + }, + "author": { + "message": "Автор" + }, + "backupButtons": { + "message": "Резервное копирование" + }, + "backupMessage": { + "message": "Нажмите Импорт чтобы выбрать файл или просто перетащите его на эту страницу" + }, + "bckpInstStyles": { + "message": "Экспорт стилей" + }, + "checkAllUpdates": { + "message": "Найти обновления всех стилей" + }, + "checkAllUpdatesForce": { + "message": "Я не менял стили, проверить заново!" + }, + "checkForUpdate": { + "message": "Проверить обновление" + }, + "checkingForUpdate": { + "message": "Проверка…" + }, + "clickToUninstall": { + "message": "Нажмите, чтобы удалить стиль" + }, + "cm_autoCloseBrackets": { + "message": "Закрывать скобки/кавычки при наборе" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Автоматически вставлять закрывающий символ при наборе открывающего из ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Подсказки при наборе кода" + }, + "cm_colorpicker": { + "message": "Раскрашивать цвета в CSS" + }, + "cm_indentWithTabs": { + "message": "Умные отступы при помощи табуляции" + }, + "cm_keyMap": { + "message": "Раскладка" + }, + "cm_lineWrapping": { + "message": "Перенос по словам" + }, + "cm_linter": { + "message": "Проверка CSS" + }, + "cm_matchHighlight": { + "message": "Подсветка" + }, + "cm_matchHighlightSelection": { + "message": "Выделенный текст" + }, + "cm_matchHighlightToken": { + "message": "Элемент под курсором" + }, + "cm_resizeGripHint": { + "message": "Двойной клик = переключить максимальный размер" + }, + "cm_selectByTokens": { + "message": "Двойной клик выделяет лексемы" + }, + "cm_selectByTokensTooltip": { + "message": "Образцы лексем: .foo-bar-2 #aabbcc 0.32 !important\nПри выключении: выделение по знакам препинания т.е. по словам." + }, + "cm_smartIndent": { + "message": "Умные отступы" + }, + "cm_tabSize": { + "message": "Размер табуляции" + }, + "cm_theme": { + "message": "Тема" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Сменить формат: #FFF -> RGB -> HSL.\nКлик с Shift меняет в обратном направлении.\nТакже клавишами PgUp, PgDn (\"Страница вверх\" и \"Страница вниз\")." + }, + "colorpickerTooltip": { + "message": "Изменить цвет" + }, + "configOnChange": { + "message": "сразу" + }, + "configOnChangeTooltip": { + "message": "Сохранять и применять изменения автоматически" + }, + "configureStyle": { + "message": "Настроить" + }, + "configureStyleOnHomepage": { + "message": "Настроить на домашней странице" + }, + "confirmCancel": { + "message": "Отмена" + }, + "confirmClose": { + "message": "Закрыть" + }, + "confirmDefault": { + "message": "По умолчанию" + }, + "confirmDelete": { + "message": "Удалить" + }, + "confirmDiscardChanges": { + "message": "Отказаться от изменений?" + }, + "confirmNo": { + "message": "Нет" + }, + "confirmOK": { + "message": "ОК" + }, + "confirmSave": { + "message": "Сохранить" + }, + "confirmStop": { + "message": "Стоп" + }, + "confirmYes": { + "message": "Да" + }, + "connectingDropbox": { + "message": "Подключение Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "Подключение к Dropbox доступно только в приложениях, установленных прямо из интернет-магазина" + }, + "copied": { + "message": "Скопировано в буфер обмена" + }, + "copy": { + "message": "Скопировать в буфер обмена" + }, + "dateInstalled": { + "message": "Дата установки" + }, + "dateUpdated": { + "message": "Дата обновления" + }, + "dbError": { + "message": "Возникла ошибка доступа к базе данных Stylus. Хотите перейти на страницу с возможными способами решения?" + }, + "defaultTheme": { + "message": "по-умолчанию" + }, + "deleteStyleConfirm": { + "message": "Удалить этот стиль?" + }, + "deleteStyleLabel": { + "message": "Удалить" + }, + "description": { + "message": "Настраивайте стили веб-сайтов с помощью менеджера стилей Stylus. Он позволяет легко установить темы и изменить внешний вид сайтов Google, Facebook, YouTube, Orkut и множества других веб-страниц." + }, + "disableAllStyles": { + "message": "Выключить все стили" + }, + "disableStyleLabel": { + "message": "Отключить" + }, + "dragDropMessage": { + "message": "Перетащите файл с резервной копией стилей в любое место этой страницы, чтобы импортировать его." + }, + "dragDropUsercssTabstrip": { + "message": "Чтобы установить файл, поместите его на вкладку (область, где отображаются заголовки вкладок)." + }, + "editDeleteText": { + "message": "Удалить" + }, + "editGotoLine": { + "message": "Перейти к строке (или строке:колонке)" + }, + "editStyleHeading": { + "message": "Изменение стиля" + }, + "editStyleLabel": { + "message": "Изменить" + }, + "editStyleTitle": { + "message": "Изменение стиля \"$stylename$\"", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Включить" + }, + "excludeStyleByDomainLabel": { + "message": "Исключить текущий домен" + }, + "excludeStyleByUrlLabel": { + "message": "Исключить текущий URL" + }, + "exportLabel": { + "message": "Экспорт" + }, + "exportSavedSuccess": { + "message": "Файл успешно сохранен" + }, + "externalFeedback": { + "message": "Отзывы" + }, + "externalHomepage": { + "message": "Домашняя страницы" + }, + "externalLink": { + "message": "Внешняя ссылка" + }, + "externalSupport": { + "message": "Поддержка" + }, + "externalUsercssDocument": { + "message": "Документация по usercss" + }, + "filteredStyles": { + "message": "найдено $numShown$ из $numTotal$всего", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Примененные фильтры не соответствуют ни одному стилю" + }, + "findStyles": { + "message": "Найти стили" + }, + "findStylesForSite": { + "message": "Найти еще стили для этого веб-сайта" + }, + "findStylesInline": { + "message": "и показать здесь" + }, + "findStylesInlineTooltip": { + "message": "Показывать найденные стили в этом окне." + }, + "genericAdd": { + "message": "Добавить" + }, + "genericClone": { + "message": "Клонировать" + }, + "genericDisabledLabel": { + "message": "Отключен" + }, + "genericEnabledLabel": { + "message": "Активные" + }, + "genericError": { + "message": "Ошибка" + }, + "genericHistoryLabel": { + "message": "История" + }, + "genericNext": { + "message": "Следующий" + }, + "genericPrevious": { + "message": "Предыдущий" + }, + "genericResetLabel": { + "message": "Сброс" + }, + "genericSavedMessage": { + "message": "Сохранено" + }, + "genericTitle": { + "message": "Имя" + }, + "genericUnknown": { + "message": "Неизвестно" + }, + "gettingStyles": { + "message": "Получение всех стилей..." + }, + "helpAlt": { + "message": "Справка" + }, + "helpKeyMapCommand": { + "message": "Введите имя команды" + }, + "helpKeyMapHotkey": { + "message": "Нажмите клавишу" + }, + "hostDisabled": { + "message": "Этот хост был отключен из-за ошибки в текущей версии используемого браузера" + }, + "importAppendLabel": { + "message": "Добавить к стилю" + }, + "importAppendTooltip": { + "message": "Добавить импортируемый стиль к редактируемому" + }, + "importLabel": { + "message": "Импорт" + }, + "importReplaceLabel": { + "message": "Заменить стиль" + }, + "importReplaceTooltip": { + "message": "Удалить содержимое редактируемого стиля и заменить его на импортируемый стиль" + }, + "importReportLegendAdded": { + "message": "добавлено" + }, + "importReportLegendIdentical": { + "message": "идентичные пропущены" + }, + "importReportLegendInvalid": { + "message": "некорректных пропущено" + }, + "importReportLegendUpdatedBoth": { + "message": "обновлены мета-данные и код" + }, + "importReportLegendUpdatedCode": { + "message": "обновлен код" + }, + "importReportLegendUpdatedMeta": { + "message": "обновлены мета-данные" + }, + "importReportTitle": { + "message": "Импорт стилей завершен" + }, + "importReportUnchanged": { + "message": "Ничего не изменилось." + }, + "importReportUndone": { + "message": "восстановленных стилей" + }, + "importReportUndoneTitle": { + "message": "Откат импорта завершен" + }, + "installButton": { + "message": "Установить стиль" + }, + "installButtonInstalled": { + "message": "Стиль установлен" + }, + "installButtonReinstall": { + "message": "Переустановить стиль" + }, + "installButtonUpdate": { + "message": "Обновить стиль" + }, + "installUpdate": { + "message": "Установить обновление" + }, + "installUpdateFrom": { + "message": "Источник обновления стиля: $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Проверить обновления" + }, + "license": { + "message": "Лицензия" + }, + "linkGetHelp": { + "message": "Помощь" + }, + "linkGetStyles": { + "message": "Скачать стили" + }, + "linkStylusWiki": { + "message": "Инфо" + }, + "linkTranslate": { + "message": "Перевод" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint не поддерживает препроцессор $preprocessorname$", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(значения: 0 = выключить, 1 = предупреждение; 2 = ошибка)" + }, + "linterConfigPopupTitle": { + "message": "Установить конфиграцию правил $linter$", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "Настроить проверку CSS" + }, + "linterInvalidConfigError": { + "message": "Не сохранено из-за неправильных настроек ниже:" + }, + "linterIssues": { + "message": "Проблемы" + }, + "linterIssuesHelp": { + "message": "Проблемы, найденные правилами $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Ошибка формата JSON" + }, + "linterResetMessage": { + "message": "Для отмены случайного сброса нажмите Ctrl-Z (или Cmd-Z) в окне ввода" + }, + "linterRulesLink": { + "message": "Открыть полный список правил" + }, + "liveReloadError": { + "message": "Ошибка слежения за файлом" + }, + "liveReloadInstallHint": { + "message": "Держите эту вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях." + }, + "liveReloadInstallHintFF": { + "message": "Оставьте эту вкладку и исходную вкладку открытой, чтобы автоматически обновлять стиль при внешних изменениях." + }, + "liveReloadLabel": { + "message": "Автозагрузка изменений" + }, + "manageFavicons": { + "message": "Пиктограммы для целевых сайтов" + }, + "manageFaviconsGray": { + "message": "Обесцвечивать" + }, + "manageFaviconsHelp": { + "message": "Используется сторонний сервис https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Фильтры" + }, + "manageHeading": { + "message": "Менеджер стилей" + }, + "manageMaxTargets": { + "message": "Кол-во целевых сайтов/выражений" + }, + "manageNewStyleAsUsercss": { + "message": "в виде Usercss" + }, + "manageNewUI": { + "message": "Новый интерфейс" + }, + "manageOnlyDisabled": { + "message": "Только неактивные стили" + }, + "manageOnlyEnabled": { + "message": "Только включенные стили" + }, + "manageOnlyExternal": { + "message": "Только сторонние стили" + }, + "manageOnlyLocal": { + "message": "Только локально созданные стили" + }, + "manageOnlyLocalTooltip": { + "message": "(т.е. стили, не установленные посредством сайта userstyles.org)" + }, + "manageOnlyNonUsercss": { + "message": "Спрятать Usercss стили" + }, + "manageOnlyUpdates": { + "message": "Только обновляемые и проблемные" + }, + "manageOnlyUsercss": { + "message": "Только Usercss стили" + }, + "menuShowBadge": { + "message": "Число активных стилей" + }, + "meta_invalidCheckboxDefault": { + "message": "Неверный флажок @var: значение должно быть 0 или 1" + }, + "meta_invalidColor": { + "message": "Неверный цвет @var: $color$ это не цвет", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Ожидание числа" + }, + "meta_invalidRange": { + "message": "Неверный @var$type$: значение должно быть числом или массивом ", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "Неверный @var $type$: значение по умолчанию равно нулю", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "Неверный @var $type$: значение по умолчанию больше максимального", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "Неверный @var $type$: значение по умолчанию ниже минимального", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "Неверный @var $type$: несколько единиц определены", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "Неверный @var $type$: значение по умолчанию не является кратным шага", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "Неверный @var $type$: массив содержит слишком много элементов", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "Неверный @var $type$: '$units$' не является действительной единицей", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "Неверный @var $type$: элементы в массиве должны быть числом, строкой или нулем", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "Неверный @var select: значением по умолчанию должен быть массив или объект" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Неверный @var select: список опций пуст" + }, + "meta_invalidSelectLabel": { + "message": "Неверный @var select: ярлык опции пуст" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Неверный @var select: определены несколько параметров по умолчанию" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Неверный @var select: имя опции дублируется" + }, + "meta_invalidSelectValue": { + "message": "Неверный @var select: значения внутри массива/объекта должны быть строкой" + }, + "meta_invalidSelectValueMismatch": { + "message": "Неверный @var select: значение не существует в списке опций" + }, + "meta_invalidString": { + "message": "Ожидание строки в кавычках" + }, + "meta_invalidURLProtocol": { + "message": "Неверный протокол URL. Разрешены только http и https: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Неверный номер версии. Значение не соответствует шаблону SemVer: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Ожидание слова" + }, + "meta_missingChar": { + "message": "Ожидание символа: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Ожидание данной EOT" + }, + "meta_missingMandatory": { + "message": "Отсутствуют обязательные метаданные: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "Неверный JSON: $literal$ не является допустимым литералом JSON", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Неизвестные метаданные: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "Неизвестный @preprocessor: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Неизвестый @$varkey$ тип: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "Чтобы импортировать ваши стили, вы должны сначала экспортировать их." + }, + "noStylesForSite": { + "message": "Для этого веб-сайта не установлено ни одного стиля." + }, + "openManage": { + "message": "Менеджер" + }, + "openOptions": { + "message": "Опции" + }, + "openStylesManager": { + "message": "Менеджер стилей" + }, + "optionsActions": { + "message": "Другие действия" + }, + "optionsAdvanced": { + "message": "Другое" + }, + "optionsAdvancedContextDelete": { + "message": "Показывать команду \"Удалить\" в контекстном меню редактора" + }, + "optionsAdvancedExposeIframes": { + "message": "Выявлять iframe путем добавления HTML[stylus-iframe]" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Выставляет верхний домен сайта в каждом iframe.\nПозволяет писать iframe-specific CSS следующим образом:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Создавать стили в формате usercss" + }, + "optionsBadgeDisabled": { + "message": "Цвет фона в неактивном состоянии" + }, + "optionsBadgeNormal": { + "message": "Цвет фона" + }, + "optionsCheck": { + "message": "Обновить стили" + }, + "optionsCheckUpdate": { + "message": "Найти и установить обновления стилей" + }, + "optionsCustomizeBadge": { + "message": "Бейдж на пиктограмме в тулбаре" + }, + "optionsCustomizeIcon": { + "message": "Значок в панели" + }, + "optionsCustomizePopup": { + "message": "Всплывающее окно" + }, + "optionsCustomizeSync": { + "message": "Синхронизация с облаком" + }, + "optionsCustomizeUpdate": { + "message": "Обновления" + }, + "optionsHeading": { + "message": "Настройки" + }, + "optionsIconDark": { + "message": "Тёмный интерфейс браузера" + }, + "optionsIconLight": { + "message": "Светлый интерфейс браузера" + }, + "optionsOpen": { + "message": "Открыть" + }, + "optionsOpenManager": { + "message": "Менеджер стилей" + }, + "optionsPopupWidth": { + "message": "Ширина всплывающего окна (в пикселах)" + }, + "optionsReset": { + "message": "Сброс настроек к значениям по-умолчанию" + }, + "optionsResetButton": { + "message": "Сброс настроек" + }, + "optionsSubheading": { + "message": "Дополнительно" + }, + "optionsSyncConnect": { + "message": "Подключить" + }, + "optionsSyncDisconnect": { + "message": "Отсоединить" + }, + "optionsSyncLogin": { + "message": "Логин" + }, + "optionsSyncNone": { + "message": "Ничего" + }, + "optionsSyncStatusConnected": { + "message": "Подключено" + }, + "optionsSyncStatusConnecting": { + "message": "Подключение…" + }, + "optionsSyncStatusDisconnected": { + "message": "Отсоединено" + }, + "optionsSyncStatusDisconnecting": { + "message": "Отсоединение…" + }, + "optionsSyncStatusPull": { + "message": "Загружено стилей $loaded$ из $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "Загружено стилей $loaded$ из $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusSyncing": { + "message": "Синхронизация" + }, + "optionsSyncSyncNow": { + "message": "Синхронизировать" + }, + "optionsUpdateImportNote": { + "message": "После импорта базы стилей из старой версии или из Stylish запустите проверку на обновления из менеджера стилей, чтобы удостовериться в обновлении всех стилей." + }, + "optionsUpdateInterval": { + "message": "Интервал обновления стилей, в часах (укажите 0 для выключения)" + }, + "overwriteFileExport": { + "message": "Хотите перезаписать существующий файл?" + }, + "paginationCurrent": { + "message": "Текущая страница" + }, + "paginationEstimated": { + "message": "Предположительное количество страниц" + }, + "paginationNext": { + "message": "Следующая страница" + }, + "paginationPrevious": { + "message": "Предыдущая страница" + }, + "paginationTotal": { + "message": "Всего страниц" + }, + "parseUsercssError": { + "message": "Stylus не смог распарсить usercss:" + }, + "popupAutoResort": { + "message": "Сортировать стили после переключения" + }, + "popupBorders": { + "message": "Добавить белый бордюр по бокам" + }, + "popupBordersTooltip": { + "message": "Полезно для темных тем оформления т.к. новый Chrome не рисует боковые бордюры" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0>, и цифровой блок - переключает стиль по номеру (0 это 10)\n- переключает стиль начинающийся с нажатой буквы\n открывает в редакторе вместо переключения\n включает стили в списке\n выключает стили в списке\n и <`> (обратный апостроф) - переключает изначально включенные стили вне зависимости от последующего переключения других ранее не включенных стилей, так что можно потестировать и восстановить исходный список нажав \nПодробнее на вики." + }, + "popupHotkeysTooltip": { + "message": "Показать клавиатурные сочетания" + }, + "popupManageTooltip": { + "message": "Shift-клик или правый клик откроет менеджер с стилями только для этого сайта." + }, + "popupMenuButtonTooltip": { + "message": "Меню действий" + }, + "popupOpenEditInWindow": { + "message": "Открывать редактор в новом окне" + }, + "popupOpenEditInWindowTooltip": { + "message": "Также включается вытаскиванием вкладки из окна браузера\nи выключается перетаскиванием вкладки в другое окно браузера." + }, + "popupStylesFirst": { + "message": "Список стилей сверху" + }, + "prefShowBadge": { + "message": "Показывать количество активных стилей для открытого сайта" + }, + "previewLabel": { + "message": "Предпросмотр" + }, + "previewTooltip": { + "message": "Временно применяет стиль пока вы его редактируете.\nСохраните стиль, чтобы сделать изменения постоянными." + }, + "readingStyles": { + "message": "Чтение стилей..." + }, + "reload": { + "message": "Перезагрузить расширение Stylus" + }, + "replace": { + "message": "Заменить" + }, + "replaceAll": { + "message": "Заменить все" + }, + "replaceWith": { + "message": "Заменить на" + }, + "retrieveBckp": { + "message": "Импорт стилей" + }, + "retrieveDropboxSync": { + "message": "Импорт Dropbox" + }, + "search": { + "message": "Искать" + }, + "searchCaseSensitive": { + "message": "Учитывать регистр букв" + }, + "searchNumberOfResults": { + "message": "Количество совпадений" + }, + "searchNumberOfResults2": { + "message": "Количество совпадений в коде и целевых сайтах" + }, + "searchRegexp": { + "message": "Используйте нотацию /re/ для поиска регулярными выражениями" + }, + "searchResultInstallCount": { + "message": "Всего загрузок" + }, + "searchResultNoneFound": { + "message": "Стилей для сайта не найдено." + }, + "searchResultRating": { + "message": "Рейтинг" + }, + "searchResultUpdated": { + "message": "Обновлен" + }, + "searchResultWeeklyCount": { + "message": "Загрузок за неделю" + }, + "sectionAdd": { + "message": "Добавить раздел" + }, + "sectionCode": { + "message": "Код" + }, + "sectionRemove": { + "message": "Удалить раздел" + }, + "sectionRestore": { + "message": "Восстановить удаленный раздел" + }, + "shortcuts": { + "message": "Клавиши" + }, + "shortcutsNote": { + "message": "Назначить клавишу" + }, + "sortDateNewestFirst": { + "message": "новые сверху" + }, + "sortDateOldestFirst": { + "message": "старые сверху" + }, + "sortLabel": { + "message": "Порядок сортировки списка стилей" + }, + "sortLabelTitleAsc": { + "message": "Название в алфавитном порядке" + }, + "sortLabelTitleDesc": { + "message": "Название в обратном порядке" + }, + "sortStylesHelp": { + "message": "Эта настройка позволяет выбрать порядок сортировки списка стилей. По умолчанию названия выводятся в алфавитном порядке. Можно выбрать обратный порядок.\nТакже можно выбрать составной критерий сортировки – отдельные критерии разделены знаком \"+\" и ведут себя примерно как колонки в таблице.\nНапример, при выборе «Активные + Имя» все активные стили будут сгруппированы вверху списка, неактивные внизу, а внутри каждой группы строки будут отсортированы по имени." + }, + "sortStylesHelpTitle": { + "message": "Сортировка" + }, + "styleBadRegexp": { + "message": "Ошибка в регулярном выражении." + }, + "styleBeautify": { + "message": "Причесать" + }, + "styleBeautifyIndentConditional": { + "message": "Отступ внутри @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "Беречь пустые строки" + }, + "styleCancelEditLabel": { + "message": "Все стили" + }, + "styleChangesNotSaved": { + "message": "Вы изменили этот стиль, но не сохранили его." + }, + "styleEnabledLabel": { + "message": "Включено" + }, + "styleFromMozillaFormatError": { + "message": "Ошибка импорта формата Mozilla" + }, + "styleFromMozillaFormatPrompt": { + "message": "Вставьте содержимое стиля в формате Mozilla" + }, + "styleInstall": { + "message": "Установить \"$stylename$\" в Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Ошибка установки стиля!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' уже установлен. Обновить?\nВерсии: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Введите название" + }, + "styleMozillaFormatHeading": { + "message": "Формат Mozilla" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Стиль не был применен из-за некорректного regexp()" + }, + "styleRegexpInvalidExplanation": { + "message": "Некоторые 'regexp()' выражения не удалось скомпилировать." + }, + "styleRegexpPartialExplanation": { + "message": "В стиле используются regexp-выражения, которые соответствуют лишь части адреса, что нарушает спецификацию CSS4 @document, требующую соответствия всего адреса целиком. Секции стиля с такими regexp не были применены к странице. Вероятно, этот стиль был создан в \"Stylish для Chrome\", который некорректно проверяет regexp (известный баг)." + }, + "styleRegexpProblemTooltip": { + "message": "Кол-во пропущенных секций из-за неправильного regexp()" + }, + "styleRegexpTestButton": { + "message": "Тест регулярки" + }, + "styleRegexpTestFull": { + "message": "Соответствующие вкладки" + }, + "styleRegexpTestInvalid": { + "message": "Пропущены некомпилируемые регулярки" + }, + "styleRegexpTestNone": { + "message": "Нет соответствующих вкладок" + }, + "styleRegexpTestNote": { + "message": "Полезная информация: используйте одиночный \\ в строке ввода regexp, т.к. он автомачески преобразуется в двойной \\\\ в тексте стиля согласно спецификации CSS для строк в кавычках." + }, + "styleRegexpTestPartial": { + "message": "Не применено, т.к. соответствие не полное" + }, + "styleRegexpTestTitle": { + "message": "Список соответствующих вкладок (щелкните на адресе, чтобы активировать)" + }, + "styleSaveLabel": { + "message": "Сохранить" + }, + "styleToMozillaFormatHelp": { + "message": "Формат кода Mozilla можно отправлять на сайт userstyles.org и использовать в дополнении Stylish для Firefox." + }, + "styleToMozillaFormatTitle": { + "message": "Стиль в формате Mozilla" + }, + "styleUpdate": { + "message": "Подтвердите обновление стиля '$stylename$'.", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Стиль был изменен вне редактора. Перезагрузить?" + }, + "stylusUnavailableForURL": { + "message": "Такие адреса не поддерживаются." + }, + "stylusUnavailableForURLdetails": { + "message": "В целях обеспечения безопасности браузер запрещает расширениям изменять встроенные страницы (например, chrome://version, стандартная страница новой вкладки начиная с Chrome 61, about:addons и т.д.), страницы других расширений и \"магазин\" расширений (Chrome Web Store в chromium-браузерах, AMO в Firefox и т.д.)" + }, + "syncDropboxDeprecated": { + "message": "Импорт/экспорт Dropbox заменен более продвинутой синхронизацией стилей на странице параметров." + }, + "syncDropboxStyles": { + "message": "Экспорт Dropbox" + }, + "syncStorageErrorSaving": { + "message": "Ошибка сохранения. Попробуйте уменьшить количество текста." + }, + "toggleStyle": { + "message": "Включить/выключить стиль" + }, + "undo": { + "message": "Отменить" + }, + "undoGlobal": { + "message": "Отменить (глобально)" + }, + "unreachableAMO": { + "message": "Браузер запрещает доступ к сайту" + }, + "unreachableAMOHint": { + "message": "Чтобы разрешить доступ, перейдите на адрес , нажмите правой кнопкой в списке, потом «Создать», потом «Логическое», вставьте текст и нажмите OK, , OK, перезагрузите страницу ." + }, + "unreachableAMOHintNewFF": { + "message": "Начиная с Firefox 60 нужно также удалить адрес этого сайта из в ." + }, + "unreachableAMOHintOldFF": { + "message": "Только Firefox 59 и новее можно настроить так, чтобы разрешиь веб-расширениям добавлять стили на этом защищенном сайте." + }, + "unreachableContentScript": { + "message": "Нет связи со страницей. Попробуйте перезагрузить вкладку." + }, + "unreachableFileHint": { + "message": "Доступ к адресам file:// возможен только если включить соответствующую опцию для Stylus на странице chrome://extensions." + }, + "unzipStyles": { + "message": "Распаковка стилей..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Обновлений нет." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Не все стили были проверены, чтобы не потерять возможные локальные изменения. Форсировать обновление стиля можно индивидуально или запустив перепроверку всех обновляемых стилей (локальные изменения будут утеряны)." + }, + "updateCheckFailBadResponseCode": { + "message": "Ошибка обновления: сервер вернул код $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Ошибка обновления: сервер недоступен." + }, + "updateCheckHistory": { + "message": "История проверок обновлений" + }, + "updateCheckManualUpdateForce": { + "message": "Установить обновление (локальные изменения будут утеряны)" + }, + "updateCheckManualUpdateHint": { + "message": "Форсирование обновления удалит локальные изменения." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Стиль был изменен локально." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Возможно был изменен локально." + }, + "updateCheckSucceededNoUpdate": { + "message": "Нет обновлений." + }, + "updateCompleted": { + "message": "Обновление завершено." + }, + "updatesCurrentlyInstalled": { + "message": "Установлено обновлений:" + }, + "uploadingFile": { + "message": "Загрузка файла..." + }, + "usercssAvoidOverwriting": { + "message": "Измените значение @name или @namespace, пожалуйста, чтобы предотвратить перезапись существующего стиля." + }, + "usercssConfigIncomplete": { + "message": "Стиль был обновлен или удален после вызова окна настройки. Следующие настройки не были сохранены, чтобы не повредить метаданные стиля:" + }, + "usercssEditorNamePlaceholder": { + "message": "Укажите имя после @name в коде" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Заменить шаблон по умолчанию для нового стиля в формате Usercss текущим кодом?" + }, + "usercssReplaceTemplateName": { + "message": "Пустой @name заменяет шаблон по умолчанию" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Место для CSS кода..." + }, + "versionInvalidOlder": { + "message": "Версия меньше установленной." + }, + "writeStyleFor": { + "message": "Создать стиль для:" + }, + "writeStyleForURL": { + "message": "этого адреса" + }, + "zipStyles": { + "message": "Запаковка стилей..." + } +} diff --git a/_locales/sr/messages.json b/_locales/sr/messages.json index 14441720..a91ccc35 100644 --- a/_locales/sr/messages.json +++ b/_locales/sr/messages.json @@ -1,1586 +1,314 @@ { - "addStyleTitle": { - "message": "Додај стил", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Додај", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Примењује се на: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "и још", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "УРЛ адресе на домену", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Употреба 'Примењује се на' одређује опсег УРЛ адреса на које се код у овом одељку примењује.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Примењује се на", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "УРЛ адресе које одговарају регуларном изразу", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Уклони", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Детаљније", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Све", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "УРЛ", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "УРЛ адресе које почињу са", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Примени сва ажурирања", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Проверите ажурирања за све стилове", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Проверите ажурирање", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Проверавање...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Користи картице са паметним увлачењем редова", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Мапа тастера", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Преламање текста", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Користи паметно увлачење редова", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Величина картице", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Тема", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Не", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Заустави", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Да", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Дошло је до грешке користећи Stylus базу података. Да ли желите да посетите веб страницу са могућим решењима?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "подразумевано", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Да ли сте сигурни да желите да избришете овај стил?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Избриши", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Измените стил интернет мреже управљачем корисничких стилова. Stylus вам омогућава да лако инсталирате теме и скинове за многе популарне сајтове.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Искључи све стилове", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Онемогући", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Иди на ред (или line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Уреди стил", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Уреди", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Уреди стил $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Омогући", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Извези", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Пронађи још стилова за овај сајт", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Помоћ", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Укуцај име команде", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Притисни пречицу", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Додај стилу", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Додај увезени стил тренутном стилу", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Увези", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Упиши преко стила", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Одбаци садржај тренутног стила и упиши преко њега увезени стил", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Инсталирај ажурирање", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Помоћ", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Преузмите стилове", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Проблеми", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Проблем пронађен од стране $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Филтери", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Инсталирани стилови", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Само омогућени стилови", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Прикажи број активних стилова", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Нема инсталираних стилова за овај сајт.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Управљај инсталираним стиловима", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Опције", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Излистај стилове пре команди у менију дугмета на алатној траци", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Прикажи број активних стилова за тренутни сајт на дугмету на алатној траци", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Замени", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Замени све", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Замени са", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Претражи", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Користи /re/ синтаксу за претрагу регуларним изразом", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Додај нови одељак", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Код", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Уклони одељак", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Регуларни израз је неисправан.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Улепшај", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Назад на управљање", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Направили сте измене овог стила које нисте сачували.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Омогућено", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Налепи код у Mozilla формату", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Инсталирати '$stylename$' у Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Унесите назив", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla формат", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Сачувај", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla формат кода се може користити у Stylish за Firefox и може се послати на userstyles.org.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Стил у Mozilla формату", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Да ли сте сигурни да желите да ажурирате '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus не ради на страницама као што је ова.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Опозови", - "description": "Button label" - }, - "undoGlobal": { - "message": "Опозови (свеобухватно)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Сви стилови су ажурирани.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Ажурирање није успело: сервер је одговорио кодом $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Ажурирање није успело: сервер није доступан.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Стил је ажуриран.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Ажурирање је комплетирано.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Упиши стил за:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "ову УРЛ адресу", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Упиши нови стил", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Упиши нови стил" + }, + "addStyleTitle": { + "message": "Додај стил" + }, + "appliesAdd": { + "message": "Додај" + }, + "appliesDisplay": { + "message": "Примењује се на: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "и још" + }, + "appliesDomainOption": { + "message": "УРЛ адресе на домену" + }, + "appliesHelp": { + "message": "Употреба 'Примењује се на' одређује опсег УРЛ адреса на које се код у овом одељку примењује." + }, + "appliesLabel": { + "message": "Примењује се на" + }, + "appliesRegexpOption": { + "message": "УРЛ адресе које одговарају регуларном изразу" + }, + "appliesRemove": { + "message": "Уклони" + }, + "appliesSpecify": { + "message": "Детаљније" + }, + "appliesToEverything": { + "message": "Све" + }, + "appliesUrlOption": { + "message": "УРЛ" + }, + "appliesUrlPrefixOption": { + "message": "УРЛ адресе које почињу са" + }, + "applyAllUpdates": { + "message": "Примени сва ажурирања" + }, + "checkAllUpdates": { + "message": "Проверите ажурирања за све стилове" + }, + "checkForUpdate": { + "message": "Проверите ажурирање" + }, + "checkingForUpdate": { + "message": "Проверавање..." + }, + "cm_indentWithTabs": { + "message": "Користи картице са паметним увлачењем редова" + }, + "cm_keyMap": { + "message": "Мапа тастера" + }, + "cm_lineWrapping": { + "message": "Преламање текста" + }, + "cm_smartIndent": { + "message": "Користи паметно увлачење редова" + }, + "cm_tabSize": { + "message": "Величина картице" + }, + "cm_theme": { + "message": "Тема" + }, + "confirmNo": { + "message": "Не" + }, + "confirmStop": { + "message": "Заустави" + }, + "confirmYes": { + "message": "Да" + }, + "dbError": { + "message": "Дошло је до грешке користећи Stylus базу података. Да ли желите да посетите веб страницу са могућим решењима?" + }, + "defaultTheme": { + "message": "подразумевано" + }, + "deleteStyleConfirm": { + "message": "Да ли сте сигурни да желите да избришете овај стил?" + }, + "deleteStyleLabel": { + "message": "Избриши" + }, + "description": { + "message": "Измените стил интернет мреже управљачем корисничких стилова. Stylus вам омогућава да лако инсталирате теме и скинове за многе популарне сајтове." + }, + "disableAllStyles": { + "message": "Искључи све стилове" + }, + "disableStyleLabel": { + "message": "Онемогући" + }, + "editGotoLine": { + "message": "Иди на ред (или line:col)" + }, + "editStyleHeading": { + "message": "Уреди стил" + }, + "editStyleLabel": { + "message": "Уреди" + }, + "editStyleTitle": { + "message": "Уреди стил $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Омогући" + }, + "exportLabel": { + "message": "Извези" + }, + "findStylesForSite": { + "message": "Пронађи још стилова за овај сајт" + }, + "helpAlt": { + "message": "Помоћ" + }, + "helpKeyMapCommand": { + "message": "Укуцај име команде" + }, + "helpKeyMapHotkey": { + "message": "Притисни пречицу" + }, + "importAppendLabel": { + "message": "Додај стилу" + }, + "importAppendTooltip": { + "message": "Додај увезени стил тренутном стилу" + }, + "importLabel": { + "message": "Увези" + }, + "importReplaceLabel": { + "message": "Упиши преко стила" + }, + "importReplaceTooltip": { + "message": "Одбаци садржај тренутног стила и упиши преко њега увезени стил" + }, + "installUpdate": { + "message": "Инсталирај ажурирање" + }, + "linkGetHelp": { + "message": "Помоћ" + }, + "linkGetStyles": { + "message": "Преузмите стилове" + }, + "linterIssues": { + "message": "Проблеми" + }, + "linterIssuesHelp": { + "message": "Проблем пронађен од стране $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "manageFilters": { + "message": "Филтери" + }, + "manageHeading": { + "message": "Инсталирани стилови" + }, + "manageOnlyEnabled": { + "message": "Само омогућени стилови" + }, + "menuShowBadge": { + "message": "Прикажи број активних стилова" + }, + "noStylesForSite": { + "message": "Нема инсталираних стилова за овај сајт." + }, + "openManage": { + "message": "Управљај инсталираним стиловима" + }, + "optionsHeading": { + "message": "Опције" + }, + "popupStylesFirst": { + "message": "Излистај стилове пре команди у менију дугмета на алатној траци" + }, + "prefShowBadge": { + "message": "Прикажи број активних стилова за тренутни сајт на дугмету на алатној траци" + }, + "replace": { + "message": "Замени" + }, + "replaceAll": { + "message": "Замени све" + }, + "replaceWith": { + "message": "Замени са" + }, + "search": { + "message": "Претражи" + }, + "searchRegexp": { + "message": "Користи /re/ синтаксу за претрагу регуларним изразом" + }, + "sectionAdd": { + "message": "Додај нови одељак" + }, + "sectionCode": { + "message": "Код" + }, + "sectionRemove": { + "message": "Уклони одељак" + }, + "styleBadRegexp": { + "message": "Регуларни израз је неисправан." + }, + "styleBeautify": { + "message": "Улепшај" + }, + "styleCancelEditLabel": { + "message": "Назад на управљање" + }, + "styleChangesNotSaved": { + "message": "Направили сте измене овог стила које нисте сачували." + }, + "styleEnabledLabel": { + "message": "Омогућено" + }, + "styleFromMozillaFormatPrompt": { + "message": "Налепи код у Mozilla формату" + }, + "styleInstall": { + "message": "Инсталирати '$stylename$' у Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Унесите назив" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla формат" + }, + "styleSaveLabel": { + "message": "Сачувај" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla формат кода се може користити у Stylish за Firefox и може се послати на userstyles.org." + }, + "styleToMozillaFormatTitle": { + "message": "Стил у Mozilla формату" + }, + "styleUpdate": { + "message": "Да ли сте сигурни да желите да ажурирате '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "stylusUnavailableForURL": { + "message": "Stylus не ради на страницама као што је ова." + }, + "undo": { + "message": "Опозови" + }, + "undoGlobal": { + "message": "Опозови (свеобухватно)" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Сви стилови су ажурирани." + }, + "updateCheckFailBadResponseCode": { + "message": "Ажурирање није успело: сервер је одговорио кодом $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Ажурирање није успело: сервер није доступан." + }, + "updateCheckSucceededNoUpdate": { + "message": "Стил је ажуриран." + }, + "updateCompleted": { + "message": "Ажурирање је комплетирано." + }, + "writeStyleFor": { + "message": "Упиши стил за:" + }, + "writeStyleForURL": { + "message": "ову УРЛ адресу" + } +} diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 975e0bc0..048e7b90 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -1,1586 +1,1226 @@ { - "addStyleTitle": { - "message": "Lägg till stil", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacitet", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Lägg till", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Tillämpad för: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "och mer", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Webbadresser på domänen", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Använd 'Tillämpad för' alternativet för att begränsa vilka webbadresser koden i denna sektion gäller för.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Tillämpad för", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Visa \"Tillämpad för\" information", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Fungerar inte med minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "Webbadresser som matchar regexp:en", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Ta bort", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Kan inte ta bort senaste \"tillämpad för\" post", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specificera", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Allt", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "Webbadress", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Webbadresser som börjar på", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Tillämpa alla uppdateringar", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Författare", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Säkerhetskopiera", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Välj en fil eller dra och släpp till den här sidan.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Exportera stilar", - "description": "" - }, - "checkAllUpdates": { - "message": "Sök efter uppdateringar", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Kontrollera igen, jag redigerade inte några stilar!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Sök efter uppdatering", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Letar...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Klicka för att avinstallera", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Stäng automatiskt parenteser och citat", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Lägg automatiskt till ett slutpar när du skriver en öppning av ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Komplettera automatiskt när du skriver", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Färgväljare för CSS-färger", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Använd tabbar med smarta indrag", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tangentkarta", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Radbrytning", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Markera", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Endast urval", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under markör", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Dubbelklicka för att maximera/återställa höjden", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Dubbelklickning väljer token", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Exempel på token: .foo-bar-2 #aabbcc 0.32 !important\nNär inaktiverad: skiljetecken-avgränsade ord väljs.", - "description": "" - }, - "cm_smartIndent": { - "message": "Använd smarta indrag", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tabbstorlek", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Växla format: HEX -> RGB -> HSL.\nSkift-klicka för att vända riktningen.\nÄven via PgUp (PageUp), PgDn (PageDown) tangenter.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Öppen färgväljaren", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "vid förändring", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Spara automatiskt och tillämpa ändringar automatiskt", - "description": "" - }, - "configureStyle": { - "message": "Konfigurera", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Konfigurera på webbplatsen", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Avbryt", - "description": "" - }, - "confirmClose": { - "message": "Stäng", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Använd standard", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Ta bort", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Kassera ändringarna?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Nej", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Spara", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stoppa", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Ja", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Kopierad till urklipp", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopiera till urklipp", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Installerat datum", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Datumet uppdaterat", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Ett fel inträffades vid hanteringen av Stylus-databasen. Skulle du vilja besöka en sida med eventuella lösningar?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "standard", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Är du säker på att du vill ta bort denna stil?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Ta bort", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Designa om webben med Stylus, en användarstilshanterare. Stylus låter dig enkelt installera teman och skal för många populära webbplatser.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Stäng av alla stilar", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Inaktivera", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Släpp din säkerhetskopieringsfil någonstans på den här sidan för att importera.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Ta bort", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Gå till rad (eller rad:kol)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Ändra stil", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Ändra", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Ändra stilen $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Aktivera", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Uteslut den aktuella domänen", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Uteslut den aktuella webbadressen", - "description": "" - }, - "exportLabel": { - "message": "Exportera", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Återkoppling", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Webbplats", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Extern länk", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Dokumentation för Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ visade av $numTotal$ totalt", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "För närvarande tillämpade filter matchar inga stilar", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Hitta stilar", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Hitta fler stilar för denna webbplats", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Visa sökresultat i det här fönstret.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Lägg till", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klona", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Inaktiverad", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Aktiverad", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Fel", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Historik", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Nästa", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Föregående", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Återställ", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Sparad", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Titel", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Okänd", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Hjälp", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Skriv ett kommandonamn", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Tryck på en snabbtangent", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Lägg till i stilen", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Lägg till den importerade stilen i aktuell stil", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Importera", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potentiellt problem på grund av @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Ersätt stil", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "tillagd", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identisk hoppade över", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "ogiltig hoppades över", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "uppdaterade både metainfo och kod", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "uppdaterad kod", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "uppdaterad metainfo", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Importerade stilar", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Ingenting förändrades.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "stilar återställdes", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Importen har ångrats", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Installera stil", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stilen installerad", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Installera om stilen", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Uppdatera stil", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Installera uppdatering", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "För närvarande är stilen uppdaterad från $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Sök efter uppdateringar", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Licens", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Hjälp", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Skaffa stilar", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Översätt", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint stöder inte $preprocessorname$-preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Ange regel som: 0 = inaktiverad; 1 = varning; 2 = fel)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Ställ in $linter$ regler konfiguration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Inte sparat på grund av dessa ogiltiga konfigurationsinställningar:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Problem", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "Dessa problem hittades av $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Ogiltigt JSON-format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "För att ångra oavsiktlig återställning, tryck Ctrl-Z (eller CMD-Z) i textrutan", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "Se en fullständig lista över regler", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "Ett fel uppstod medan du tittade på filen", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Uppdaterar i realtid", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Ikoner i 'Tillämpad för' kolumnen", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Nedtonade", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus använder en extern tjänst https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filter", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installerade stilar", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Antal tillämpad-för objekt", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "som Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "Ny hantera UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Endast inaktiverade stilar", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Endast aktiverade stilar", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Endast externa stilar", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Endast lokalt skapade stilar", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(stilen som inte är installerade via en userstyles.org-sida)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Endast icke-Usercss-stilar", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Endast med uppdateringar eller problem", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Endast Usercss-stilar", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Visa antalet aktiva stilar", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Ogiltig @var-kryssruta: värdet måste vara 0 eller 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Ogiltig @var-färg: $color$ är inte en färg", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Ogiltig @var-$type$: värdet måste vara ett tal eller en matris", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Ogiltig @var-$type$: flera enheter definieras", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Ogiltig @var-$type$: matrisen innehåller för många objekt", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Ogiltig @var-$type$: objekt i matrisen måste vara nummer, sträng eller null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Ogiltig @var-$type$: standardvärdet är null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Ogiltig @var-$type$: standardvärdet är lägre än det lägsta", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Ogiltig @var-$type$: standardvärdet är större än det maximala", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Ogiltig @var-$type$: standardvärdet är inte en multipel av steget", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Ogiltig @var-$type$: \"$units$\" är inte en giltig enhet", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Ogiltig @var-markering: standardvärdet måste vara en matris eller ett objekt", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Ogiltig @var-markering: värden inuti matrisen/objektet måste vara en sträng", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Ogiltig @var-markering: alternativlistan är tom", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Ogiltig @var-markering: alternativetikett är tom", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Ogiltig @var-markering: flera standardalternativ definieras", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Ogiltig @var-markering: alternativnamn dupliceras", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Ogiltig @var-markering: värdet finns inte i alternativlistan", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Ogiltigt webbadressprotokoll. Endast http och https är tillåtna: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Ogiltigt versionsnummer. Värdet matchar inte SemVer-mönstret: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Förvänta dig ett nummer", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Förvänta dig en citerad sträng", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Förvänta dig ett ord", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Förvänta tecken: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Förvänta EOT-data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Obligatoriska metadata saknas: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Ogiltig JSON: $literal$ är inte en giltig JSON-bokstav", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Okända metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Okänd @$varkey$ typ: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Okänd @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Inga stilar installerade för denna webbplats.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Rad:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Hantera", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Alternativ", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Öppna stilhanteraren", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Åtgärder", - "description": "" - }, - "optionsAdvanced": { - "message": "Avancerat", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Lägg till \"Ta bort\" i redigeringsmenyn", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Exponera Iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exponerar toppdomänen i varje iframe.\nAktiverar skriva Iframe-specifik CSS så här:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Skriv ny stil som Usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Bakgrundsfärg när inaktiverad", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Bakgrundsfärg", - "description": "" - }, - "optionsCheck": { - "message": "Uppdatera stilar", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Leta efter och installera alla tillgängliga uppdateringar", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Bricka på verktygsfältsikonen", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Ikon i verktygsfältet", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Uppdateringar", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Synkronisera till molnet", - "description": "" - }, - "optionsHeading": { - "message": "Alternativ", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Mörka webbläsarteman", - "description": "" - }, - "optionsIconLight": { - "message": "Ljusa webbläsarteman", - "description": "" - }, - "optionsOpen": { - "message": "Öppna", - "description": "" - }, - "optionsOpenManager": { - "message": "Hantera stilar", - "description": "" - }, - "optionsPopupWidth": { - "message": "Bredd på popup (i pixlar)", - "description": "" - }, - "optionsReset": { - "message": "Återställ alternativen till standard", - "description": "" - }, - "optionsResetButton": { - "message": "Återställ alternativ", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Mer alternativ", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "När du importerar säkerhetskopior av stilar från gammal version eller från Stylish, gör en engångskontroll för uppdateringar manuellt i stilhanteraren för att säkerställa att alla stilar uppdateras.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle automatisk uppdateringsintervall i timmar (ange 0 för att inaktivera)", - "description": "" - }, - "optionsSyncNone": { - "message": "Inga", - "description": "" - }, - "optionsSyncConnect": { - "message": "Anslut", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Koppla från", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Synkronisera nu", - "description": "" - }, - "optionsSyncLogin": { - "message": "Logga in", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Synkroniserar...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Ansluter..", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Ansluten", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Kopplar från...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Frånkopplad", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Aktuell sida", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Uppskattat antal sidor", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Nästa sida", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Föregående sida", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Totalt sidor", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus misslyckades med att tolka Usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Sortera om format i popup efter växling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Lägg till vita kanter på sidorna", - "description": "" - }, - "popupBordersTooltip": { - "message": "Användbar för mörka teman i nya Chrome eftersom det inte längre målar sidokanterna", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Klicka för att se tillgängliga snabbtangenter", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Skift-klick eller högerklick öppnar hanteraren med stilar som gäller för aktuell webbplats", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Åtgärdsmeny", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Öppna redigeraren i ett nytt fönster", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Också aktiverad genom att ta bort redigeringsfliken från ett webbläsarfönster,\noch inaktiverad genom att fästa en enda redigeringsflik i ett annat fönster.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Stilar före kommandon", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Antalet aktiva stilar för den nuvarande webbplatsen", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Förhandsvisning i realtid", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Tillämpar tillfälligt ändringarna utan att spara.\nSpara stilen för att göra ändringarna permanenta.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Ersätt", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Ersätt alla", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Ersätt med", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Importera stilar", - "description": "" - }, - "search": { - "message": "Sök", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Skiftlägeskänslig", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Antal matchningar", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Antal matchningar i kod och tillämpad-för-värden", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Använd /re/ för regexp-sökning", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Installationer totalt", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Inga stilar hittades för denna webbplats.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "Formatet är installerat men den gäller inte den aktuella webbadressen.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Betyg", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Uppdaterad", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Installationer veckovis", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "Alla", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS-kod", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "Efter webbadress", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Namn", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Lägg till ytterligare en sektion", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Ta bort sektion", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Återställ borttagen sektion", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Genvägar", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Ställ in tangentbordsgenvägar", - "description": "" - }, - "sortDateNewestFirst": { - "message": "Nyaste först", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "äldsta först", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Välj en sort som ska tillämpas på de installerade stilarna", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Titel stigande", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Titel fallande", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sortera innehåll", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp:en är ogiltig", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Försköna", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Tips: högerklicka på knappen \"Försköna\" eller använd tangentbordsgenvägen som definieras nedan för att försköna utan att visa denna panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Bevara nya rader", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Återgå till hantera", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Du har gjort ändringar i denna stil utan att spara.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Aktiverad", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Import av Mozilla-format misslyckades", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Klistra in Mozilla-formatkoden", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Installera '$stylename$' in i Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Det gick inte att installera userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' är redan installerad. Skriva över?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Ange ett namn", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla-format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Stil tillämpades inte på grund av felaktig användning av \"regexp()\"", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Några \"regexp()\"-regler som inte alls kunde sammanställas.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "Denna stil använder delvis matchande regexps i strid med CSS4 @dokumentspecifikation som kräver en fullständig webbadressmatchning. De berörda CSS-sektionerna tillämpades inte på sidan. Denna stil skapades förmodligen i Stylish-for-Chrome som felaktigt kontrollerar 'regexp()'-regler sedan den allra första versionen (känt fel).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Antal avsnitt som inte tillämpas på grund av felaktig användning av \"regexp()\"", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp-test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matchande flikar", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Ogiltiga regexps hoppades över", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "Inga matchande flikar", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Matchar inte helt, hoppades därför över", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "Lista över matchande öppnade flikar (klicka på webbadressen för att fokusera på dess flik)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Spara", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla-formatet av koden kan skickas till userstyle.org och användas med klassikern Stylish för Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Stil i Mozilla-format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Är du säker på att du vill uppdatera '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "Stilen ändras utanför redigeraren. Vill du uppdatera stilen?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus fungerar inte på sidor som denna.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "Som en säkerhetsåtgärd förbjuder webbläsaren tillägg från att påverka dess inbyggda sidor (som chrome://version, den vanliga nya fliksidan från Chrome 61, about:addons och så vidare) samt andra tilläggssidor. Varje webbläsare begränsar också tillgången till sina egna tilläggsgalleri (som Chrome Web Store eller AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "Värdet kan inte sparas. Försök att minska mängden text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Växla stil", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Ångra", - "description": "Button label" - }, - "undoGlobal": { - "message": "Ångra i alla sektioner", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox förbjuder åtkomst till webbplatsen.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "För att tillåta åtkomst öppna , högerklicka på listan, klicka på \"Ny\", sedan \"Boolean\", klistra in och klicka på OK, , OK, uppdatera -sidan.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "I Firefox 60 och senare måste du också ta bort AMO-domän från i .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Endast Firefox 59 och nyare kan konfigureras för att tillåta WebExtensions att lägga till stilelement på CSP-skyddade webbplatser som den här.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Kunde inte kommunicera med sidan. Uppdatera fliken.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus kan endast komma åt fil:// webbadresser om du aktiverar motsvarande kryssruta för Stylus-tillägg på chrome://extensions-sidan.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus kan inte komma åt vissa filtyper (t.ex. pdf- & json-filer).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Inga uppdateringar hittades.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Vissa uppdaterbara stilar kontrollerades inte för att undvika att förlora eventuella lokala redigeringar. Uppdateringar kan tvingas genom att kontrollera individuellt, eller genom att köra en annan kontroll för alla stilar (lokala redigeringar kommer att skrivas över).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Uppdateringen misslyckades: servern svarade med kod $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Uppdateringen misslyckades: server onåbar.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Historik över uppdateringskontroller", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Installera uppdatering (lokala redigeringar kommer att skrivas över)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Att tvinga en uppdatering kommer att skriva över alla lokala ändringar.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "Denna stil redigerades lokalt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Denna stil kan ha redigerats lokalt.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stilen är uppdaterad.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Uppdatering slutförd.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Uppdateringar installerade:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Vänligen ändra värdet på @name eller @ namespace för att undvika att skriva över en befintlig stil.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Stilen uppdaterades eller togs bort efter att konfigurationsdialogrutan visades. Dessa variabler sparades inte för att undvika att förstöra stilens metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Ange @name i koden", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Ersätt standardmallen för nya Usercss-stilar med den aktuella koden?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Tom @name ersätter standardmallen", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Lägg in kod här...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Versionen är äldre än den installerade stilen.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Skriv stil för:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "denna webbadress", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox exportering", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Import/export av Dropbox ersätts av en mer avancerad synkronisering av format på sidan med alternativ.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox importering", - "description": "" - }, - "overwriteFileExport": { - "message": "Vill du skriva över en befintlig fil?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Filen sparades", - "description": "" - }, - "noFileToImport": { - "message": "För att importera dina stilar bör du exportera dem först.", - "description": "" - }, - "connectingDropbox": { - "message": "Ansluter Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Anslutning till Dropbox är endast tillgänglig i appar installerade direkt från webbutiken", - "description": "" - }, - "gettingStyles": { - "message": "Hämtar alla format...", - "description": "" - }, - "zipStyles": { - "message": "Packar stilar...", - "description": "" - }, - "unzipStyles": { - "message": "Packar upp stilar...", - "description": "" - }, - "readingStyles": { - "message": "Läsar format...", - "description": "" - }, - "uploadingFile": { - "message": "Skickar filen...", - "description": "" - }, - "addStyleLabel": { - "message": "Skriv ny stil", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus kan inte komma åt vissa filtyper (t.ex. pdf- & json-filer)." + }, + "addStyleLabel": { + "message": "Skriv ny stil" + }, + "addStyleTitle": { + "message": "Lägg till stil" + }, + "alphaChannel": { + "message": "Opacitet" + }, + "appliesAdd": { + "message": "Lägg till" + }, + "appliesDisplay": { + "message": "Tillämpad för: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "och mer" + }, + "appliesDomainOption": { + "message": "Webbadresser på domänen" + }, + "appliesHelp": { + "message": "Använd 'Tillämpad för' alternativet för att begränsa vilka webbadresser koden i denna sektion gäller för." + }, + "appliesLabel": { + "message": "Tillämpad för" + }, + "appliesLineWidgetLabel": { + "message": "Visa \"Tillämpad för\" information" + }, + "appliesLineWidgetWarning": { + "message": "Fungerar inte med minified CSS" + }, + "appliesRegexpOption": { + "message": "Webbadresser som matchar regexp:en" + }, + "appliesRemove": { + "message": "Ta bort" + }, + "appliesRemoveError": { + "message": "Kan inte ta bort senaste \"tillämpad för\" post" + }, + "appliesSpecify": { + "message": "Specificera" + }, + "appliesToEverything": { + "message": "Allt" + }, + "appliesUrlOption": { + "message": "Webbadress" + }, + "appliesUrlPrefixOption": { + "message": "Webbadresser som börjar på" + }, + "applyAllUpdates": { + "message": "Tillämpa alla uppdateringar" + }, + "author": { + "message": "Författare" + }, + "backupButtons": { + "message": "Säkerhetskopiera" + }, + "backupMessage": { + "message": "Välj en fil eller dra och släpp till den här sidan." + }, + "bckpInstStyles": { + "message": "Exportera stilar" + }, + "checkAllUpdates": { + "message": "Sök efter uppdateringar" + }, + "checkAllUpdatesForce": { + "message": "Kontrollera igen, jag redigerade inte några stilar!" + }, + "checkForUpdate": { + "message": "Sök efter uppdatering" + }, + "checkingForUpdate": { + "message": "Letar..." + }, + "clickToUninstall": { + "message": "Klicka för att avinstallera" + }, + "cm_autoCloseBrackets": { + "message": "Stäng automatiskt parenteser och citat" + }, + "cm_autoCloseBracketsTooltip": { + "message": "Lägg automatiskt till ett slutpar när du skriver en öppning av ()[]{}''\"\"" + }, + "cm_autocompleteOnTyping": { + "message": "Komplettera automatiskt när du skriver" + }, + "cm_colorpicker": { + "message": "Färgväljare för CSS-färger" + }, + "cm_indentWithTabs": { + "message": "Använd tabbar med smarta indrag" + }, + "cm_keyMap": { + "message": "Tangentkarta" + }, + "cm_lineWrapping": { + "message": "Radbrytning" + }, + "cm_matchHighlight": { + "message": "Markera" + }, + "cm_matchHighlightSelection": { + "message": "Endast urval" + }, + "cm_matchHighlightToken": { + "message": "Token under markör" + }, + "cm_resizeGripHint": { + "message": "Dubbelklicka för att maximera/återställa höjden" + }, + "cm_selectByTokens": { + "message": "Dubbelklickning väljer token" + }, + "cm_selectByTokensTooltip": { + "message": "Exempel på token: .foo-bar-2 #aabbcc 0.32 !important\nNär inaktiverad: skiljetecken-avgränsade ord väljs." + }, + "cm_smartIndent": { + "message": "Använd smarta indrag" + }, + "cm_tabSize": { + "message": "Tabbstorlek" + }, + "cm_theme": { + "message": "Tema" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Växla format: HEX -> RGB -> HSL.\nSkift-klicka för att vända riktningen.\nÄven via PgUp (PageUp), PgDn (PageDown) tangenter." + }, + "colorpickerTooltip": { + "message": "Öppen färgväljaren" + }, + "configOnChange": { + "message": "vid förändring" + }, + "configOnChangeTooltip": { + "message": "Spara automatiskt och tillämpa ändringar automatiskt" + }, + "configureStyle": { + "message": "Konfigurera" + }, + "configureStyleOnHomepage": { + "message": "Konfigurera på webbplatsen" + }, + "confirmCancel": { + "message": "Avbryt" + }, + "confirmClose": { + "message": "Stäng" + }, + "confirmDefault": { + "message": "Använd standard" + }, + "confirmDelete": { + "message": "Ta bort" + }, + "confirmDiscardChanges": { + "message": "Kassera ändringarna?" + }, + "confirmNo": { + "message": "Nej" + }, + "confirmSave": { + "message": "Spara" + }, + "confirmStop": { + "message": "Stoppa" + }, + "confirmYes": { + "message": "Ja" + }, + "connectingDropbox": { + "message": "Ansluter Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "Anslutning till Dropbox är endast tillgänglig i appar installerade direkt från webbutiken" + }, + "copied": { + "message": "Kopierad till urklipp" + }, + "copy": { + "message": "Kopiera till urklipp" + }, + "dateInstalled": { + "message": "Installerat datum" + }, + "dateUpdated": { + "message": "Datumet uppdaterat" + }, + "dbError": { + "message": "Ett fel inträffades vid hanteringen av Stylus-databasen. Skulle du vilja besöka en sida med eventuella lösningar?" + }, + "defaultTheme": { + "message": "standard" + }, + "deleteStyleConfirm": { + "message": "Är du säker på att du vill ta bort denna stil?" + }, + "deleteStyleLabel": { + "message": "Ta bort" + }, + "description": { + "message": "Designa om webben med Stylus, en användarstilshanterare. Stylus låter dig enkelt installera teman och skal för många populära webbplatser." + }, + "disableAllStyles": { + "message": "Stäng av alla stilar" + }, + "disableStyleLabel": { + "message": "Inaktivera" + }, + "dragDropMessage": { + "message": "Släpp din säkerhetskopieringsfil någonstans på den här sidan för att importera." + }, + "editDeleteText": { + "message": "Ta bort" + }, + "editGotoLine": { + "message": "Gå till rad (eller rad:kol)" + }, + "editStyleHeading": { + "message": "Ändra stil" + }, + "editStyleLabel": { + "message": "Ändra" + }, + "editStyleTitle": { + "message": "Ändra stilen $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Aktivera" + }, + "excludeStyleByDomainLabel": { + "message": "Uteslut den aktuella domänen" + }, + "excludeStyleByUrlLabel": { + "message": "Uteslut den aktuella webbadressen" + }, + "exportLabel": { + "message": "Exportera" + }, + "exportSavedSuccess": { + "message": "Filen sparades" + }, + "externalFeedback": { + "message": "Återkoppling" + }, + "externalHomepage": { + "message": "Webbplats" + }, + "externalLink": { + "message": "Extern länk" + }, + "externalUsercssDocument": { + "message": "Dokumentation för Usercss" + }, + "filteredStyles": { + "message": "$numShown$ visade av $numTotal$ totalt", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "För närvarande tillämpade filter matchar inga stilar" + }, + "findStyles": { + "message": "Hitta stilar" + }, + "findStylesForSite": { + "message": "Hitta fler stilar för denna webbplats" + }, + "findStylesInlineTooltip": { + "message": "Visa sökresultat i det här fönstret." + }, + "genericAdd": { + "message": "Lägg till" + }, + "genericClone": { + "message": "Klona" + }, + "genericDisabledLabel": { + "message": "Inaktiverad" + }, + "genericEnabledLabel": { + "message": "Aktiverad" + }, + "genericError": { + "message": "Fel" + }, + "genericHistoryLabel": { + "message": "Historik" + }, + "genericNext": { + "message": "Nästa" + }, + "genericPrevious": { + "message": "Föregående" + }, + "genericResetLabel": { + "message": "Återställ" + }, + "genericSavedMessage": { + "message": "Sparad" + }, + "genericTitle": { + "message": "Titel" + }, + "genericUnknown": { + "message": "Okänd" + }, + "gettingStyles": { + "message": "Hämtar alla format..." + }, + "helpAlt": { + "message": "Hjälp" + }, + "helpKeyMapCommand": { + "message": "Skriv ett kommandonamn" + }, + "helpKeyMapHotkey": { + "message": "Tryck på en snabbtangent" + }, + "importAppendLabel": { + "message": "Lägg till i stilen" + }, + "importAppendTooltip": { + "message": "Lägg till den importerade stilen i aktuell stil" + }, + "importLabel": { + "message": "Importera" + }, + "importPreprocessorTitle": { + "message": "Potentiellt problem på grund av @preprocessor" + }, + "importReplaceLabel": { + "message": "Ersätt stil" + }, + "importReportLegendAdded": { + "message": "tillagd" + }, + "importReportLegendIdentical": { + "message": "identisk hoppade över" + }, + "importReportLegendInvalid": { + "message": "ogiltig hoppades över" + }, + "importReportLegendUpdatedBoth": { + "message": "uppdaterade både metainfo och kod" + }, + "importReportLegendUpdatedCode": { + "message": "uppdaterad kod" + }, + "importReportLegendUpdatedMeta": { + "message": "uppdaterad metainfo" + }, + "importReportTitle": { + "message": "Importerade stilar" + }, + "importReportUnchanged": { + "message": "Ingenting förändrades." + }, + "importReportUndone": { + "message": "stilar återställdes" + }, + "importReportUndoneTitle": { + "message": "Importen har ångrats" + }, + "installButton": { + "message": "Installera stil" + }, + "installButtonInstalled": { + "message": "Stilen installerad" + }, + "installButtonReinstall": { + "message": "Installera om stilen" + }, + "installButtonUpdate": { + "message": "Uppdatera stil" + }, + "installUpdate": { + "message": "Installera uppdatering" + }, + "installUpdateFrom": { + "message": "För närvarande är stilen uppdaterad från $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "Sök efter uppdateringar" + }, + "license": { + "message": "Licens" + }, + "linkGetHelp": { + "message": "Hjälp" + }, + "linkGetStyles": { + "message": "Skaffa stilar" + }, + "linkTranslate": { + "message": "Översätt" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint stöder inte $preprocessorname$-preprocessor", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(Ange regel som: 0 = inaktiverad; 1 = varning; 2 = fel)" + }, + "linterConfigPopupTitle": { + "message": "Ställ in $linter$ regler konfiguration", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterInvalidConfigError": { + "message": "Inte sparat på grund av dessa ogiltiga konfigurationsinställningar:" + }, + "linterIssues": { + "message": "Problem" + }, + "linterIssuesHelp": { + "message": "Dessa problem hittades av $link$:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "Ogiltigt JSON-format" + }, + "linterResetMessage": { + "message": "För att ångra oavsiktlig återställning, tryck Ctrl-Z (eller CMD-Z) i textrutan" + }, + "linterRulesLink": { + "message": "Se en fullständig lista över regler" + }, + "liveReloadError": { + "message": "Ett fel uppstod medan du tittade på filen" + }, + "liveReloadLabel": { + "message": "Uppdaterar i realtid" + }, + "manageFavicons": { + "message": "Ikoner i 'Tillämpad för' kolumnen" + }, + "manageFaviconsGray": { + "message": "Nedtonade" + }, + "manageFaviconsHelp": { + "message": "Stylus använder en extern tjänst https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "Filter" + }, + "manageHeading": { + "message": "Installerade stilar" + }, + "manageMaxTargets": { + "message": "Antal tillämpad-för objekt" + }, + "manageNewStyleAsUsercss": { + "message": "som Usercss" + }, + "manageNewUI": { + "message": "Ny hantera UI layout" + }, + "manageOnlyDisabled": { + "message": "Endast inaktiverade stilar" + }, + "manageOnlyEnabled": { + "message": "Endast aktiverade stilar" + }, + "manageOnlyExternal": { + "message": "Endast externa stilar" + }, + "manageOnlyLocal": { + "message": "Endast lokalt skapade stilar" + }, + "manageOnlyLocalTooltip": { + "message": "(stilen som inte är installerade via en userstyles.org-sida)" + }, + "manageOnlyNonUsercss": { + "message": "Endast icke-Usercss-stilar" + }, + "manageOnlyUpdates": { + "message": "Endast med uppdateringar eller problem" + }, + "manageOnlyUsercss": { + "message": "Endast Usercss-stilar" + }, + "menuShowBadge": { + "message": "Visa antalet aktiva stilar" + }, + "meta_invalidCheckboxDefault": { + "message": "Ogiltig @var-kryssruta: värdet måste vara 0 eller 1" + }, + "meta_invalidColor": { + "message": "Ogiltig @var-färg: $color$ är inte en färg", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "Förvänta dig ett nummer" + }, + "meta_invalidRange": { + "message": "Ogiltig @var-$type$: värdet måste vara ett tal eller en matris", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "Ogiltig @var-$type$: standardvärdet är null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "Ogiltig @var-$type$: standardvärdet är större än det maximala", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "Ogiltig @var-$type$: standardvärdet är lägre än det lägsta", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "Ogiltig @var-$type$: flera enheter definieras", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "Ogiltig @var-$type$: standardvärdet är inte en multipel av steget", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "Ogiltig @var-$type$: matrisen innehåller för många objekt", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "Ogiltig @var-$type$: \"$units$\" är inte en giltig enhet", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "Ogiltig @var-$type$: objekt i matrisen måste vara nummer, sträng eller null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "Ogiltig @var-markering: standardvärdet måste vara en matris eller ett objekt" + }, + "meta_invalidSelectEmptyOptions": { + "message": "Ogiltig @var-markering: alternativlistan är tom" + }, + "meta_invalidSelectLabel": { + "message": "Ogiltig @var-markering: alternativetikett är tom" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "Ogiltig @var-markering: flera standardalternativ definieras" + }, + "meta_invalidSelectNameDuplicated": { + "message": "Ogiltig @var-markering: alternativnamn dupliceras" + }, + "meta_invalidSelectValue": { + "message": "Ogiltig @var-markering: värden inuti matrisen/objektet måste vara en sträng" + }, + "meta_invalidSelectValueMismatch": { + "message": "Ogiltig @var-markering: värdet finns inte i alternativlistan" + }, + "meta_invalidString": { + "message": "Förvänta dig en citerad sträng" + }, + "meta_invalidURLProtocol": { + "message": "Ogiltigt webbadressprotokoll. Endast http och https är tillåtna: $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "Ogiltigt versionsnummer. Värdet matchar inte SemVer-mönstret: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "Förvänta dig ett ord" + }, + "meta_missingChar": { + "message": "Förvänta tecken: $chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "Förvänta EOT-data" + }, + "meta_missingMandatory": { + "message": "Obligatoriska metadata saknas: $keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "Ogiltig JSON: $literal$ är inte en giltig JSON-bokstav", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "Okända metadata: $key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "Okänd @preprocessor: $preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "Okänd @$varkey$ typ: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "För att importera dina stilar bör du exportera dem först." + }, + "noStylesForSite": { + "message": "Inga stilar installerade för denna webbplats." + }, + "numberedLine": { + "message": "Rad:" + }, + "openManage": { + "message": "Hantera" + }, + "openOptions": { + "message": "Alternativ" + }, + "openStylesManager": { + "message": "Öppna stilhanteraren" + }, + "optionsActions": { + "message": "Åtgärder" + }, + "optionsAdvanced": { + "message": "Avancerat" + }, + "optionsAdvancedContextDelete": { + "message": "Lägg till \"Ta bort\" i redigeringsmenyn" + }, + "optionsAdvancedExposeIframes": { + "message": "Exponera Iframes via HTML[stylus-iframe]" + }, + "optionsAdvancedExposeIframesNote": { + "message": "Exponerar toppdomänen i varje iframe.\nAktiverar skriva Iframe-specifik CSS så här:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "Skriv ny stil som Usercss" + }, + "optionsBadgeDisabled": { + "message": "Bakgrundsfärg när inaktiverad" + }, + "optionsBadgeNormal": { + "message": "Bakgrundsfärg" + }, + "optionsCheck": { + "message": "Uppdatera stilar" + }, + "optionsCheckUpdate": { + "message": "Leta efter och installera alla tillgängliga uppdateringar" + }, + "optionsCustomizeBadge": { + "message": "Bricka på verktygsfältsikonen" + }, + "optionsCustomizeIcon": { + "message": "Ikon i verktygsfältet" + }, + "optionsCustomizeSync": { + "message": "Synkronisera till molnet" + }, + "optionsCustomizeUpdate": { + "message": "Uppdateringar" + }, + "optionsHeading": { + "message": "Alternativ" + }, + "optionsIconDark": { + "message": "Mörka webbläsarteman" + }, + "optionsIconLight": { + "message": "Ljusa webbläsarteman" + }, + "optionsOpen": { + "message": "Öppna" + }, + "optionsOpenManager": { + "message": "Hantera stilar" + }, + "optionsPopupWidth": { + "message": "Bredd på popup (i pixlar)" + }, + "optionsReset": { + "message": "Återställ alternativen till standard" + }, + "optionsResetButton": { + "message": "Återställ alternativ" + }, + "optionsSubheading": { + "message": "Mer alternativ" + }, + "optionsSyncConnect": { + "message": "Anslut" + }, + "optionsSyncDisconnect": { + "message": "Koppla från" + }, + "optionsSyncLogin": { + "message": "Logga in" + }, + "optionsSyncNone": { + "message": "Inga" + }, + "optionsSyncStatusConnected": { + "message": "Ansluten" + }, + "optionsSyncStatusConnecting": { + "message": "Ansluter.." + }, + "optionsSyncStatusDisconnected": { + "message": "Frånkopplad" + }, + "optionsSyncStatusDisconnecting": { + "message": "Kopplar från..." + }, + "optionsSyncStatusSyncing": { + "message": "Synkroniserar..." + }, + "optionsSyncSyncNow": { + "message": "Synkronisera nu" + }, + "optionsUpdateImportNote": { + "message": "När du importerar säkerhetskopior av stilar från gammal version eller från Stylish, gör en engångskontroll för uppdateringar manuellt i stilhanteraren för att säkerställa att alla stilar uppdateras." + }, + "optionsUpdateInterval": { + "message": "Userstyle automatisk uppdateringsintervall i timmar (ange 0 för att inaktivera)" + }, + "overwriteFileExport": { + "message": "Vill du skriva över en befintlig fil?" + }, + "paginationCurrent": { + "message": "Aktuell sida" + }, + "paginationEstimated": { + "message": "Uppskattat antal sidor" + }, + "paginationNext": { + "message": "Nästa sida" + }, + "paginationPrevious": { + "message": "Föregående sida" + }, + "paginationTotal": { + "message": "Totalt sidor" + }, + "parseUsercssError": { + "message": "Stylus misslyckades med att tolka Usercss:" + }, + "popupAutoResort": { + "message": "Sortera om format i popup efter växling" + }, + "popupBorders": { + "message": "Lägg till vita kanter på sidorna" + }, + "popupBordersTooltip": { + "message": "Användbar för mörka teman i nya Chrome eftersom det inte längre målar sidokanterna" + }, + "popupHotkeysTooltip": { + "message": "Klicka för att se tillgängliga snabbtangenter" + }, + "popupManageTooltip": { + "message": "Skift-klick eller högerklick öppnar hanteraren med stilar som gäller för aktuell webbplats" + }, + "popupMenuButtonTooltip": { + "message": "Åtgärdsmeny" + }, + "popupOpenEditInWindow": { + "message": "Öppna redigeraren i ett nytt fönster" + }, + "popupOpenEditInWindowTooltip": { + "message": "Också aktiverad genom att ta bort redigeringsfliken från ett webbläsarfönster,\noch inaktiverad genom att fästa en enda redigeringsflik i ett annat fönster." + }, + "popupStylesFirst": { + "message": "Stilar före kommandon" + }, + "prefShowBadge": { + "message": "Antalet aktiva stilar för den nuvarande webbplatsen" + }, + "previewLabel": { + "message": "Förhandsvisning i realtid" + }, + "previewTooltip": { + "message": "Tillämpar tillfälligt ändringarna utan att spara.\nSpara stilen för att göra ändringarna permanenta." + }, + "readingStyles": { + "message": "Läsar format..." + }, + "replace": { + "message": "Ersätt" + }, + "replaceAll": { + "message": "Ersätt alla" + }, + "replaceWith": { + "message": "Ersätt med" + }, + "retrieveBckp": { + "message": "Importera stilar" + }, + "retrieveDropboxSync": { + "message": "Dropbox importering" + }, + "search": { + "message": "Sök" + }, + "searchCaseSensitive": { + "message": "Skiftlägeskänslig" + }, + "searchNumberOfResults": { + "message": "Antal matchningar" + }, + "searchNumberOfResults2": { + "message": "Antal matchningar i kod och tillämpad-för-värden" + }, + "searchRegexp": { + "message": "Använd /re/ för regexp-sökning" + }, + "searchResultInstallCount": { + "message": "Installationer totalt" + }, + "searchResultNoneFound": { + "message": "Inga stilar hittades för denna webbplats." + }, + "searchResultNotMatching": { + "message": "Formatet är installerat men den gäller inte den aktuella webbadressen." + }, + "searchResultRating": { + "message": "Betyg" + }, + "searchResultUpdated": { + "message": "Uppdaterad" + }, + "searchResultWeeklyCount": { + "message": "Installationer veckovis" + }, + "searchStylesAll": { + "message": "Alla" + }, + "searchStylesCode": { + "message": "CSS-kod" + }, + "searchStylesMatchUrl": { + "message": "Efter webbadress" + }, + "searchStylesName": { + "message": "Namn" + }, + "sectionAdd": { + "message": "Lägg till ytterligare en sektion" + }, + "sectionCode": { + "message": "Kod" + }, + "sectionRemove": { + "message": "Ta bort sektion" + }, + "sectionRestore": { + "message": "Återställ borttagen sektion" + }, + "shortcuts": { + "message": "Genvägar" + }, + "shortcutsNote": { + "message": "Ställ in tangentbordsgenvägar" + }, + "sortDateNewestFirst": { + "message": "Nyaste först" + }, + "sortDateOldestFirst": { + "message": "äldsta först" + }, + "sortLabel": { + "message": "Välj en sort som ska tillämpas på de installerade stilarna" + }, + "sortLabelTitleAsc": { + "message": "Titel stigande" + }, + "sortLabelTitleDesc": { + "message": "Titel fallande" + }, + "sortStylesHelpTitle": { + "message": "Sortera innehåll" + }, + "styleBadRegexp": { + "message": "Regexp:en är ogiltig" + }, + "styleBeautify": { + "message": "Försköna" + }, + "styleBeautifyHint": { + "message": "Tips: högerklicka på knappen \"Försköna\" eller använd tangentbordsgenvägen som definieras nedan för att försköna utan att visa denna panel" + }, + "styleBeautifyPreserveNewlines": { + "message": "Bevara nya rader" + }, + "styleCancelEditLabel": { + "message": "Återgå till hantera" + }, + "styleChangesNotSaved": { + "message": "Du har gjort ändringar i denna stil utan att spara." + }, + "styleEnabledLabel": { + "message": "Aktiverad" + }, + "styleFromMozillaFormatError": { + "message": "Import av Mozilla-format misslyckades" + }, + "styleFromMozillaFormatPrompt": { + "message": "Klistra in Mozilla-formatkoden" + }, + "styleInstall": { + "message": "Installera '$stylename$' in i Stylus?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "Det gick inte att installera userstyle!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' är redan installerad. Skriva över?\nVersion: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Ange ett namn" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla-format" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "Stil tillämpades inte på grund av felaktig användning av \"regexp()\"" + }, + "styleRegexpInvalidExplanation": { + "message": "Några \"regexp()\"-regler som inte alls kunde sammanställas." + }, + "styleRegexpPartialExplanation": { + "message": "Denna stil använder delvis matchande regexps i strid med CSS4 @dokumentspecifikation som kräver en fullständig webbadressmatchning. De berörda CSS-sektionerna tillämpades inte på sidan. Denna stil skapades förmodligen i Stylish-for-Chrome som felaktigt kontrollerar 'regexp()'-regler sedan den allra första versionen (känt fel)." + }, + "styleRegexpProblemTooltip": { + "message": "Antal avsnitt som inte tillämpas på grund av felaktig användning av \"regexp()\"" + }, + "styleRegexpTestButton": { + "message": "RegExp-test" + }, + "styleRegexpTestFull": { + "message": "Matchande flikar" + }, + "styleRegexpTestInvalid": { + "message": "Ogiltiga regexps hoppades över" + }, + "styleRegexpTestNone": { + "message": "Inga matchande flikar" + }, + "styleRegexpTestPartial": { + "message": "Matchar inte helt, hoppades därför över" + }, + "styleRegexpTestTitle": { + "message": "Lista över matchande öppnade flikar (klicka på webbadressen för att fokusera på dess flik)" + }, + "styleSaveLabel": { + "message": "Spara" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla-formatet av koden kan skickas till userstyle.org och användas med klassikern Stylish för Firefox" + }, + "styleToMozillaFormatTitle": { + "message": "Stil i Mozilla-format" + }, + "styleUpdate": { + "message": "Är du säker på att du vill uppdatera '$stylename$'?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "Stilen ändras utanför redigeraren. Vill du uppdatera stilen?" + }, + "stylusUnavailableForURL": { + "message": "Stylus fungerar inte på sidor som denna." + }, + "stylusUnavailableForURLdetails": { + "message": "Som en säkerhetsåtgärd förbjuder webbläsaren tillägg från att påverka dess inbyggda sidor (som chrome://version, den vanliga nya fliksidan från Chrome 61, about:addons och så vidare) samt andra tilläggssidor. Varje webbläsare begränsar också tillgången till sina egna tilläggsgalleri (som Chrome Web Store eller AMO)." + }, + "syncDropboxDeprecated": { + "message": "Import/export av Dropbox ersätts av en mer avancerad synkronisering av format på sidan med alternativ." + }, + "syncDropboxStyles": { + "message": "Dropbox exportering" + }, + "syncStorageErrorSaving": { + "message": "Värdet kan inte sparas. Försök att minska mängden text." + }, + "toggleStyle": { + "message": "Växla stil" + }, + "undo": { + "message": "Ångra" + }, + "undoGlobal": { + "message": "Ångra i alla sektioner" + }, + "unreachableAMO": { + "message": "Firefox förbjuder åtkomst till webbplatsen." + }, + "unreachableAMOHint": { + "message": "För att tillåta åtkomst öppna , högerklicka på listan, klicka på \"Ny\", sedan \"Boolean\", klistra in och klicka på OK, , OK, uppdatera -sidan." + }, + "unreachableAMOHintNewFF": { + "message": "I Firefox 60 och senare måste du också ta bort AMO-domän från i ." + }, + "unreachableAMOHintOldFF": { + "message": "Endast Firefox 59 och nyare kan konfigureras för att tillåta WebExtensions att lägga till stilelement på CSP-skyddade webbplatser som den här." + }, + "unreachableContentScript": { + "message": "Kunde inte kommunicera med sidan. Uppdatera fliken." + }, + "unreachableFileHint": { + "message": "Stylus kan endast komma åt fil:// webbadresser om du aktiverar motsvarande kryssruta för Stylus-tillägg på chrome://extensions-sidan." + }, + "unzipStyles": { + "message": "Packar upp stilar..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Inga uppdateringar hittades." + }, + "updateAllCheckSucceededSomeEdited": { + "message": "Vissa uppdaterbara stilar kontrollerades inte för att undvika att förlora eventuella lokala redigeringar. Uppdateringar kan tvingas genom att kontrollera individuellt, eller genom att köra en annan kontroll för alla stilar (lokala redigeringar kommer att skrivas över)." + }, + "updateCheckFailBadResponseCode": { + "message": "Uppdateringen misslyckades: servern svarade med kod $code$.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Uppdateringen misslyckades: server onåbar." + }, + "updateCheckHistory": { + "message": "Historik över uppdateringskontroller" + }, + "updateCheckManualUpdateForce": { + "message": "Installera uppdatering (lokala redigeringar kommer att skrivas över)" + }, + "updateCheckManualUpdateHint": { + "message": "Att tvinga en uppdatering kommer att skriva över alla lokala ändringar." + }, + "updateCheckSkippedLocallyEdited": { + "message": "Denna stil redigerades lokalt." + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Denna stil kan ha redigerats lokalt." + }, + "updateCheckSucceededNoUpdate": { + "message": "Stilen är uppdaterad." + }, + "updateCompleted": { + "message": "Uppdatering slutförd." + }, + "updatesCurrentlyInstalled": { + "message": "Uppdateringar installerade:" + }, + "uploadingFile": { + "message": "Skickar filen..." + }, + "usercssAvoidOverwriting": { + "message": "Vänligen ändra värdet på @name eller @ namespace för att undvika att skriva över en befintlig stil." + }, + "usercssConfigIncomplete": { + "message": "Stilen uppdaterades eller togs bort efter att konfigurationsdialogrutan visades. Dessa variabler sparades inte för att undvika att förstöra stilens metadata:" + }, + "usercssEditorNamePlaceholder": { + "message": "Ange @name i koden" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Ersätt standardmallen för nya Usercss-stilar med den aktuella koden?" + }, + "usercssReplaceTemplateName": { + "message": "Tom @name ersätter standardmallen" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Lägg in kod här..." + }, + "versionInvalidOlder": { + "message": "Versionen är äldre än den installerade stilen." + }, + "writeStyleFor": { + "message": "Skriv stil för:" + }, + "writeStyleForURL": { + "message": "denna webbadress" + }, + "zipStyles": { + "message": "Packar stilar..." + } +} diff --git a/_locales/te/messages.json b/_locales/te/messages.json index 304d8337..be748eb3 100644 --- a/_locales/te/messages.json +++ b/_locales/te/messages.json @@ -1,1586 +1,52 @@ { - "addStyleTitle": { - "message": "Add Style", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "చేర్చు", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "వేటికి వర్తిస్తుంది; $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "ఇంకా మరిన్ని", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs on the domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Applies to", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs matching the regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "తొలగించు", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specify", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "అన్నిటికీ", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs starting with", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Apply all updates", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Check all styles for updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Check for update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Checking...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "మీరు నజంగానే ఈ శైలిని తొలగించాలనుకుంటున్నారా?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "తొలగించు", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "అచేతనించు", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit Style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "మార్చు", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "చేతనించు", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "సహాయం", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "స్థాపిత శైలులు", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "స్టైలిష్", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "భద్రపరచు", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "క్రొత్త స్టైల్ వ్రాయండి", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "క్రొత్త స్టైల్ వ్రాయండి" + }, + "appliesAdd": { + "message": "చేర్చు" + }, + "appliesDisplay": { + "message": "వేటికి వర్తిస్తుంది; $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "ఇంకా మరిన్ని" + }, + "appliesRemove": { + "message": "తొలగించు" + }, + "appliesToEverything": { + "message": "అన్నిటికీ" + }, + "deleteStyleConfirm": { + "message": "మీరు నజంగానే ఈ శైలిని తొలగించాలనుకుంటున్నారా?" + }, + "deleteStyleLabel": { + "message": "తొలగించు" + }, + "disableStyleLabel": { + "message": "అచేతనించు" + }, + "editStyleLabel": { + "message": "మార్చు" + }, + "enableStyleLabel": { + "message": "చేతనించు" + }, + "helpAlt": { + "message": "సహాయం" + }, + "manageHeading": { + "message": "స్థాపిత శైలులు" + }, + "manageTitle": { + "message": "స్టైలిష్" + }, + "styleSaveLabel": { + "message": "భద్రపరచు" + } +} diff --git a/_locales/tr/messages.json b/_locales/tr/messages.json index 9c323fed..1766ef18 100644 --- a/_locales/tr/messages.json +++ b/_locales/tr/messages.json @@ -1,1586 +1,677 @@ { - "addStyleTitle": { - "message": "Stil Ekleyin", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opaklık", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Ekleyin", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Şuraya uygulanır: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "ve diğerleri", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "Alan adındaki URLler", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Bu bölümdeki kodun hangi URLlere uygulanacağını sınırlamak için 'Şuraya uygulanır' denetimlerini kullanın.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Şuraya uygulanır", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Küçültülmüş CSS ile çalışmaz", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "regexp ile eşleşen URL'ler", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Kaldır", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Belirt", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Her şey", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "Şununla başlayan URL'ler:", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Tüm güncellemeleri uygula", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Yazar", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Yedek", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Bir dosya seçin veya bu sayfaya sürükleyip bırakın.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Dışa aktar", - "description": "" - }, - "checkAllUpdates": { - "message": "Tüm stiller için güncellemeleri denetle", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Tekrar kontrol et, herhangi bir stil düzenlemedim!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Güncellemeleri denetle", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Kontrol ediliyor...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Kaldırmak için tıklayın", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Parantezleri ve tırnak işaretlerini otomatik olarak kapat", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "()[]{}''\"\" Açılışlarından birini yazarken otomatik olarak bir kapanış çifti ekleyin", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Yazarken tamamla", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSS renk seçicileri", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Akıllı girintili tab kullan", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Tuşeşlem", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Kelime kaydırma", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Vurgulama", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Yalnızca seçim", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "İmleç altındaki token", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Yüksekliği en üst düzeye çıkarmak/geri yüklemek için çift tıklayın", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Çift tıklamak tokenleri seçer", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Token örnekleri: .foo-bar-2 #aabbcc 0.32 !important\nDevre dışı bırakıldığında: noktalama işareti ile ayrılmış kelimeler seçilir.", - "description": "" - }, - "cm_smartIndent": { - "message": "Akıllı girinti kullanma", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab büyüklüğü", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Tema", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Format değişimleri: HEX -> RGB -> HSL.\nYönü ters çevirmek için Shift tuşunu basılı tutup tıklatın.\nAyrıca PgUp (PageUp), PgDn (PageDown) tuşları ile.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Renk seçiciyi aç", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "değişiklikte", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Otomatik kaydetme ve değişiklikleri otomatik olarak uygulama", - "description": "" - }, - "configureStyle": { - "message": "Yapılandır", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Ana sayfada yapılandır", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "İptal", - "description": "" - }, - "confirmClose": { - "message": "Kapat", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Öntanımlıyı kullan", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Sil", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Değişiklikleri iptal et?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "Hayır", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "Tamam", - "description": "" - }, - "confirmSave": { - "message": "Kaydet", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Dur", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Evet", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Kopyalandı", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Kopyala", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Kurulum tarihi", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Güncelleme tarihi", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "Stylus veritabanı kullanılırken bir hata oluştu. Olası çözümler içeren bir web sayfasını ziyaret etmek ister misiniz?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "öntanımlı", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Bu stili silmek istediğinizden emin misiniz?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Sil", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Kullanıcı stil yöneticisi Stylus ile Web'in stilini yenileyin. Stylus Google, Facebook, YouTube, Orkut ve diğer pek çok site için temalar ve görünüm yüklemenize imkân tanır.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Tüm stilleri kapat", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Devre dışı bırak", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "İçe aktarmak için yedek dosyanızı bu sayfada herhangi bir yere bırakın.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "Dosyayı yüklemek için sekme şeridine (sekme başlıklarının gösterildiği alan) bırakın.", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Sil", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Satıra git (veya satır:sütun)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Stili Düzenle", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Düzenle", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "$stylename$ Stilini Düzenleyin", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Etkinleştir", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Mevcut alan adını hariç tut", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Mevcut URL'yi hariç tut", - "description": "" - }, - "exportLabel": { - "message": "Dışa aktar", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Geribildirim", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Anasayfa", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "Harici bağlantı", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Destek", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss belgeleri", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "Toplam $numTotal$ gösterilen $numShown$", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Şu anda uygulanan filtreler hiçbir stille eşleşmiyor", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Stil bul", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Bu site için başka stiller bul", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Hizada", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Arama sonuçlarını bu pencerede görüntüleyin.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Ekle", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Klon", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Devre dışı", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Etkin", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Hata", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "Geçmiş", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Sonraki", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Önceki", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Yenile", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Kaydedildi", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Başlık", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Bilinmiyor", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Yardım", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Bir komut adı yazın", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Bir kısayol tuşuna basın", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "Bu ana bilgisayar, kullanılan tarayıcının mevcut sürümündeki bir hata nedeniyle devre dışı bırakıldı", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Stile ekle", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "İçe aktarılan stili geçerli stile ekleme", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "İçe aktar", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Stilin üzerine yaz", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Geçerli stilin içeriğini atın ve içe aktarılan stil ile üzerine yazın", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "eklendi", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "hem meta bilgi hem de kod güncellendi", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "güncellenmiş kod", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "İçe aktarma geri alındı", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Stil kur", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Stil kuruldu", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Stili yeniden kur", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Stili güncelle", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Güncellemeyi yükle", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Güncellemeleri denetle", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "Lisans", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Destek al", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Viki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Çevir", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Sorunlar", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filtreler", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Yüklü Stiller", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Yalnızca etkin stiller", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Etkin stil sayısını göster", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "Bu site için hiçbir stil yüklenmedi.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Yüklü stilleri yönet", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Stil yöneticisini aç", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "İşlemler", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Etkin değilken arkaplan rengi", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Arkaplan rengi", - "description": "" - }, - "optionsCheck": { - "message": "Stilleri güncelle", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Seçenekler", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Aç", - "description": "" - }, - "optionsOpenManager": { - "message": "Stilleri yönet", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "Daha Fazla Seçenek", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Bağlan", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Bağlantıyı kes", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Giriş yap", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Bağlanılıyor...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Bağlandı", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Bağlantı kesiliyor...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Bağlantı kesildi", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Şimdiki sayfa", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Tahmini sayfa sayısı", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Sonraki sayfa", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Önceki sayfa", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Toplam sayfa", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Canlı önizleme", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Değiştir", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Hepsini değiştir", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Şununla değiştir", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Stilleri içe aktar", - "description": "" - }, - "search": { - "message": "Ara", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Toplam kurulum sayısı", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "Bu site için stil bulunamadı.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Haftalık kurulum sayısı", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Başka bölüm ekle", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Kod", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Bölümü kaldır", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Kısayollar", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Klavye kısayolları tanımla", - "description": "" - }, - "sortDateNewestFirst": { - "message": "önce en yeniler", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "önce en eskiler", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "İçeriği sırala", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Güzelleştir", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Yönetim sayfasına dön", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "Bu stilde yaptığınız, kaydedilmemiş değişiklikler var.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Etkin", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Mozilla biçemiyle yazılmış kodu yapıştır", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "'$stylename$' Stylus'e yüklensin mi?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Bir ad girin", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Biçemi", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Kaydet", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Kodun Mozilla biçimi, Firefox için Stylish ile kullanılabilir ve userstyles.org sitesine gönderilebilir.", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla biçeminde bir stil", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "\";$stylename$\" stilini güncelleştirmek istiyor musunuz?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus bunun gibi sayfalarda çalışmaz.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Geri al", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "Güncelleme bulunamadı.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Güncellenemedi: sunucu yanıt olarak $code$ kodunu gönderdi.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Güncellenemedi: sunucuya erişilemiyor.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "Güncelleme kontrolü geçmişi", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "Bu stil yerel olarak düzenlenmiş olabilir.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Stil güncel.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Güncelleme tamamlandı.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Kurulan güncellemeler:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Mevcut bir stilin üzerine yazmaktan kaçınmak için lütfen @name veya @ ad alanının değerini değiştirin.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "Stil, yapılandırma iletişim kutusu gösterildikten sonra güncellendi veya silindi. Bu değişkenler, stilin meta verilerini bozmamak için kaydedilmedi:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Kodda @name belirtin", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Yeni Usercss stilleri için varsayılan şablonu geçerli kodla değiştir?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Boş @name, varsayılan şablonun yerini alır", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Kodu buraya ekle...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "Sürüm, kurulu stillerden daha eski.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Şunun için stil yaz:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "bu URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox'tan aktar", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox içe/dışa aktarma, seçenekler sayfasında daha gelişmiş bir stil senkronizasyonu ile değiştirilir.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox'a aktar", - "description": "" - }, - "overwriteFileExport": { - "message": "Mevcut bir dosyanın üzerine yazmak istiyor musunuz?", - "description": "" - }, - "exportSavedSuccess": { - "message": "Dosya başarıyla kaydedildi", - "description": "" - }, - "noFileToImport": { - "message": "Stillerinizi içe aktarmak için önce dışa aktarmanız gerekir.", - "description": "" - }, - "connectingDropbox": { - "message": "Dropbox'a bağlanıyor...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Dropbox'a bağlanmak yalnızca doğrudan web mağazasından yüklenen uygulamalarda kullanılabilir", - "description": "" - }, - "gettingStyles": { - "message": "Tüm stiller alınıyor...", - "description": "" - }, - "zipStyles": { - "message": "Stiller sıkıştırılıyor...", - "description": "" - }, - "unzipStyles": { - "message": "Stiller açılıyor...", - "description": "" - }, - "readingStyles": { - "message": "Stiller okunuyor...", - "description": "" - }, - "uploadingFile": { - "message": "Dosya Yükleniyor...", - "description": "" - }, - "addStyleLabel": { - "message": "Yeni stil oluşturun", - "description": "Label for the button to go to the add style page" + "addStyleLabel": { + "message": "Yeni stil oluşturun" + }, + "addStyleTitle": { + "message": "Stil Ekleyin" + }, + "alphaChannel": { + "message": "Opaklık" + }, + "appliesAdd": { + "message": "Ekleyin" + }, + "appliesDisplay": { + "message": "Şuraya uygulanır: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "ve diğerleri" + }, + "appliesDomainOption": { + "message": "Alan adındaki URLler" + }, + "appliesHelp": { + "message": "Bu bölümdeki kodun hangi URLlere uygulanacağını sınırlamak için 'Şuraya uygulanır' denetimlerini kullanın." + }, + "appliesLabel": { + "message": "Şuraya uygulanır" + }, + "appliesLineWidgetWarning": { + "message": "Küçültülmüş CSS ile çalışmaz" + }, + "appliesRegexpOption": { + "message": "regexp ile eşleşen URL'ler" + }, + "appliesRemove": { + "message": "Kaldır" + }, + "appliesSpecify": { + "message": "Belirt" + }, + "appliesToEverything": { + "message": "Her şey" + }, + "appliesUrlPrefixOption": { + "message": "Şununla başlayan URL'ler:" + }, + "applyAllUpdates": { + "message": "Tüm güncellemeleri uygula" + }, + "author": { + "message": "Yazar" + }, + "backupButtons": { + "message": "Yedek" + }, + "backupMessage": { + "message": "Bir dosya seçin veya bu sayfaya sürükleyip bırakın." + }, + "bckpInstStyles": { + "message": "Dışa aktar" + }, + "checkAllUpdates": { + "message": "Tüm stiller için güncellemeleri denetle" + }, + "checkAllUpdatesForce": { + "message": "Tekrar kontrol et, herhangi bir stil düzenlemedim!" + }, + "checkForUpdate": { + "message": "Güncellemeleri denetle" + }, + "checkingForUpdate": { + "message": "Kontrol ediliyor..." + }, + "clickToUninstall": { + "message": "Kaldırmak için tıklayın" + }, + "cm_autoCloseBrackets": { + "message": "Parantezleri ve tırnak işaretlerini otomatik olarak kapat" + }, + "cm_autoCloseBracketsTooltip": { + "message": "()[]{}''\"\" Açılışlarından birini yazarken otomatik olarak bir kapanış çifti ekleyin" + }, + "cm_autocompleteOnTyping": { + "message": "Yazarken tamamla" + }, + "cm_colorpicker": { + "message": "CSS renk seçicileri" + }, + "cm_indentWithTabs": { + "message": "Akıllı girintili tab kullan" + }, + "cm_keyMap": { + "message": "Tuşeşlem" + }, + "cm_lineWrapping": { + "message": "Kelime kaydırma" + }, + "cm_matchHighlight": { + "message": "Vurgulama" + }, + "cm_matchHighlightSelection": { + "message": "Yalnızca seçim" + }, + "cm_matchHighlightToken": { + "message": "İmleç altındaki token" + }, + "cm_resizeGripHint": { + "message": "Yüksekliği en üst düzeye çıkarmak/geri yüklemek için çift tıklayın" + }, + "cm_selectByTokens": { + "message": "Çift tıklamak tokenleri seçer" + }, + "cm_selectByTokensTooltip": { + "message": "Token örnekleri: .foo-bar-2 #aabbcc 0.32 !important\nDevre dışı bırakıldığında: noktalama işareti ile ayrılmış kelimeler seçilir." + }, + "cm_smartIndent": { + "message": "Akıllı girinti kullanma" + }, + "cm_tabSize": { + "message": "Tab büyüklüğü" + }, + "cm_theme": { + "message": "Tema" + }, + "colorpickerSwitchFormatTooltip": { + "message": "Format değişimleri: HEX -> RGB -> HSL.\nYönü ters çevirmek için Shift tuşunu basılı tutup tıklatın.\nAyrıca PgUp (PageUp), PgDn (PageDown) tuşları ile." + }, + "colorpickerTooltip": { + "message": "Renk seçiciyi aç" + }, + "configOnChange": { + "message": "değişiklikte" + }, + "configOnChangeTooltip": { + "message": "Otomatik kaydetme ve değişiklikleri otomatik olarak uygulama" + }, + "configureStyle": { + "message": "Yapılandır" + }, + "configureStyleOnHomepage": { + "message": "Ana sayfada yapılandır" + }, + "confirmCancel": { + "message": "İptal" + }, + "confirmClose": { + "message": "Kapat" + }, + "confirmDefault": { + "message": "Öntanımlıyı kullan" + }, + "confirmDelete": { + "message": "Sil" + }, + "confirmDiscardChanges": { + "message": "Değişiklikleri iptal et?" + }, + "confirmNo": { + "message": "Hayır" + }, + "confirmOK": { + "message": "Tamam" + }, + "confirmSave": { + "message": "Kaydet" + }, + "confirmStop": { + "message": "Dur" + }, + "confirmYes": { + "message": "Evet" + }, + "connectingDropbox": { + "message": "Dropbox'a bağlanıyor..." + }, + "connectingDropboxNotAllowed": { + "message": "Dropbox'a bağlanmak yalnızca doğrudan web mağazasından yüklenen uygulamalarda kullanılabilir" + }, + "copied": { + "message": "Kopyalandı" + }, + "copy": { + "message": "Kopyala" + }, + "dateInstalled": { + "message": "Kurulum tarihi" + }, + "dateUpdated": { + "message": "Güncelleme tarihi" + }, + "dbError": { + "message": "Stylus veritabanı kullanılırken bir hata oluştu. Olası çözümler içeren bir web sayfasını ziyaret etmek ister misiniz?" + }, + "defaultTheme": { + "message": "öntanımlı" + }, + "deleteStyleConfirm": { + "message": "Bu stili silmek istediğinizden emin misiniz?" + }, + "deleteStyleLabel": { + "message": "Sil" + }, + "description": { + "message": "Kullanıcı stil yöneticisi Stylus ile Web'in stilini yenileyin. Stylus Google, Facebook, YouTube, Orkut ve diğer pek çok site için temalar ve görünüm yüklemenize imkân tanır." + }, + "disableAllStyles": { + "message": "Tüm stilleri kapat" + }, + "disableStyleLabel": { + "message": "Devre dışı bırak" + }, + "dragDropMessage": { + "message": "İçe aktarmak için yedek dosyanızı bu sayfada herhangi bir yere bırakın." + }, + "dragDropUsercssTabstrip": { + "message": "Dosyayı yüklemek için sekme şeridine (sekme başlıklarının gösterildiği alan) bırakın." + }, + "editDeleteText": { + "message": "Sil" + }, + "editGotoLine": { + "message": "Satıra git (veya satır:sütun)" + }, + "editStyleHeading": { + "message": "Stili Düzenle" + }, + "editStyleLabel": { + "message": "Düzenle" + }, + "editStyleTitle": { + "message": "$stylename$ Stilini Düzenleyin", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "Etkinleştir" + }, + "excludeStyleByDomainLabel": { + "message": "Mevcut alan adını hariç tut" + }, + "excludeStyleByUrlLabel": { + "message": "Mevcut URL'yi hariç tut" + }, + "exportLabel": { + "message": "Dışa aktar" + }, + "exportSavedSuccess": { + "message": "Dosya başarıyla kaydedildi" + }, + "externalFeedback": { + "message": "Geribildirim" + }, + "externalHomepage": { + "message": "Anasayfa" + }, + "externalLink": { + "message": "Harici bağlantı" + }, + "externalSupport": { + "message": "Destek" + }, + "externalUsercssDocument": { + "message": "Usercss belgeleri" + }, + "filteredStyles": { + "message": "Toplam $numTotal$ gösterilen $numShown$", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "Şu anda uygulanan filtreler hiçbir stille eşleşmiyor" + }, + "findStyles": { + "message": "Stil bul" + }, + "findStylesForSite": { + "message": "Bu site için başka stiller bul" + }, + "findStylesInline": { + "message": "Hizada" + }, + "findStylesInlineTooltip": { + "message": "Arama sonuçlarını bu pencerede görüntüleyin." + }, + "genericAdd": { + "message": "Ekle" + }, + "genericClone": { + "message": "Klon" + }, + "genericDisabledLabel": { + "message": "Devre dışı" + }, + "genericEnabledLabel": { + "message": "Etkin" + }, + "genericError": { + "message": "Hata" + }, + "genericHistoryLabel": { + "message": "Geçmiş" + }, + "genericNext": { + "message": "Sonraki" + }, + "genericPrevious": { + "message": "Önceki" + }, + "genericResetLabel": { + "message": "Yenile" + }, + "genericSavedMessage": { + "message": "Kaydedildi" + }, + "genericTitle": { + "message": "Başlık" + }, + "genericUnknown": { + "message": "Bilinmiyor" + }, + "gettingStyles": { + "message": "Tüm stiller alınıyor..." + }, + "helpAlt": { + "message": "Yardım" + }, + "helpKeyMapCommand": { + "message": "Bir komut adı yazın" + }, + "helpKeyMapHotkey": { + "message": "Bir kısayol tuşuna basın" + }, + "hostDisabled": { + "message": "Bu ana bilgisayar, kullanılan tarayıcının mevcut sürümündeki bir hata nedeniyle devre dışı bırakıldı" + }, + "importAppendLabel": { + "message": "Stile ekle" + }, + "importAppendTooltip": { + "message": "İçe aktarılan stili geçerli stile ekleme" + }, + "importLabel": { + "message": "İçe aktar" + }, + "importReplaceLabel": { + "message": "Stilin üzerine yaz" + }, + "importReplaceTooltip": { + "message": "Geçerli stilin içeriğini atın ve içe aktarılan stil ile üzerine yazın" + }, + "importReportLegendAdded": { + "message": "eklendi" + }, + "importReportLegendUpdatedBoth": { + "message": "hem meta bilgi hem de kod güncellendi" + }, + "importReportLegendUpdatedCode": { + "message": "güncellenmiş kod" + }, + "importReportUndoneTitle": { + "message": "İçe aktarma geri alındı" + }, + "installButton": { + "message": "Stil kur" + }, + "installButtonInstalled": { + "message": "Stil kuruldu" + }, + "installButtonReinstall": { + "message": "Stili yeniden kur" + }, + "installButtonUpdate": { + "message": "Stili güncelle" + }, + "installUpdate": { + "message": "Güncellemeyi yükle" + }, + "installUpdateFromLabel": { + "message": "Güncellemeleri denetle" + }, + "license": { + "message": "Lisans" + }, + "linkGetHelp": { + "message": "Destek al" + }, + "linkStylusWiki": { + "message": "Viki" + }, + "linkTranslate": { + "message": "Çevir" + }, + "linterIssues": { + "message": "Sorunlar" + }, + "manageFilters": { + "message": "Filtreler" + }, + "manageHeading": { + "message": "Yüklü Stiller" + }, + "manageOnlyEnabled": { + "message": "Yalnızca etkin stiller" + }, + "menuShowBadge": { + "message": "Etkin stil sayısını göster" + }, + "noFileToImport": { + "message": "Stillerinizi içe aktarmak için önce dışa aktarmanız gerekir." + }, + "noStylesForSite": { + "message": "Bu site için hiçbir stil yüklenmedi." + }, + "openManage": { + "message": "Yüklü stilleri yönet" + }, + "openStylesManager": { + "message": "Stil yöneticisini aç" + }, + "optionsActions": { + "message": "İşlemler" + }, + "optionsBadgeDisabled": { + "message": "Etkin değilken arkaplan rengi" + }, + "optionsBadgeNormal": { + "message": "Arkaplan rengi" + }, + "optionsCheck": { + "message": "Stilleri güncelle" + }, + "optionsHeading": { + "message": "Seçenekler" + }, + "optionsOpen": { + "message": "Aç" + }, + "optionsOpenManager": { + "message": "Stilleri yönet" + }, + "optionsSubheading": { + "message": "Daha Fazla Seçenek" + }, + "optionsSyncConnect": { + "message": "Bağlan" + }, + "optionsSyncDisconnect": { + "message": "Bağlantıyı kes" + }, + "optionsSyncLogin": { + "message": "Giriş yap" + }, + "optionsSyncStatusConnected": { + "message": "Bağlandı" + }, + "optionsSyncStatusConnecting": { + "message": "Bağlanılıyor..." + }, + "optionsSyncStatusDisconnected": { + "message": "Bağlantı kesildi" + }, + "optionsSyncStatusDisconnecting": { + "message": "Bağlantı kesiliyor..." + }, + "overwriteFileExport": { + "message": "Mevcut bir dosyanın üzerine yazmak istiyor musunuz?" + }, + "paginationCurrent": { + "message": "Şimdiki sayfa" + }, + "paginationEstimated": { + "message": "Tahmini sayfa sayısı" + }, + "paginationNext": { + "message": "Sonraki sayfa" + }, + "paginationPrevious": { + "message": "Önceki sayfa" + }, + "paginationTotal": { + "message": "Toplam sayfa" + }, + "previewLabel": { + "message": "Canlı önizleme" + }, + "readingStyles": { + "message": "Stiller okunuyor..." + }, + "replace": { + "message": "Değiştir" + }, + "replaceAll": { + "message": "Hepsini değiştir" + }, + "replaceWith": { + "message": "Şununla değiştir" + }, + "retrieveBckp": { + "message": "Stilleri içe aktar" + }, + "retrieveDropboxSync": { + "message": "Dropbox'a aktar" + }, + "search": { + "message": "Ara" + }, + "searchResultInstallCount": { + "message": "Toplam kurulum sayısı" + }, + "searchResultNoneFound": { + "message": "Bu site için stil bulunamadı." + }, + "searchResultWeeklyCount": { + "message": "Haftalık kurulum sayısı" + }, + "sectionAdd": { + "message": "Başka bölüm ekle" + }, + "sectionCode": { + "message": "Kod" + }, + "sectionRemove": { + "message": "Bölümü kaldır" + }, + "shortcuts": { + "message": "Kısayollar" + }, + "shortcutsNote": { + "message": "Klavye kısayolları tanımla" + }, + "sortDateNewestFirst": { + "message": "önce en yeniler" + }, + "sortDateOldestFirst": { + "message": "önce en eskiler" + }, + "sortStylesHelpTitle": { + "message": "İçeriği sırala" + }, + "styleBeautify": { + "message": "Güzelleştir" + }, + "styleCancelEditLabel": { + "message": "Yönetim sayfasına dön" + }, + "styleChangesNotSaved": { + "message": "Bu stilde yaptığınız, kaydedilmemiş değişiklikler var." + }, + "styleEnabledLabel": { + "message": "Etkin" + }, + "styleFromMozillaFormatPrompt": { + "message": "Mozilla biçemiyle yazılmış kodu yapıştır" + }, + "styleInstall": { + "message": "'$stylename$' Stylus'e yüklensin mi?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "Bir ad girin" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla Biçemi" + }, + "styleSaveLabel": { + "message": "Kaydet" + }, + "styleToMozillaFormatHelp": { + "message": "Kodun Mozilla biçimi, Firefox için Stylish ile kullanılabilir ve userstyles.org sitesine gönderilebilir." + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla biçeminde bir stil" + }, + "styleUpdate": { + "message": "\";$stylename$\" stilini güncelleştirmek istiyor musunuz?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "stylusUnavailableForURL": { + "message": "Stylus bunun gibi sayfalarda çalışmaz." + }, + "syncDropboxDeprecated": { + "message": "Dropbox içe/dışa aktarma, seçenekler sayfasında daha gelişmiş bir stil senkronizasyonu ile değiştirilir." + }, + "syncDropboxStyles": { + "message": "Dropbox'tan aktar" + }, + "undo": { + "message": "Geri al" + }, + "unzipStyles": { + "message": "Stiller açılıyor..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "Güncelleme bulunamadı." + }, + "updateCheckFailBadResponseCode": { + "message": "Güncellenemedi: sunucu yanıt olarak $code$ kodunu gönderdi.", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "Güncellenemedi: sunucuya erişilemiyor." + }, + "updateCheckHistory": { + "message": "Güncelleme kontrolü geçmişi" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "Bu stil yerel olarak düzenlenmiş olabilir." + }, + "updateCheckSucceededNoUpdate": { + "message": "Stil güncel." + }, + "updateCompleted": { + "message": "Güncelleme tamamlandı." + }, + "updatesCurrentlyInstalled": { + "message": "Kurulan güncellemeler:" + }, + "uploadingFile": { + "message": "Dosya Yükleniyor..." + }, + "usercssAvoidOverwriting": { + "message": "Mevcut bir stilin üzerine yazmaktan kaçınmak için lütfen @name veya @ ad alanının değerini değiştirin." + }, + "usercssConfigIncomplete": { + "message": "Stil, yapılandırma iletişim kutusu gösterildikten sonra güncellendi veya silindi. Bu değişkenler, stilin meta verilerini bozmamak için kaydedilmedi:" + }, + "usercssEditorNamePlaceholder": { + "message": "Kodda @name belirtin" + }, + "usercssReplaceTemplateConfirmation": { + "message": "Yeni Usercss stilleri için varsayılan şablonu geçerli kodla değiştir?" + }, + "usercssReplaceTemplateName": { + "message": "Boş @name, varsayılan şablonun yerini alır" + }, + "usercssReplaceTemplateSectionBody": { + "message": "Kodu buraya ekle..." + }, + "versionInvalidOlder": { + "message": "Sürüm, kurulu stillerden daha eski." + }, + "writeStyleFor": { + "message": "Şunun için stil yaz:" + }, + "writeStyleForURL": { + "message": "bu URL" + }, + "zipStyles": { + "message": "Stiller sıkıştırılıyor..." + } +} diff --git a/_locales/uk/messages.json b/_locales/uk/messages.json deleted file mode 100644 index d058a54d..00000000 --- a/_locales/uk/messages.json +++ /dev/null @@ -1,1586 +0,0 @@ -{ - "addStyleTitle": { - "message": "Add Style", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "Opacity", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "Add", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "Applies to: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "and more", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "URLs on the domain", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "Use the 'Applies to' controls to limit what URLs the code in this section applies to.", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "Applies to", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "Display 'Applies to' info", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "Does not work with minified CSS", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "URLs matching the regexp", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "Remove", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "Can not remove last 'applies to' entry", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "Specify", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "Everything", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "URLs starting with", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "Apply all updates", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "Author", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "Backup", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "Select a file or drag and drop to this page.", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "Export styles", - "description": "" - }, - "checkAllUpdates": { - "message": "Check all styles for updates", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "Check again, I didn't edit any styles!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "Check for update", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "Checking...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "Click to uninstall", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "Autoclose brackets and quotes", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "Automatically add a closing pair when typing an opening one of ()[]{}''\"\"", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "Autocomplete on typing", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "Colorpickers for CSS colors", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "Use tabs with smart indentation", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "Keymap", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "Word wrap", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "Highlight", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "Selection only", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "Token under cursor", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "Double-click to maximize/restore the height", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "Double-clicking selects tokens", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Examples of tokens: .foo-bar-2 #aabbcc 0.32 !important\nWhen disabled: punctuation-delimited words are selected.", - "description": "" - }, - "cm_smartIndent": { - "message": "Use smart indentation", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab size", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "Theme", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "Right-click a swatch to cycle through its source lines", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "Switch formats: HEX -> RGB -> HSL.\nShift-click to reverse the direction.\nAlso via PgUp (PageUp), PgDn (PageDown) keys.", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "Open color picker", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "on change", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "Autosave and apply changes automatically", - "description": "" - }, - "configureStyle": { - "message": "Configure", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "Configure on homepage", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "Cancel", - "description": "" - }, - "confirmClose": { - "message": "Close", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "Use default", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "Delete", - "description": "" - }, - "confirmDiscardChanges": { - "message": "Discard the changes?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "No", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "OK", - "description": "" - }, - "confirmSave": { - "message": "Save", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "Stop", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "Yes", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "Copied to clipboard", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "Copy to clipboard", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "Enter a custom name here to rename the style in UI without breaking its updates", - "description": "" - }, - "customNameResetHint": { - "message": "Stop using customized name, switch to the style's own name", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$d", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$h", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$m", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$y", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "Date installed", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "Date updated", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "An error has occurred using the Stylus database. Would you like to visit a web page with possible solutions?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "default", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "Are you sure you want to delete this style?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "Delete", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Redesign the web with Stylus, a user styles manager. Stylus allows you to easily install themes and skins for many popular sites.", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "Turn all styles off", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "Disable", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "Drop your backup file anywhere on this page to import.", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "To install the file, drop it on the tab strip (the area where the tab titles are shown).", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "Delete", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "Goto line (or line:col)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "Edit Style", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "Edit", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "Edit Style $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "Enable", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "Exclude the current domain", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "Exclude the current URL", - "description": "" - }, - "exportLabel": { - "message": "Export", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "Feedback", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "Homepage", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "External link", - "description": "Label for external links" - }, - "externalSupport": { - "message": "Support", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Documentation for Usercss", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ shown of $numTotal$ total", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "Currently applied filters match no styles", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "Find styles", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "Find more styles for this site", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "Inline", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "Display search results inside this window.", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "Add", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "Clone", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "Disabled", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "Enabled", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "Error", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "History", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "Next", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "Previous", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "Reset", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "Saved", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "Title", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "Unknown", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "Help", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "Type a command name", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "Press a hotkey", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "This host has been disabled due to a bug in the current version of the browser being used", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "Append to style", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "Append the imported style to current style", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "Import", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "Style with a @preprocessor won't work in the classic mode. You can switch the editor to Usercss mode: 1) open the style manager, 2) enable \"as Usercss\" checkbox, 3) click \"Write new style\"\n\nImport now anyway?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "Potential problem due to @preprocessor", - "description": "" - }, - "importReplaceLabel": { - "message": "Overwrite style", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "Discard contents of current style and overwrite it with the imported style", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "added", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "identical skipped", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "invalid skipped", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "updated both meta info and code", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "updated code", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "updated meta info", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "Finished importing styles", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "Nothing was changed.", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "styles were reverted", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "Import has been undone", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "Install style", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "Style installed", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "Reinstall style", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "Update style", - "description": "Label for update button" - }, - "installUpdate": { - "message": "Install update", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "Currently the style is updated from $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "Check for updates", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "License", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "Get help", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "Get styles", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "Translate", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint doesn't support $preprocessorname$ preprocessor", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(Set rule as: 0 = disabled; 1 = warning; 2 = error)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "Set $linter$ rules configuration", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "Click to configure this linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "Not saved due to these invalid configuration settings:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "Issues", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "These issues were found by $link$:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "Invalid JSON format", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "To undo accidental reset, press Ctrl-Z (or Cmd-Z) in the text box", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "See a full list of rules", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "An error occurred while watching the file", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "Keep this tab open to auto-update the style on external changes.", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "Keep both this tab and the original tab open to auto-update the style on external changes.", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "Live reload", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons in applies-to column", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "Grayed out", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus uses an external service https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "Filters", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "Installed Styles", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "Number of applies-to items", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "as Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "New manage UI layout", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "Only disabled styles", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "Only enabled styles", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "Only external styles", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "Only locally created styles", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(the styles not installed through a userstyles.org page)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "Only non-Usercss styles", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "Only with updates or issues", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "Only Usercss styles", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "Show active style count", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "Invalid @var checkbox: value must be 0 or 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "Invalid @var color: $color$ is not a color", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "Invalid @var $type$: value must be a number or an array", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "Invalid @var $type$: multiple units are defined", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "Invalid @var $type$: the array contains too many items", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "Invalid @var $type$: items in the array must be number, string, or null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "Invalid @var $type$: default value is null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "Invalid @var $type$: default value is lower than the minimum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "Invalid @var $type$: default value is larger than the maximum", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "Invalid @var $type$: default value is not a mutiple of the step", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "Invalid @var $type$: '$units$' is not a valid unit", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "Invalid @var select: the default value must be an array or an object", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "Invalid @var select: values inside the array/object must be a string", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "Invalid @var select: options list is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "Invalid @var select: option label is empty", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "Invalid @var select: multiple default options are defined", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "Invalid @var select: option name is duplicated", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "Invalid @var select: value doesn't exist in the option list", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "Invalid URL protocol. Only http and https are allowed: $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "Expect a number", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "Expect a quoted string", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "Expect a word", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "Expect characters: $chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "Expect EOT data", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "Missing mandatory metadata: $keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "Invalid JSON: $literal$ is not a valid JSON literal", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "Unknown metadata: $key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "Unknown @$varkey$ type: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "Unknown @preprocessor: $preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "No styles installed for this site.", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "Line:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "Manage", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "Options", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "Open styles manager", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "Actions", - "description": "" - }, - "optionsAdvanced": { - "message": "Advanced", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "Add 'Delete' in editor context menu", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "Expose iframes via HTML[stylus-iframe]", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "Exposes the top site domain in each iframe.\nEnables writing iframe-specific CSS like this:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "Write new style as usercss", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "Patch CSP to allow style assets", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "Enable this if styles contain images or fonts which fail to load on sites with a strict CSP (Content-Security-Policy).\n\nEnabling this setting will relax CSP restrictions, allowing essential style content to load. This option is only intended for advanced users who understand the potential security implications, and accept responsibility for monitoring the content which they're allowing. Read about CSS-based attacks for more information.\n\nAlso be aware, this particular setting is not guaranteed to take effect if another installed extension modifies the network response first.", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "Instant inject mode", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "Enable this if you encounter flashing of unstyled content (FOUC) when browsing, which is especially noticeable with dark themes.\n\nThe technical reason is that Chrome/Chromium postpones asynchronous communication of extensions, in a usually meaningless attempt to improve page load speed, potentially causing styles to be late to apply. To circumvent this, since web extensions are not provided a synchronous API, Stylus provides this option to utilize the \"deprecated\" synchronous XMLHttpRequest web API to fetch applicable styles. There shouldn't be any detrimental effects, since the request is fulfilled within a few milliseconds while the page is still being downloaded from the server.\n\nNevertheless, Chromium will print a warning in devtools' console. Right-clicking a warning, and hiding them, will prevent future warnings from being shown.", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "Background color when disabled", - "description": "" - }, - "optionsBadgeNormal": { - "message": "Background color", - "description": "" - }, - "optionsCheck": { - "message": "Update styles", - "description": "" - }, - "optionsCheckUpdate": { - "message": "Check for and install all available updates", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "Badge on the toolbar icon", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "Toolbar icon", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "Updates", - "description": "" - }, - "optionsCustomizeSync": { - "message": "Sync to cloud", - "description": "" - }, - "optionsHeading": { - "message": "Options", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "Dark browser themes", - "description": "" - }, - "optionsIconLight": { - "message": "Light browser themes", - "description": "" - }, - "optionsOpen": { - "message": "Open", - "description": "" - }, - "optionsOpenManager": { - "message": "Manage styles", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup width (in pixels)", - "description": "" - }, - "optionsReset": { - "message": "Reset the options to default values", - "description": "" - }, - "optionsResetButton": { - "message": "Reset options", - "description": "" - }, - "optionsStylusThemes": { - "message": "Find a Stylus UI theme", - "description": "" - }, - "optionsSubheading": { - "message": "More Options", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "When importing style backups from old version or from Stylish, do a one-time check for updates manually in the styles manager to ensure all styles are updated.", - "description": "" - }, - "optionsUpdateInterval": { - "message": "Userstyle autoupdate interval in hours (specify 0 to disable)", - "description": "" - }, - "optionsSyncNone": { - "message": "None", - "description": "" - }, - "optionsSyncConnect": { - "message": "Connect", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "Disconnect", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "Sync now", - "description": "" - }, - "optionsSyncLogin": { - "message": "Login", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "Pulling style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "Pushing style $loaded$ of $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "Syncing...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "Connecting...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "Connected", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "Disconnecting...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "Disconnected", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "Current page", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "Estimated number of pages", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "Next page", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "Previous page", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "Total pages", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus failed to parse usercss:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "Resort styles in popup after toggling", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "Add white borders on the sides", - "description": "" - }, - "popupBordersTooltip": { - "message": "Useful for dark themes in new Chrome as it no longer paints the side borders", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0>, also on numpad - toggles Nth style (0 is 10)\n- toggles first style with a name that starts with the letter\n opens editor instead of toggling\n enables listed styles\n disables listed styles\n and <`> (backtick) - toggles initially enabled styles; doesn't apply to subsequently enabled styles while the popup is open so you can restore the initial selection after testing stuff: simply disable all, then toggle i.e. \nMore info on wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "Click to see available hotkeys", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift-click or right-click opens manager with styles applicable for current site", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "Action menu", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "Use a simple window (no omnibox)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "Open editor in a new window", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "Also enabled by detaching editor tab from a browser window,\nand disabled by attaching a single editor tab into another window.", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "Styles before commands", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "Number of styles active for the current site", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "Live preview", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "Temporarily applies the changes without saving.\nSave the style to make the changes permanent.", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "Reload Stylus extension", - "description": "Context menu reload" - }, - "replace": { - "message": "Replace", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "Replace all", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "Replace with", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "Import styles", - "description": "" - }, - "search": { - "message": "Search", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "Case-sensitive", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "Also search global styles", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "Number of matches", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "Number of matches in code and applies-to values", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "Search style names case-insensitively:\nsome words - all words in any order\n\"some phrase\" - this exact phrase without quotes\n2020 - a year like this also shows styles updated in 2020", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "Use /re/ syntax for regexp search", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "Total installs", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "No styles found for this site.", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "Rating", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "Updated", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "Weekly installs", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "All", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS code", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " or key focuses the search field.\nDefault mode is plain text search for all space-separated terms in any order.\nExact words: wrap the query in double quotes, e.g. <\".header ~ div\">\nRegular expressions: include slashes and flags, e.g. \n\"By URL\" in scope selector: finds styles that apply to a fully specified URL e.g. https://www.example.org/\n\"Metadata\" in scope selector: searches in names, \"applies to\" specifiers, installation URL, update URL, and the entire metadata block for usercss styles.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "By URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "Metadata", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "Name", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "Add another section", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "Code", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "Remove section", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "Restore removed section", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "Sections", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "Shortcuts", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "Define keyboard shortcuts", - "description": "" - }, - "sortDateNewestFirst": { - "message": "newest first", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "oldest first", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "Select a sort to apply to the installed styles", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "Title Ascending", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "Title Descending", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "Choose the type of sort to apply to the installed entries from within the sort dropdown. The default setting applies an ascending sort (A to Z) to the entry titles. Sorts within the \"Title Descending\" group will apply a descending sort (Z to A) to the title.\nThere are other presets that will allow sorting the entries by multiple criteria. Think of this like sorting a table with multiple columns and each category in a select (between the plus signs) represents a column, or group.\nFor example, if the setting is \"Enabled (first) + Title\", the entries would sort so that all the enabled entries are sorted to the top of the list, then an entry title ascending sort (A to Z) is applied to both the enabled and disabled entries separately.", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "Sort contents", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "Regexp is invalid.", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "Beautify", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "Hint: right-click the “Beautify” button or use the keyboard shortcut defined below to beautify without showing this panel", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "Indent @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "Preserve new lines", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "Back to manage", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "You've made changes to this style without saving.", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "Enabled", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "Failed to import from Mozilla format", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "Paste the Mozilla-format code", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "Install '$stylename$' into Stylus?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "Failed to install userstyle!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' is already installed. Overwrite?\nVersion: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "Enter a name", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla Format", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "Style was not applied due to its incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "Some 'regexp()' rules that could not be compiled at all.", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "This style uses partially matching regexps in violation of CSS4 @document specification which requires a full URL match. The affected CSS sections were not applied to the page. This style was probably created in Stylish-for-Chrome which incorrectly checks 'regexp()' rules since the very first version (known bug).", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "Number of sections not applied due to incorrect usage of 'regexp()'", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "RegExp test", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "Matching tabs", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "Invalid regexps skipped", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "No matching tabs", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "Note: use a single \\ for escaping in the regexp input field, which will be automatically converted to \\\\ in the style code as per specification for quoted strings in CSS.", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "Not matching fully, hence skipped", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "List of matching opened tabs (click on URL to focus its tab)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "Save", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "The Mozilla format of the code can be submitted to userstyles.org and used with the classic Stylish for Firefox", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Style in Mozilla format", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "Are you sure you want to update '$stylename$'?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "The style is changed outside of the editor. Would you like to reload the style?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus doesn't work on pages like this.", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "As a security precaution, the browser prohibits extensions from affecting its built-in pages (like chrome://version, the standard new tab page as of Chrome 61, about:addons, and so on) as well as other extensions' pages. Each browser also restricts access to its own extensions gallery (like Chrome Web Store or AMO).", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "The value cannot be saved. Try reducing the amount of text.", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "Toggle style", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "Undo", - "description": "Button label" - }, - "undoGlobal": { - "message": "Undo in all sections", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox forbids access to the site.", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "To allow access open , right-click the list, click 'New', then 'Boolean', paste and click OK, , OK, reload the page.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "In Firefox 60 and newer you'll also have to remove AMO domain from in .", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "Only Firefox 59 and newer can be configured to allow WebExtensions to add style elements on CSP-protected sites such as this one.", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "Could not communicate with the page. Try reloading the tab.", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus can access file:// URLs only if you enable the corresponding checkbox for Stylus extension on chrome://extensions page.", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus can not access some file types (e.g. pdf & json files).", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "No updates found.", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "Some updatable styles weren't checked to avoid losing possible local edits. Updates can be forced by checking individually, or by running another check for all styles (local edits will be overwritten).", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "Update failed: server responded with code $code$.", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "Update failed: server unreachable.", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "History of update checks", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "Install update (local edits will be overwritten)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "Forcing an update will overwrite any local edits.", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "This style was edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "This style might have been edited locally.", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "Style is up to date.", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "Update completed.", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "Updates installed:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "Please change the value of @name or @namespace to avoid overwriting an existing style.", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "The style was updated or deleted after the configuration dialog was shown. These variables were not saved to avoid corrupting the style's metadata:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "Specify @name in the code", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "Replace the default template for new Usercss styles with the current code?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "Empty @name replaces the default template", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "Insert code here...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "The version is older than the installed style.", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "Write style for: ", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "this URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox Export", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox import/export is replaced by a more advanced style sync in the options page.", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox Import", - "description": "" - }, - "overwriteFileExport": { - "message": "Do you want to overwrite an existing file?", - "description": "" - }, - "exportSavedSuccess": { - "message": "File saved with success", - "description": "" - }, - "noFileToImport": { - "message": "To import your styles, you should export it first.", - "description": "" - }, - "connectingDropbox": { - "message": "Connecting Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "Connecting to Dropbox is only available in apps installed directly from the webstore", - "description": "" - }, - "gettingStyles": { - "message": "Getting all styles...", - "description": "" - }, - "zipStyles": { - "message": "Zipping styles...", - "description": "" - }, - "unzipStyles": { - "message": "Unzipping styles...", - "description": "" - }, - "readingStyles": { - "message": "Reading styles...", - "description": "" - }, - "uploadingFile": { - "message": "Uploading File...", - "description": "" - }, - "addStyleLabel": { - "message": "Write new style", - "description": "Label for the button to go to the add style page" - } -} \ No newline at end of file diff --git a/_locales/zh/messages.json b/_locales/zh/messages.json index 3325b482..64873312 100644 --- a/_locales/zh/messages.json +++ b/_locales/zh/messages.json @@ -1,1586 +1,1373 @@ { - "addStyleTitle": { - "message": "添加样式", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "添加部分", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "应用于:$applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "更多", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "域名", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "〔URL〕⠅ 具体固定网址。URL可额外匹配到URL#hash,但反之不行。\n〔前缀〕⠅ url-prefix 以此前缀为起始开头的任何链接。\n〔域名〕⠅ domain 也默认匹配旗下子域名, 域名下任何链接。\n〔正则〕⠅ RegExp 1) 这里的正则会隐形附加 ^ $ 故只能为完整匹配模式, 且在使用懒惰正则也要注意这点;\n      2) 可以不转义 / (导出导入也会自动CSS转义符)\n\n⚠ 1) 这里不支持 * 通配符; 2) 黑名单排除也可到Popup里的 ⠇ 菜单里操作; 3) 在匹配时也要注意iframe框架URL与地址栏URL是不同的哦。\n详见github.com/openstyles/stylus/wiki/Writing-styles", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "应用于:", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "显示应用于部件", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "对经过压缩的 CSS 无效", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "正则", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "删除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "无法移除最后一个“应用于”项目", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "所有页面", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL ", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "前缀", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "应用全部更新", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "备份", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "拖拽JSON备份文件到本页面也可导入。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "导出所有样式", - "description": "" - }, - "checkAllUpdates": { - "message": "检测全部更新", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "我没有修改过任何样式,再检查一次!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "检查更新", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "正在检查更新...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "点击卸载", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "括弧配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "自动完成", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "颜色器", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "用Tab智能缩进", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "键盘映射", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "自动换行", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "高亮", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "仅选择区域", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "光标token字段", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "双击可最大化/恢复高度", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "双击选中token字段", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中", - "description": "" - }, - "cm_smartIndent": { - "message": "智能缩进", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "缩进宽度", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "主题", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "右击: 循环跳转到所在行", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "转换格式: HEX → RGB → HSL\n反向转换: Shift+单击 或 PgUp/PgDn", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "打开颜色器", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "即时生效", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "实时预览+自动保存", - "description": "" - }, - "configureStyle": { - "message": "配置", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "通过userstyles.org配置选项", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "取消", - "description": "" - }, - "confirmClose": { - "message": "关闭", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "使用默认值", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "删除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "确定要放弃修改吗?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "否", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "确认", - "description": "" - }, - "confirmSave": { - "message": "保存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "停止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "是", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "已复制到粘贴板", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "复制到粘贴板", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "在此自定义本地名称才不影响在线更新", - "description": "" - }, - "customNameResetHint": { - "message": "切换为样式的原始名称", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$天前", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$时前", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$月前", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$年前", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "安装日期", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日期", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "默认", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "确定要删除此样式吗 ??", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "删除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus 是广受好评的 CSS&UserCSS 用户样式容器! 能够自定义网页样式和在线安装分享等等...", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "禁用所有样式", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "禁用", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "拖放JSON备份文件到管理器页面即可导入!", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "删除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "跳转至行(或行:列)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "编辑样式", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "编辑", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "修改样式“$stylename$”", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "启用", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "排除当前域名", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "排除当前链接", - "description": "" - }, - "exportLabel": { - "message": "导出", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "反馈", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "主页", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部链接", - "description": "Label for external links" - }, - "externalSupport": { - "message": "支持", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "UserCSS 外部文档", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "共$numTotal$个,已显示 $numShown$ 个", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "没有样式匹配当前的过滤器选项", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "查找样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "查找该域名的在线样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "嵌入此页", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "将搜索结果嵌入到此页面显示", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "添加", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "创建副本", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "禁用", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "已启用", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "错误", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "历史", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "下一个", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "上一个", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "重置", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "已保存", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "标题", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "未知", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "帮助", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "输入命令名称", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "按下热键", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "追加导入", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "以追加的方式来导入", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "导入", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "潜在问题之 @preprocessor 预处理", - "description": "" - }, - "importReplaceLabel": { - "message": "覆盖替换导入", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "完全覆盖的替换导入", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "个样式已被添加", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "已忽略相同样式", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "忽略无效的代码", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "已更新的所有信息和代码", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "代码已更新", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "升级信息", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "样式导入完成", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "导入的样式无效。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "个样式被还原", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "样式导入被取消", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "安装样式", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "样式安装完成", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "重新安装样式", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新样式", - "description": "Label for update button" - }, - "installUpdate": { - "message": "安装更新", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "当前样式更新自 $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "检查更新", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "许可证", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "帮助", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "获取样式", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "翻译", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint 不支持 $preprocessorname$ 预处理器", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "设置 $linter$ 规则", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "配置此Linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "由于配置无效所以未保存:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "问题", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ 找到了这些问题:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "无效的 JSON 格式", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "查看完整的规则清单", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "查看文件时发生错误", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "动态刷新", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "显示 \"应用于\" 的favicon图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "显示为灰色图标", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "过滤器", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "样式管理器", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "显示 \"应用于\" 的数量", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "新建为UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新版管理器", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "只显示 未启用 ", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "只显示 已启用 ", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "只显示 外部安装", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "只显示 本地创建", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(此样式无法通过 userstyles.org 页面进行安装)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "只显示 非UserCSS", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "只显示 可升级的 ", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "只显示 UserCSS", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus管理器", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "计数器角标", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "无效 @var 复选框:赋值必须为 0 或 1 ", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "无效 @var 颜色:$color$不是颜色", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "无效 @var $type$:必须是单个数字或数组", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "无效 @var $type$:多个单位被定义", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "无效的 @var $type$: 数组中包含了过多项", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "无效 @var $type$:默认值为空", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "无效的 @var $type$: 默认值低于最小值", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "无效的 @var $type$: 默认值大于最大值", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "无效的 @var $type$: 默认值不是一个数字或范围", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "无效的 @var $type$: '$units$' 不是有效的单位", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "无效的 @var 选择: 默认值必须是数组或对象", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "无效的 @var 选择: 列表项为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "无效的 @var 选择: 项的标签为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "无效的 @var 选择: 定义了多个默认项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "无效的 @var 选择: 项的名称是重复的", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "无效的 @var 选择: 列表中不存在任何项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "需要一个数字", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "需要一个带引号的字符串", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "需要一个单词", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "需要字母:$chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "需要 EOT 数据", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "缺少必要的元数据:$keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "未知的元数据:$key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "未知的 @$varkey$ 类型: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "未知的预处理器 @preprocessor:$preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "此网站没有样式。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理器", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "选项", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "打开管理器", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "操作", - "description": "" - }, - "optionsAdvanced": { - "message": "高级设置", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "向编辑器右键菜单添加“删除”", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "给 iframe 注入 stylus-iframe=\"父域名\"", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "给每个iframe内嵌框架的html注入 stylus-iframe=\"父域名hostname\" 属性(值),\n\n用途: 用作iframe选择器来一键确定 iframe 父窗(window.top) 页面 的唯一选择器.\n\n示例 html[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\n详见源码:github.com/openstyles/stylus/blob/master/content/apply.js#L270", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "将新样式的格式设为UserCSS", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "启用CSP补丁以使样式资源生效", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "XHR即时注入模式", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(术语叫FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供Web扩展的样式同步的API接口,因此Stylus提供了此选项来变相实现, 利用 “已弃用的” XMLHttpRequest 这个同步API来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就OK了, 而网页此时仍在从服务器下载中.\n有关FOUC报告,你可以查看此讨论https://crbug.com/853986\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。 不过也可以手动搞定: 右键单击警告并将其隐藏,将防止再次显示警告。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "计数器背景色 (一键全禁用时)", - "description": "" - }, - "optionsBadgeNormal": { - "message": "计数器背景色", - "description": "" - }, - "optionsCheck": { - "message": "检查样式更新", - "description": "" - }, - "optionsCheckUpdate": { - "message": "检查并安装所有可用的更新", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "计数器角标", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "图标风格", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "检测更新", - "description": "" - }, - "optionsCustomizeSync": { - "message": "同步到云端", - "description": "" - }, - "optionsHeading": { - "message": "选项", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "高对比度暗色图标", - "description": "" - }, - "optionsIconLight": { - "message": "低对比度亮色图标", - "description": "" - }, - "optionsOpen": { - "message": "打开", - "description": "" - }, - "optionsOpenManager": { - "message": "管理器", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup 弹框的宽度(px)", - "description": "" - }, - "optionsReset": { - "message": "重置所有选项为默认值", - "description": "" - }, - "optionsResetButton": { - "message": "恢复默认值", - "description": "" - }, - "optionsStylusThemes": { - "message": "查找 Stylus UI 主题ᐝ", - "description": "" - }, - "optionsSubheading": { - "message": "附加选项", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "从旧版的 Stylus 或 Stylish 中导入备份样式时,\n请手动检测升级一次,以确保所有样式都可更新到最新版本。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "每隔 N 小时 自动检测更新(0 为禁用)", - "description": "" - }, - "optionsSyncNone": { - "message": "无", - "description": "" - }, - "optionsSyncConnect": { - "message": "连接", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "断开连接", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "现在同步", - "description": "" - }, - "optionsSyncLogin": { - "message": "登录", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "正在获取样式 $loaded$ 中的 $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "正在上传样式 $loaded$ 中的 $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "同步中...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "连接中...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "已连接", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "正在断开连接...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "已断开连接", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "Session expired, please login again.", - "description": "" - }, - "paginationCurrent": { - "message": "当前页数", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "已找到的样式总页数", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "下一页", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "上一页", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "总页面", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus 未能成功解析 UserCSS:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "样式切换后实时排序", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "在两边增加白色边框", - "description": "" - }, - "popupBordersTooltip": { - "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "查看Popup列表快捷键", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "右击 || Shift+左击: 打开管理器且筛选当前URL(不含iframe)", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "操作菜单", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "使用简易编辑器窗口(无omnibox栏)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "新窗口打开编辑器(或直接拖拽ꖅ)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "此选项可不管,只因它能动态跟随记忆\n编辑器标签页的拖出/拖入的状态 即:\n拖出单独窗口时, ON 该选项.\n拖入合并窗口时, OFF该选项.\n\"简易编辑器窗口\" 只在新窗口才简易简洁", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "样式列表置顶", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "计数器角标 (或图标右键)", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "实时预览", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "无需保存即可临时预览样式效果", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "重启 Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "替换", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "全部替换", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "替换为", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "导入所有样式", - "description": "" - }, - "search": { - "message": "搜索", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "大小写敏感", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "全局搜索", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "已找到", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "在代码和应用中匹配的数量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "/regex/ 用 / 包裹语法来正则搜索", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "总的安装次数", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "没有找到与此页面相关的样式。", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "The style is installed but it doesn't apply to the current site URL.", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "Try asking the author of this userstyle to add the URL.\n\nYou can also open the style in the manager and edit it yourself,\nbut be aware it disables automatic updates for this style.", - "description": "" - }, - "searchResultRating": { - "message": "评价", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "最后更新日期", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "本周安装次数", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "全部", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "代码", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " 或 聚焦搜索框;    清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n\n●搜索语法:\n空格隔开 : \"且\" 同时包含,不分顺序。\n 要用 \"或\" 包含, 请使用正则 /A|B/\n\"精确搜索\" :用双引号包裹(跟网页搜索一样) 如 <\"head ~ div\">\n/正则搜索/ :js语法 用 / / 包裹及正则属性标记 如\n\n●搜索范围选择器\n`元数据`: 包含有 样式名称、“应用于”、安装/更新URL、以及UserCSS中整个元数据块(即==UserStyle==那些)。\n\n`按URL`: 查找适用于完全指定URL的样式,如 http://www.example.org/", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "按URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "元数据", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名称", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "添加新部分", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "代码", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "删除此部分", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "撤销删除", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "章节", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "快捷键", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "设置快捷键", - "description": "" - }, - "sortDateNewestFirst": { - "message": "最新的优先", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "最旧的优先", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "选择对已安装的样式应用的排序规则", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "标题升序", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "标题降序", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "默认用「标题升序」排序(A - Z)\n反之, 「标题降序」则是(Z - A)\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "自定义排序帮助信息", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正则表达式无效。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "格式化", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "右键格式化按钮 或 下面的快捷键\n可实现一键格式化而不显示此弹框", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "缩进 @media、@supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "保留新增空行", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "返回管理器", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "您已对此样式进行了更改,但尚未保存。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "启用", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "导入 Mozilla 格式失败", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "粘贴 Mozilla 格式代码", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "要将“$stylename$”安装到 Stylus 中吗?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "安装用户样式失败!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "输入名称", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla 格式", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "正则表达式错误,样式无法正常运行", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "部分正则表达式无法生效。", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "多个部分代码无法正常处理正则表达式", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正则测试", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "匹配到标签页的正则", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "忽略无效的正则表达式", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "没有匹配到标签页的正则", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "没有完全匹配,因此忽略", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "已打开标签页的正则匹配(点击URL可跳转)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "保存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla 格式的样式", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "是否更新 “$stylename$”?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "样式已经在编辑器外被修改。需要重新加载样式吗?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus 无法介入到此类页面", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "浏览器出于安全而限制扩展介入到\n非自身的chrome-extension://、chrome://、官方扩展商店页", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "不能保存该值,请尝试减少文本数量。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "Sync failed", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "Sync failed.\nTry to re-login in Stylus options:\nclick 'disconnect' first, then 'connect'.", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "切换ON/OFF", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "撤销", - "description": "Button label" - }, - "undoGlobal": { - "message": "撤销 (全局)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox 禁止访问该站点。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "无法介入到此页面", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "! Stylus 无法介入到官方商店页面 !\n若是文件页面 或 小号无痕页面 请检查:\n1) 右键 - Stylus图标 并点击-\"管理扩展程序\"\n2) 勾选 - \"允许访问文件网址\" 以在 file:// 工作\n3) 勾选 - \"在无痕模式下启用\" 以在无痕页面和小号标签页工作 (有的浏览器带有小号功能、如CentBrowser)", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "没有找到更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新失败: 服务器响应代码为 $code$。", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "更新失败: 无法访问服务器。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "检测升级的历史记录", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "安装更新(将覆盖本地修改的样式)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "强制升级将覆盖所有本地修改的样式", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "此样式已在本地修改过。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "样式已是最新版本。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新已完成。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新已安装:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "在代码中指定 @name 来设置名称", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "使用当前的 UserStyle 替换为新的UserCSS默认模板 ??", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "该赋值为空的保存可设置默认模板", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "在此插入代码...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "当前样式版本比已安装样式版本旧。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "新建样式给:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "导出至 Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "从 Dropbox 导入", - "description": "" - }, - "overwriteFileExport": { - "message": "是否覆盖现有文件?", - "description": "" - }, - "exportSavedSuccess": { - "message": "文件保存成功", - "description": "" - }, - "noFileToImport": { - "message": "要导入你的样式,你应该先导出。", - "description": "" - }, - "connectingDropbox": { - "message": "正在连接至 Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序", - "description": "" - }, - "gettingStyles": { - "message": "正在获取所有样式...", - "description": "" - }, - "zipStyles": { - "message": "正在压缩样式...", - "description": "" - }, - "unzipStyles": { - "message": "正在解压样式...", - "description": "" - }, - "readingStyles": { - "message": "正在读取样式...", - "description": "" - }, - "uploadingFile": { - "message": "正在上传文件...", - "description": "" - }, - "addStyleLabel": { - "message": "新建样式", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。" + }, + "addStyleLabel": { + "message": "新建样式" + }, + "addStyleTitle": { + "message": "添加样式" + }, + "alphaChannel": { + "message": "透明度" + }, + "appliesAdd": { + "message": "添加部分" + }, + "appliesDisplay": { + "message": "应用于:$applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "更多" + }, + "appliesDomainOption": { + "message": "域名" + }, + "appliesHelp": { + "message": "〔URL〕⠅ 具体固定网址。URL可额外匹配到URL#hash,但反之不行。\n〔前缀〕⠅ url-prefix 以此前缀为起始开头的任何链接。\n〔域名〕⠅ domain 也默认匹配旗下子域名, 域名下任何链接。\n〔正则〕⠅ RegExp 1) 这里的正则会隐形附加 ^ $ 故只能为完整匹配模式, 且在使用懒惰正则也要注意这点;\n      2) 可以不转义 / (导出导入也会自动CSS转义符)\n\n⚠ 1) 这里不支持 * 通配符; 2) 黑名单排除也可到Popup里的 ⠇ 菜单里操作; 3) 在匹配时也要注意iframe框架URL与地址栏URL是不同的哦。\n详见github.com/openstyles/stylus/wiki/Writing-styles" + }, + "appliesLabel": { + "message": "应用于:" + }, + "appliesLineWidgetLabel": { + "message": "显示应用于部件" + }, + "appliesLineWidgetWarning": { + "message": "对经过压缩的 CSS 无效" + }, + "appliesRegexpOption": { + "message": "正则" + }, + "appliesRemove": { + "message": "删除" + }, + "appliesRemoveError": { + "message": "无法移除最后一个“应用于”项目" + }, + "appliesSpecify": { + "message": "指定" + }, + "appliesToEverything": { + "message": "所有页面" + }, + "appliesUrlOption": { + "message": "URL " + }, + "appliesUrlPrefixOption": { + "message": "前缀" + }, + "applyAllUpdates": { + "message": "应用全部更新" + }, + "author": { + "message": "作者" + }, + "backupButtons": { + "message": "备份" + }, + "backupMessage": { + "message": "拖拽JSON备份文件到本页面也可导入。" + }, + "bckpInstStyles": { + "message": "导出所有样式" + }, + "checkAllUpdates": { + "message": "检测全部更新" + }, + "checkAllUpdatesForce": { + "message": "我没有修改过任何样式,再检查一次!" + }, + "checkForUpdate": { + "message": "检查更新" + }, + "checkingForUpdate": { + "message": "正在检查更新..." + }, + "clickToUninstall": { + "message": "点击卸载" + }, + "cm_autoCloseBrackets": { + "message": "括弧配对" + }, + "cm_autoCloseBracketsTooltip": { + "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对" + }, + "cm_autocompleteOnTyping": { + "message": "自动完成" + }, + "cm_colorpicker": { + "message": "颜色器" + }, + "cm_indentWithTabs": { + "message": "用Tab智能缩进" + }, + "cm_keyMap": { + "message": "键盘映射" + }, + "cm_lineWrapping": { + "message": "自动换行" + }, + "cm_linter": { + "message": "Linter" + }, + "cm_matchHighlight": { + "message": "高亮" + }, + "cm_matchHighlightSelection": { + "message": "仅选择区域" + }, + "cm_matchHighlightToken": { + "message": "光标token字段" + }, + "cm_resizeGripHint": { + "message": "双击可最大化/恢复高度" + }, + "cm_selectByTokens": { + "message": "双击选中token字段" + }, + "cm_selectByTokensTooltip": { + "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中" + }, + "cm_smartIndent": { + "message": "智能缩进" + }, + "cm_tabSize": { + "message": "缩进宽度" + }, + "cm_theme": { + "message": "主题" + }, + "colorpickerPaletteHint": { + "message": "右击: 循环跳转到所在行" + }, + "colorpickerSwitchFormatTooltip": { + "message": "转换格式: HEX → RGB → HSL\n反向转换: Shift+单击 或 PgUp/PgDn" + }, + "colorpickerTooltip": { + "message": "打开颜色器" + }, + "configOnChange": { + "message": "即时生效" + }, + "configOnChangeTooltip": { + "message": "实时预览+自动保存" + }, + "configureStyle": { + "message": "配置" + }, + "configureStyleOnHomepage": { + "message": "通过userstyles.org配置选项" + }, + "confirmCancel": { + "message": "取消" + }, + "confirmClose": { + "message": "关闭" + }, + "confirmDefault": { + "message": "使用默认值" + }, + "confirmDelete": { + "message": "删除" + }, + "confirmDiscardChanges": { + "message": "确定要放弃修改吗?" + }, + "confirmNo": { + "message": "否" + }, + "confirmOK": { + "message": "确认" + }, + "confirmSave": { + "message": "保存" + }, + "confirmStop": { + "message": "停止" + }, + "confirmYes": { + "message": "是" + }, + "connectingDropbox": { + "message": "正在连接至 Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序" + }, + "copied": { + "message": "已复制到粘贴板" + }, + "copy": { + "message": "复制到粘贴板" + }, + "customNameHint": { + "message": "在此自定义本地名称才不影响在线更新" + }, + "customNameResetHint": { + "message": "切换为样式的原始名称" + }, + "dateAbbrDay": { + "message": "$value$天前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrHour": { + "message": "$value$时前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrMonth": { + "message": "$value$月前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrYear": { + "message": "$value$年前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "安装日期" + }, + "dateUpdated": { + "message": "更新日期" + }, + "dbError": { + "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?" + }, + "defaultTheme": { + "message": "默认" + }, + "deleteStyleConfirm": { + "message": "确定要删除此样式吗 ??" + }, + "deleteStyleLabel": { + "message": "删除" + }, + "description": { + "message": "Stylus 是广受好评的 CSS&UserCSS 用户样式容器! 能够自定义网页样式和在线安装分享等等..." + }, + "disableAllStyles": { + "message": "禁用所有样式" + }, + "disableStyleLabel": { + "message": "禁用" + }, + "dragDropMessage": { + "message": "拖放JSON备份文件到管理器页面即可导入!" + }, + "dragDropUsercssTabstrip": { + "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。" + }, + "editDeleteText": { + "message": "删除" + }, + "editGotoLine": { + "message": "跳转至行(或行:列)" + }, + "editStyleHeading": { + "message": "编辑样式" + }, + "editStyleLabel": { + "message": "编辑" + }, + "editStyleTitle": { + "message": "修改样式“$stylename$”", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "启用" + }, + "excludeStyleByDomainLabel": { + "message": "排除当前域名" + }, + "excludeStyleByUrlLabel": { + "message": "排除当前链接" + }, + "exportLabel": { + "message": "导出" + }, + "exportSavedSuccess": { + "message": "文件保存成功" + }, + "externalFeedback": { + "message": "反馈" + }, + "externalHomepage": { + "message": "主页" + }, + "externalLink": { + "message": "外部链接" + }, + "externalSupport": { + "message": "支持" + }, + "externalUsercssDocument": { + "message": "UserCSS 外部文档" + }, + "filteredStyles": { + "message": "共$numTotal$个,已显示 $numShown$ 个", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "没有样式匹配当前的过滤器选项" + }, + "findStyles": { + "message": "查找样式" + }, + "findStylesForSite": { + "message": "查找该域名的在线样式" + }, + "findStylesInline": { + "message": "嵌入此页" + }, + "findStylesInlineTooltip": { + "message": "将搜索结果嵌入到此页面显示" + }, + "genericAdd": { + "message": "添加" + }, + "genericClone": { + "message": "创建副本" + }, + "genericDisabledLabel": { + "message": "禁用" + }, + "genericEnabledLabel": { + "message": "已启用" + }, + "genericError": { + "message": "错误" + }, + "genericHistoryLabel": { + "message": "历史" + }, + "genericNext": { + "message": "下一个" + }, + "genericPrevious": { + "message": "上一个" + }, + "genericResetLabel": { + "message": "重置" + }, + "genericSavedMessage": { + "message": "已保存" + }, + "genericTitle": { + "message": "标题" + }, + "genericUnknown": { + "message": "未知" + }, + "gettingStyles": { + "message": "正在获取所有样式..." + }, + "helpAlt": { + "message": "帮助" + }, + "helpKeyMapCommand": { + "message": "输入命令名称" + }, + "helpKeyMapHotkey": { + "message": "按下热键" + }, + "hostDisabled": { + "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用" + }, + "importAppendLabel": { + "message": "追加导入" + }, + "importAppendTooltip": { + "message": "以追加的方式来导入" + }, + "importLabel": { + "message": "导入" + }, + "importPreprocessor": { + "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?" + }, + "importPreprocessorTitle": { + "message": "潜在问题之 @preprocessor 预处理" + }, + "importReplaceLabel": { + "message": "覆盖替换导入" + }, + "importReplaceTooltip": { + "message": "完全覆盖的替换导入" + }, + "importReportLegendAdded": { + "message": "个样式已被添加" + }, + "importReportLegendIdentical": { + "message": "已忽略相同样式" + }, + "importReportLegendInvalid": { + "message": "忽略无效的代码" + }, + "importReportLegendUpdatedBoth": { + "message": "已更新的所有信息和代码" + }, + "importReportLegendUpdatedCode": { + "message": "代码已更新" + }, + "importReportLegendUpdatedMeta": { + "message": "升级信息" + }, + "importReportTitle": { + "message": "样式导入完成" + }, + "importReportUnchanged": { + "message": "导入的样式无效。" + }, + "importReportUndone": { + "message": "个样式被还原" + }, + "importReportUndoneTitle": { + "message": "样式导入被取消" + }, + "installButton": { + "message": "安装样式" + }, + "installButtonInstalled": { + "message": "样式安装完成" + }, + "installButtonReinstall": { + "message": "重新安装样式" + }, + "installButtonUpdate": { + "message": "更新样式" + }, + "installUpdate": { + "message": "安装更新" + }, + "installUpdateFrom": { + "message": "当前样式更新自 $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "检查更新" + }, + "license": { + "message": "许可证" + }, + "linkGetHelp": { + "message": "帮助" + }, + "linkGetStyles": { + "message": "获取样式" + }, + "linkTranslate": { + "message": "翻译" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint 不支持 $preprocessorname$ 预处理器", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)" + }, + "linterConfigPopupTitle": { + "message": "设置 $linter$ 规则", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "配置此Linter" + }, + "linterInvalidConfigError": { + "message": "由于配置无效所以未保存:" + }, + "linterIssues": { + "message": "问题" + }, + "linterIssuesHelp": { + "message": "$link$ 找到了这些问题:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "无效的 JSON 格式" + }, + "linterResetMessage": { + "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)" + }, + "linterRulesLink": { + "message": "查看完整的规则清单" + }, + "liveReloadError": { + "message": "查看文件时发生错误" + }, + "liveReloadInstallHint": { + "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。" + }, + "liveReloadInstallHintFF": { + "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。" + }, + "liveReloadLabel": { + "message": "动态刷新" + }, + "manageFavicons": { + "message": "显示 \"应用于\" 的favicon图标" + }, + "manageFaviconsGray": { + "message": "显示为灰色图标" + }, + "manageFaviconsHelp": { + "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标" + }, + "manageFilters": { + "message": "过滤器" + }, + "manageHeading": { + "message": "样式管理器" + }, + "manageMaxTargets": { + "message": "显示 \"应用于\" 的数量" + }, + "manageNewStyleAsUsercss": { + "message": "新建为UserCSS" + }, + "manageNewUI": { + "message": "新版管理器" + }, + "manageOnlyDisabled": { + "message": "只显示 未启用 " + }, + "manageOnlyEnabled": { + "message": "只显示 已启用 " + }, + "manageOnlyExternal": { + "message": "只显示 外部安装" + }, + "manageOnlyLocal": { + "message": "只显示 本地创建" + }, + "manageOnlyLocalTooltip": { + "message": "(此样式无法通过 userstyles.org 页面进行安装)" + }, + "manageOnlyNonUsercss": { + "message": "只显示 非UserCSS" + }, + "manageOnlyUpdates": { + "message": "只显示 可升级的 " + }, + "manageOnlyUsercss": { + "message": "只显示 UserCSS" + }, + "manageTitle": { + "message": "Stylus管理器" + }, + "menuShowBadge": { + "message": "计数器角标" + }, + "meta_invalidCheckboxDefault": { + "message": "无效 @var 复选框:赋值必须为 0 或 1 " + }, + "meta_invalidColor": { + "message": "无效 @var 颜色:$color$不是颜色", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "需要一个数字" + }, + "meta_invalidRange": { + "message": "无效 @var $type$:必须是单个数字或数组", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "无效 @var $type$:默认值为空", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "无效的 @var $type$: 默认值大于最大值", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "无效的 @var $type$: 默认值低于最小值", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "无效 @var $type$:多个单位被定义", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "无效的 @var $type$: 默认值不是一个数字或范围", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "无效的 @var $type$: 数组中包含了过多项", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "无效的 @var $type$: '$units$' 不是有效的单位", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "无效的 @var 选择: 默认值必须是数组或对象" + }, + "meta_invalidSelectEmptyOptions": { + "message": "无效的 @var 选择: 列表项为空" + }, + "meta_invalidSelectLabel": { + "message": "无效的 @var 选择: 项的标签为空" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "无效的 @var 选择: 定义了多个默认项" + }, + "meta_invalidSelectNameDuplicated": { + "message": "无效的 @var 选择: 项的名称是重复的" + }, + "meta_invalidSelectValue": { + "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符" + }, + "meta_invalidSelectValueMismatch": { + "message": "无效的 @var 选择: 列表中不存在任何项" + }, + "meta_invalidString": { + "message": "需要一个带引号的字符串" + }, + "meta_invalidURLProtocol": { + "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "需要一个单词" + }, + "meta_missingChar": { + "message": "需要字母:$chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "需要 EOT 数据" + }, + "meta_missingMandatory": { + "message": "缺少必要的元数据:$keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "未知的元数据:$key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "未知的预处理器 @preprocessor:$preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "未知的 @$varkey$ 类型: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "要导入你的样式,你应该先导出。" + }, + "noStylesForSite": { + "message": "此网站没有样式。" + }, + "numberedLine": { + "message": "行:" + }, + "openManage": { + "message": "管理器" + }, + "openOptions": { + "message": "选项" + }, + "openStylesManager": { + "message": "打开管理器" + }, + "optionsActions": { + "message": "操作" + }, + "optionsAdvanced": { + "message": "高级设置" + }, + "optionsAdvancedContextDelete": { + "message": "向编辑器右键菜单添加“删除”" + }, + "optionsAdvancedExposeIframes": { + "message": "给 iframe 注入 stylus-iframe=\"父域名\"" + }, + "optionsAdvancedExposeIframesNote": { + "message": "给每个iframe内嵌框架的html注入 stylus-iframe=\"父域名hostname\" 属性(值),\n\n用途: 用作iframe选择器来一键确定 iframe 父窗(window.top) 页面 的唯一选择器.\n\n示例 html[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\n详见源码:github.com/openstyles/stylus/blob/master/content/apply.js#L270" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "将新样式的格式设为UserCSS" + }, + "optionsAdvancedPatchCsp": { + "message": "启用CSP补丁以使样式资源生效" + }, + "optionsAdvancedPatchCspNote": { + "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。" + }, + "optionsAdvancedStyleViaXhr": { + "message": "XHR即时注入模式" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(术语叫FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供Web扩展的样式同步的API接口,因此Stylus提供了此选项来变相实现, 利用 “已弃用的” XMLHttpRequest 这个同步API来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就OK了, 而网页此时仍在从服务器下载中.\n有关FOUC报告,你可以查看此讨论https://crbug.com/853986\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。 不过也可以手动搞定: 右键单击警告并将其隐藏,将防止再次显示警告。" + }, + "optionsBadgeDisabled": { + "message": "计数器背景色 (一键全禁用时)" + }, + "optionsBadgeNormal": { + "message": "计数器背景色" + }, + "optionsCheck": { + "message": "检查样式更新" + }, + "optionsCheckUpdate": { + "message": "检查并安装所有可用的更新" + }, + "optionsCustomizeBadge": { + "message": "计数器角标" + }, + "optionsCustomizeIcon": { + "message": "图标风格" + }, + "optionsCustomizePopup": { + "message": "Popup " + }, + "optionsCustomizeSync": { + "message": "同步到云端" + }, + "optionsCustomizeUpdate": { + "message": "检测更新" + }, + "optionsHeading": { + "message": "选项" + }, + "optionsIconDark": { + "message": "高对比度暗色图标" + }, + "optionsIconLight": { + "message": "低对比度亮色图标" + }, + "optionsOpen": { + "message": "打开" + }, + "optionsOpenManager": { + "message": "管理器" + }, + "optionsPopupWidth": { + "message": "Popup 弹框的宽度(px)" + }, + "optionsReset": { + "message": "重置所有选项为默认值" + }, + "optionsResetButton": { + "message": "恢复默认值" + }, + "optionsStylusThemes": { + "message": "查找 Stylus UI 主题ᐝ" + }, + "optionsSubheading": { + "message": "附加选项" + }, + "optionsSyncConnect": { + "message": "连接" + }, + "optionsSyncDisconnect": { + "message": "断开连接" + }, + "optionsSyncLogin": { + "message": "登录" + }, + "optionsSyncNone": { + "message": "无" + }, + "optionsSyncStatusConnected": { + "message": "已连接" + }, + "optionsSyncStatusConnecting": { + "message": "连接中..." + }, + "optionsSyncStatusDisconnected": { + "message": "已断开连接" + }, + "optionsSyncStatusDisconnecting": { + "message": "正在断开连接..." + }, + "optionsSyncStatusPull": { + "message": "正在获取样式 $loaded$ 中的 $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "正在上传样式 $loaded$ 中的 $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusSyncing": { + "message": "同步中..." + }, + "optionsSyncSyncNow": { + "message": "现在同步" + }, + "optionsUpdateImportNote": { + "message": "从旧版的 Stylus 或 Stylish 中导入备份样式时,\n请手动检测升级一次,以确保所有样式都可更新到最新版本。" + }, + "optionsUpdateInterval": { + "message": "每隔 N 小时 自动检测更新(0 为禁用)" + }, + "overwriteFileExport": { + "message": "是否覆盖现有文件?" + }, + "paginationCurrent": { + "message": "当前页数" + }, + "paginationEstimated": { + "message": "已找到的样式总页数" + }, + "paginationNext": { + "message": "下一页" + }, + "paginationPrevious": { + "message": "上一页" + }, + "paginationTotal": { + "message": "总页面" + }, + "parseUsercssError": { + "message": "Stylus 未能成功解析 UserCSS:" + }, + "popupAutoResort": { + "message": "样式切换后实时排序" + }, + "popupBorders": { + "message": "在两边增加白色边框" + }, + "popupBordersTooltip": { + "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki" + }, + "popupHotkeysTooltip": { + "message": "查看Popup列表快捷键" + }, + "popupManageTooltip": { + "message": "右击 || Shift+左击: 打开管理器且筛选当前URL(不含iframe)" + }, + "popupMenuButtonTooltip": { + "message": "操作菜单" + }, + "popupOpenEditInPopup": { + "message": "使用简易编辑器窗口(无omnibox栏)" + }, + "popupOpenEditInWindow": { + "message": "新窗口打开编辑器(或直接拖拽ꖅ)" + }, + "popupOpenEditInWindowTooltip": { + "message": "此选项可不管,只因它能动态跟随记忆\n编辑器标签页的拖出/拖入的状态 即:\n拖出单独窗口时, ON 该选项.\n拖入合并窗口时, OFF该选项.\n\"简易编辑器窗口\" 只在新窗口才简易简洁" + }, + "popupStylesFirst": { + "message": "样式列表置顶" + }, + "prefShowBadge": { + "message": "计数器角标 (或图标右键)" + }, + "previewLabel": { + "message": "实时预览" + }, + "previewTooltip": { + "message": "无需保存即可临时预览样式效果" + }, + "readingStyles": { + "message": "正在读取样式..." + }, + "reload": { + "message": "重启 Stylus" + }, + "replace": { + "message": "替换" + }, + "replaceAll": { + "message": "全部替换" + }, + "replaceWith": { + "message": "替换为" + }, + "retrieveBckp": { + "message": "导入所有样式" + }, + "retrieveDropboxSync": { + "message": "从 Dropbox 导入" + }, + "search": { + "message": "搜索" + }, + "searchCaseSensitive": { + "message": "大小写敏感" + }, + "searchGlobalStyles": { + "message": "全局搜索" + }, + "searchNumberOfResults": { + "message": "已找到" + }, + "searchNumberOfResults2": { + "message": "在代码和应用中匹配的数量" + }, + "searchRegexp": { + "message": "/regex/ 用 / 包裹语法来正则搜索" + }, + "searchResultInstallCount": { + "message": "总的安装次数" + }, + "searchResultNoneFound": { + "message": "没有找到与此页面相关的样式。" + }, + "searchResultRating": { + "message": "评价" + }, + "searchResultUpdated": { + "message": "最后更新日期" + }, + "searchResultWeeklyCount": { + "message": "本周安装次数" + }, + "searchStyleQueryHint": { + "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感" + }, + "searchStylesAll": { + "message": "全部" + }, + "searchStylesCode": { + "message": "代码" + }, + "searchStylesHelp": { + "message": " 或 聚焦搜索框;    清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n\n●搜索语法:\n空格隔开 : \"且\" 同时包含,不分顺序。\n 要用 \"或\" 包含, 请使用正则 /A|B/\n\"精确搜索\" :用双引号包裹(跟网页搜索一样) 如 <\"head ~ div\">\n/正则搜索/ :js语法 用 / / 包裹及正则属性标记 如\n\n●搜索范围选择器\n`元数据`: 包含有 样式名称、“应用于”、安装/更新URL、以及UserCSS中整个元数据块(即==UserStyle==那些)。\n\n`按URL`: 查找适用于完全指定URL的样式,如 http://www.example.org/" + }, + "searchStylesMatchUrl": { + "message": "按URL" + }, + "searchStylesMeta": { + "message": "元数据" + }, + "searchStylesName": { + "message": "名称" + }, + "sectionAdd": { + "message": "添加新部分" + }, + "sectionCode": { + "message": "代码" + }, + "sectionRemove": { + "message": "删除此部分" + }, + "sectionRestore": { + "message": "撤销删除" + }, + "sections": { + "message": "章节" + }, + "shortcuts": { + "message": "快捷键" + }, + "shortcutsNote": { + "message": "设置快捷键" + }, + "sortDateNewestFirst": { + "message": "最新的优先" + }, + "sortDateOldestFirst": { + "message": "最旧的优先" + }, + "sortLabel": { + "message": "选择对已安装的样式应用的排序规则" + }, + "sortLabelTitleAsc": { + "message": "标题升序" + }, + "sortLabelTitleDesc": { + "message": "标题降序" + }, + "sortStylesHelp": { + "message": "默认用「标题升序」排序(A - Z)\n反之, 「标题降序」则是(Z - A)\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。" + }, + "sortStylesHelpTitle": { + "message": "自定义排序帮助信息" + }, + "styleBadRegexp": { + "message": "正则表达式无效。" + }, + "styleBeautify": { + "message": "格式化" + }, + "styleBeautifyHint": { + "message": "右键格式化按钮 或 下面的快捷键\n可实现一键格式化而不显示此弹框" + }, + "styleBeautifyIndentConditional": { + "message": "缩进 @media、@supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "保留新增空行" + }, + "styleCancelEditLabel": { + "message": "返回管理器" + }, + "styleChangesNotSaved": { + "message": "您已对此样式进行了更改,但尚未保存。" + }, + "styleEnabledLabel": { + "message": "启用" + }, + "styleFromMozillaFormatError": { + "message": "导入 Mozilla 格式失败" + }, + "styleFromMozillaFormatPrompt": { + "message": "粘贴 Mozilla 格式代码" + }, + "styleInstall": { + "message": "要将“$stylename$”安装到 Stylus 中吗?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "安装用户样式失败!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "输入名称" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla 格式" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "正则表达式错误,样式无法正常运行" + }, + "styleRegexpInvalidExplanation": { + "message": "部分正则表达式无法生效。" + }, + "styleRegexpPartialExplanation": { + "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。" + }, + "styleRegexpProblemTooltip": { + "message": "多个部分代码无法正常处理正则表达式" + }, + "styleRegexpTestButton": { + "message": "正则测试" + }, + "styleRegexpTestFull": { + "message": "匹配到标签页的正则" + }, + "styleRegexpTestInvalid": { + "message": "忽略无效的正则表达式" + }, + "styleRegexpTestNone": { + "message": "没有匹配到标签页的正则" + }, + "styleRegexpTestNote": { + "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。" + }, + "styleRegexpTestPartial": { + "message": "没有完全匹配,因此忽略" + }, + "styleRegexpTestTitle": { + "message": "已打开标签页的正则匹配(点击URL可跳转)" + }, + "styleSaveLabel": { + "message": "保存" + }, + "styleToMozillaFormatHelp": { + "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla 格式的样式" + }, + "styleUpdate": { + "message": "是否更新 “$stylename$”?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "样式已经在编辑器外被修改。需要重新加载样式吗?" + }, + "stylusUnavailableForURL": { + "message": "Stylus 无法介入到此类页面" + }, + "stylusUnavailableForURLdetails": { + "message": "浏览器出于安全而限制扩展介入到\n非自身的chrome-extension://、chrome://、官方扩展商店页" + }, + "syncDropboxDeprecated": { + "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。" + }, + "syncDropboxStyles": { + "message": "导出至 Dropbox" + }, + "syncStorageErrorSaving": { + "message": "不能保存该值,请尝试减少文本数量。" + }, + "toggleStyle": { + "message": "切换ON/OFF" + }, + "undo": { + "message": "撤销" + }, + "undoGlobal": { + "message": "撤销 (全局)" + }, + "unreachableAMO": { + "message": "Firefox 禁止访问该站点。" + }, + "unreachableAMOHint": { + "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。" + }, + "unreachableAMOHintNewFF": { + "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域" + }, + "unreachableAMOHintOldFF": { + "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。" + }, + "unreachableContentScript": { + "message": "无法介入到此页面" + }, + "unreachableFileHint": { + "message": "! Stylus 无法介入到官方商店页面 !\n若是文件页面 或 小号无痕页面 请检查:\n1) 右键 - Stylus图标 并点击-\"管理扩展程序\"\n2) 勾选 - \"允许访问文件网址\" 以在 file:// 工作\n3) 勾选 - \"在无痕模式下启用\" 以在无痕页面和小号标签页工作 (有的浏览器带有小号功能、如CentBrowser)" + }, + "unzipStyles": { + "message": "正在解压样式..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "没有找到更新。" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。" + }, + "updateCheckFailBadResponseCode": { + "message": "更新失败: 服务器响应代码为 $code$。", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "更新失败: 无法访问服务器。" + }, + "updateCheckHistory": { + "message": "检测升级的历史记录" + }, + "updateCheckManualUpdateForce": { + "message": "安装更新(将覆盖本地修改的样式)" + }, + "updateCheckManualUpdateHint": { + "message": "强制升级将覆盖所有本地修改的样式" + }, + "updateCheckSkippedLocallyEdited": { + "message": "此样式已在本地修改过。" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。" + }, + "updateCheckSucceededNoUpdate": { + "message": "样式已是最新版本。" + }, + "updateCompleted": { + "message": "更新已完成。" + }, + "updatesCurrentlyInstalled": { + "message": "更新已安装:" + }, + "uploadingFile": { + "message": "正在上传文件..." + }, + "usercssAvoidOverwriting": { + "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。" + }, + "usercssConfigIncomplete": { + "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:" + }, + "usercssEditorNamePlaceholder": { + "message": "在代码中指定 @name 来设置名称" + }, + "usercssReplaceTemplateConfirmation": { + "message": "使用当前的 UserStyle 替换为新的UserCSS默认模板 ??" + }, + "usercssReplaceTemplateName": { + "message": "该赋值为空的保存可设置默认模板" + }, + "usercssReplaceTemplateSectionBody": { + "message": "在此插入代码..." + }, + "versionInvalidOlder": { + "message": "当前样式版本比已安装样式版本旧。" + }, + "writeStyleFor": { + "message": "新建样式给:" + }, + "writeStyleForURL": { + "message": "URL" + }, + "zipStyles": { + "message": "正在压缩样式..." + } +} diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index e080913e..1c9da6e6 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -1,1586 +1,1382 @@ { - "addStyleTitle": { - "message": "添加样式", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "添加部分", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "应用于:$applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "更多", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "域名", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "使用「应用于」控件来限制此部分中的代码所应用到的 URL。", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "应用于:", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "显示应用于部件", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "对经过压缩的 CSS 无效", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "正则表达式", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "删除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "无法移除最后一个“应用于”项目", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "所有页面", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "URL ", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "前缀", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "应用全部更新", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "备份", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "选择备份文件,或将 JSON 备份文件拖放到本页面,即可导入备份。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "导出所有样式", - "description": "" - }, - "checkAllUpdates": { - "message": "全部检查更新", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "我没有修改过任何样式,再检查一次!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "检查更新", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "正在检查更新...", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "点击卸载", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "括弧配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "键入时自动补全", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "CSS 颜色选择器", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "使用 Tab 智能缩进", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "键盘映射", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "自动换行", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "高亮", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "仅选择区域", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "光标所在 token 字段", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "双击以最大化或恢复高度", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "双击选中 token 字段", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中", - "description": "" - }, - "cm_smartIndent": { - "message": "智能缩进", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "缩进宽度", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "主题", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "右击:循环跳转到所在行", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "颜色格式转换:HEX -> RGB -> HSL 。\nShift + 单击则反向转换。\n也可以使用 PgUp (PageUp) 与 PgDn (PageDown) 键。", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "打开颜色选择器", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "正在变更", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "自动保存并应用修改", - "description": "" - }, - "configureStyle": { - "message": "配置", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "通过 userstyles.org 配置选项", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "取消", - "description": "" - }, - "confirmClose": { - "message": "关闭", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "使用默认值", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "删除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "确定要放弃修改吗?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "否", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "确认", - "description": "" - }, - "confirmSave": { - "message": "保存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "停止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "是", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "已复制到粘贴板", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "复制到粘贴板", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "在此自定义本地名称才不影响在线更新", - "description": "" - }, - "customNameResetHint": { - "message": "切换为样式的原始名称", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$天前", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$时前", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$月前", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$年前", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "安装日期", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日期", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "默认", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "确定要删除此样式吗?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "删除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "Stylus 是一个调整网页外观的用户样式管理器。它可让您轻松地为许多热门网站网站安装主题和皮肤。", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "禁用所有样式", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "禁用", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "把 JSON 备份文件拖放到该页面任意位置即可导入", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "删除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "跳转至行(或行:列)", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "编辑样式", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "编辑", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "修改样式“$stylename$”", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "启用", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "排除当前域名", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "排除当前链接", - "description": "" - }, - "exportLabel": { - "message": "导出", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "反馈", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "主页", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部链接", - "description": "Label for external links" - }, - "externalSupport": { - "message": "支持", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "UserCSS 外部文档", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "共 $numTotal$ 个,已显示 $numShown$ 个", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "没有样式匹配当前的过滤器选项", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "查找更多样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "查找适合此网站的更多样式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "嵌入到此页面", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "将搜索结果嵌入到此页面显示", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "添加", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "创建副本", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "已禁用", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "已启用", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "错误", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "历史", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "继续", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "后退", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "重置", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "已保存", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "标题", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "未知", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "帮助", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "输入命令名称", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "按下热键", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "追加导入", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "以追加的方式来导入", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "导入", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?", - "description": "" - }, - "importPreprocessorTitle": { - "message": "潜在问题之 @preprocessor 预处理", - "description": "" - }, - "importReplaceLabel": { - "message": "覆盖替换导入", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "放弃当前样式的内容,使用已导入样式覆盖它", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "个样式已被添加", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "已忽略相同样式", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "忽略无效的代码", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "已更新的所有信息和代码", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "代码已更新", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "升级信息", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "样式导入完成", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "导入的样式无效。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "个样式被还原", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "样式导入被取消", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "安装样式", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "样式安装完成", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "重新安装样式", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新样式", - "description": "Label for update button" - }, - "installUpdate": { - "message": "安装更新", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "当前样式更新自 $url$", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "检查更新", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "许可证", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "帮助", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "获取样式", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "翻译", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint 不支持 $preprocessorname$ 预处理器", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "设置 $linter$ 规则", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "点击以配置此 Linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "由于配置无效所以未保存:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "问题", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "$link$ 找到了这些问题:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "无效的 JSON 格式", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "查看完整的规则清单", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "查看文件时发生错误", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "动态刷新", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "显示 \"应用于\" 的favicon图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "显示为灰色图标", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "过滤器", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "已安装的样式", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "显示 \"应用于\" 的数量", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "作为 UserCSS", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新的样式管理界面", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "只显示已禁用的样式", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "只显示已启用的样式", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "只显示外部安装的样式", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "只显示本地创建的样式", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(此样式无法通过 userstyles.org 页面进行安装)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "只显示非 UserCSS 样式", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "只显示更新记录或问题", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "只显示 UserCSS 的样式", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "计数器角标", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "无效 @var 复选框:赋值必须为 0 或 1 ", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "无效 @var 颜色:$color$不是颜色", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "无效 @var $type$:必须是单个数字或数组", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "无效 @var $type$:多个单位被定义", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "无效的 @var $type$: 数组中包含了过多项", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "无效 @var $type$:默认值为空", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "无效的 @var $type$: 默认值低于最小值", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "无效的 @var $type$: 默认值大于最大值", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "无效的 @var $type$: 默认值不是一个数字或范围", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "无效的 @var $type$: '$units$' 不是有效的单位", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "无效的 @var 选择: 默认值必须是数组或对象", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "无效的 @var 选择: 列表项为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "无效的 @var 选择: 项的标签为空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "无效的 @var 选择: 定义了多个默认项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "无效的 @var 选择: 项的名称是重复的", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "无效的 @var 选择: 列表中不存在任何项", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "需要一个数字", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "需要一个带引号的字符串", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "需要一个单词", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "需要字母:$chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "需要 EOT 数据", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "缺少必要的元数据:$keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "未知的元数据:$key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "未知的 @$varkey$ 类型: $vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "未知的预处理器 @preprocessor:$preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "此网站没有样式。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行:", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理样式", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "选项", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "打开样式管理器", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "操作", - "description": "" - }, - "optionsAdvanced": { - "message": "高级设置", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "向编辑器右键菜单添加“删除”", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "给 iframe 注入 stylus-iframe=\"父域名\"", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "给每个iframe框架的html注入window.top父域名的内联属性(值)\n即 html[stylus-iframe=\"hostname\"] \n\n用途: 确定或排除 iframe选择器以避免伤及无辜.\nhtml:not([stylus-iframe]) {...}\nhtml[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\ngithub.com/openstyles/stylus/blob/master/content/apply.js#L270", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "将新样式的格式设为 UserCSS", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "启用CSP补丁以使样式资源生效", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "XHR 即时注入模式", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome 内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供 Web 扩展的样式同步的API接口,因此 Stylus 提供了此选项来变相实现, 利用「已弃用」的 XMLHttpRequest 这个同步 API 来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就完成了, 此时网页还在从服务器下载。\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。右键单击警告并将其隐藏,将防止再次显示警告。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "禁用时的背景颜色", - "description": "" - }, - "optionsBadgeNormal": { - "message": "背景颜色", - "description": "" - }, - "optionsCheck": { - "message": "检查样式更新", - "description": "" - }, - "optionsCheckUpdate": { - "message": "检查并安装所有可用的更新", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "计数器角标", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "工具栏图标风格", - "description": "" - }, - "optionsCustomizePopup": { - "message": "Popup ", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "检测更新", - "description": "" - }, - "optionsCustomizeSync": { - "message": "同步到云端", - "description": "" - }, - "optionsHeading": { - "message": "选项", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "高对比度暗色图标", - "description": "" - }, - "optionsIconLight": { - "message": "低对比度亮色图标", - "description": "" - }, - "optionsOpen": { - "message": "打开", - "description": "" - }, - "optionsOpenManager": { - "message": "管理样式", - "description": "" - }, - "optionsPopupWidth": { - "message": "Popup 弹框总宽度(px)", - "description": "" - }, - "optionsReset": { - "message": "重置所有选项为默认值", - "description": "" - }, - "optionsResetButton": { - "message": "恢复默认值", - "description": "" - }, - "optionsStylusThemes": { - "message": "查找 Stylus UI 主题ᐝ", - "description": "" - }, - "optionsSubheading": { - "message": "附加选项", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "从旧版本的 Stylus 或 Stylish 中导入样式备份时,请在样式管理器中手动检测升级一次,以确保所有样式都可更新到最新版本。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "每隔 N 小时 自动检测更新(0 为禁用)", - "description": "" - }, - "optionsSyncNone": { - "message": "无", - "description": "" - }, - "optionsSyncConnect": { - "message": "连接", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "断开连接", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "现在同步", - "description": "" - }, - "optionsSyncLogin": { - "message": "登录", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "正在获取样式 $loaded$ 中的 $total$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "正在上传样式 $loaded$ 中的 $total$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "同步中...", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "连接中...", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "已连接", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "正在断开连接...", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "已断开连接", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "会话已过期,请重新登录。", - "description": "" - }, - "paginationCurrent": { - "message": "当前页数", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "已找到的样式总页数", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "下一页", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "上一页", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "总页面", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus 未能成功解析 UserCSS:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "切换后立即重新排序", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "在两边增加白色边框", - "description": "" - }, - "popupBordersTooltip": { - "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "单击查看可用的快捷键", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "右击或 Shift+左击:打开管理器且筛选当前URL(不含iframe)", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "操作菜单", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "使用简易编辑器窗口(无 omnibox 地址栏)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "在新窗口打开编辑器", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "可以通过将编辑器标签页拖出为单独窗口来启用,将被拖出的编辑器标签页拖入其他窗口即可禁用。", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "样式列表置顶", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "当前网站已启用样式数量", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "实时预览", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "无需保存即可临时应用样式预览效果。\n保存以使更改永久生效。", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "重启 Stylus", - "description": "Context menu reload" - }, - "replace": { - "message": "替换", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "全部替换", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "替换为", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "导入所有样式", - "description": "" - }, - "search": { - "message": "搜索", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "大小写敏感", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "全局搜索", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "已找到", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "在代码和应用中匹配的数量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "/regex/ 用 / 包裹语法来正则搜索", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "总安装次数", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "没有找到与此页面相关的样式。", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "样式已安装但不适于当前 URL", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "尝试请求该用户样式的作者添加 URL。\n\n您也可以在管理器中打开样式自己编辑,\n但请注意,这会禁用此样式的自动更新。", - "description": "" - }, - "searchResultRating": { - "message": "评价", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "最后更新日期", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "本周安装次数", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "全部", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS 源码", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " 或 以聚焦至搜索框; 清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n默认纯文本搜索,可按任何顺序搜索所有以空格分隔的术语。\n精确搜索:使用双引号包裹住想要搜索的内容,例如 <\"head ~ div\">\n正则表达式:包括斜杠和标记,例如 \n搜索范围选择器中的 「匹配 URL」:查找适用于已指定 URL 的样式,例如 https://www.example.org/\n搜索范围选择器中的 「元数据」:含 样式名称、应用于、安装/更新URL、以及 UserCSS 中的整个元数据块(即==UserStyle==那些)但不包括代码里的注释内容。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "匹配 URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "元数据", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名称", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "添加新部分", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "代码", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "删除此部分", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "撤销删除", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "章节", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "快捷键", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "设置快捷键", - "description": "" - }, - "sortDateNewestFirst": { - "message": "最新的优先", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "最旧的优先", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "选择对已安装的样式应用的排序规则", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "标题升序", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "标题降序", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "默认用「标题升序」(A - Z) 、「标题降序」则反之 (Z - A) \n「安装日期」 不等同于 样式的本地🆔 排序\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "自定义排序", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正则表达式无效。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "格式化", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "提示: 你可以不显示此面板, 而是用右键“美化”按钮 或用下面定义的快捷键来美化.", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "缩进 @media、@supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "保留新增空行", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "返回管理页面", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "您已对此样式进行了更改,但尚未保存。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "启用", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "导入 Mozilla 格式失败", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "粘贴 Mozilla 格式代码", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "要将“$stylename$”安装到 Stylus 中吗?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "安装用户样式失败!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "输入名称", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla 格式", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "正则表达式错误,样式无法正常运行", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "部分正则表达式无法生效。", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "多个部分代码无法正常处理正则表达式", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正则测试", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "匹配的标签页", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "忽略无效的正则表达式", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "没有发现任何网页标签与正则表达式匹配", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "没有完全匹配,因此忽略", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "匹配的标签页列表(点击链接可切换到该标签)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "保存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla 格式的样式", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "是否更新 “$stylename$”?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "样式已经在编辑器外被修改。需要重新加载样式吗?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus 不能在此类页面上工作", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "出于安全考虑,浏览器禁止扩展程序影响其内置页面(例如 chrome://version,Chrome 61 后的标准新标签页,about:addons 等等)以及其他扩展程序的页面。每个浏览器也限制了对于自己扩展程序库的介入(例如 Chrome 网上应用店、Firefox 附加组件(addons.mozilla.org))。", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "不能保存该值,请尝试减少文本数量。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "同步失败", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "同步失败\n请尝试在 Stylus 选项里重新登录\n先点击「断开连接」,再点击「连接」。", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "启用/禁用样式", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "撤销", - "description": "Button label" - }, - "undoGlobal": { - "message": "撤销 (全局)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox 禁止访问该站点。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "无法读取页面,请尝试刷新。", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "如果需要改变 file:// 协议的样式,则需要在 chrome://extensions 页面中的 Stylus 扩展选项里面,打开「允许访问文件网址」权限", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "没有找到更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新失败: 服务器响应代码为 $code$。", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "更新失败: 无法访问服务器。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "检测升级的历史记录", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "安装更新(将覆盖本地修改的样式)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "强制升级将覆盖所有本地修改的样式", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "此样式已在本地修改过。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "样式已是最新版本。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新已完成。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新已安装:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "在代码中指定 @name 来设置名称", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "使用这些代码替换新 UserCSS 样式的默认模板?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "该赋值为空的保存可设置默认模板", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "在此插入代码...", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "当前样式版本比已安装样式版本旧。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "新建样式给:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "URL", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "导出至 Dropbox", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "从 Dropbox 导入", - "description": "" - }, - "overwriteFileExport": { - "message": "是否覆盖现有文件?", - "description": "" - }, - "exportSavedSuccess": { - "message": "文件保存成功", - "description": "" - }, - "noFileToImport": { - "message": "要导入你的样式,你应该先导出。", - "description": "" - }, - "connectingDropbox": { - "message": "正在连接至 Dropbox...", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序", - "description": "" - }, - "gettingStyles": { - "message": "正在获取所有样式...", - "description": "" - }, - "zipStyles": { - "message": "正在压缩样式...", - "description": "" - }, - "unzipStyles": { - "message": "正在解压样式...", - "description": "" - }, - "readingStyles": { - "message": "正在读取样式...", - "description": "" - }, - "uploadingFile": { - "message": "正在上传文件...", - "description": "" - }, - "addStyleLabel": { - "message": "新建样式", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus 无法访问某些文件格式(例如 pdf 或 json 文件)。" + }, + "addStyleLabel": { + "message": "新建样式" + }, + "addStyleTitle": { + "message": "添加样式" + }, + "alphaChannel": { + "message": "透明度" + }, + "appliesAdd": { + "message": "添加部分" + }, + "appliesDisplay": { + "message": "应用于:$applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "更多" + }, + "appliesDomainOption": { + "message": "域名" + }, + "appliesHelp": { + "message": "使用「应用于」控件来限制此部分中的代码所应用到的 URL。" + }, + "appliesLabel": { + "message": "应用于:" + }, + "appliesLineWidgetLabel": { + "message": "显示应用于部件" + }, + "appliesLineWidgetWarning": { + "message": "对经过压缩的 CSS 无效" + }, + "appliesRegexpOption": { + "message": "正则表达式" + }, + "appliesRemove": { + "message": "删除" + }, + "appliesRemoveError": { + "message": "无法移除最后一个“应用于”项目" + }, + "appliesSpecify": { + "message": "指定" + }, + "appliesToEverything": { + "message": "所有页面" + }, + "appliesUrlOption": { + "message": "URL " + }, + "appliesUrlPrefixOption": { + "message": "前缀" + }, + "applyAllUpdates": { + "message": "应用全部更新" + }, + "author": { + "message": "作者" + }, + "backupButtons": { + "message": "备份" + }, + "backupMessage": { + "message": "选择备份文件,或将 JSON 备份文件拖放到本页面,即可导入备份。" + }, + "bckpInstStyles": { + "message": "导出所有样式" + }, + "checkAllUpdates": { + "message": "全部检查更新" + }, + "checkAllUpdatesForce": { + "message": "我没有修改过任何样式,再检查一次!" + }, + "checkForUpdate": { + "message": "检查更新" + }, + "checkingForUpdate": { + "message": "正在检查更新..." + }, + "clickToUninstall": { + "message": "点击卸载" + }, + "cm_autoCloseBrackets": { + "message": "括弧配对" + }, + "cm_autoCloseBracketsTooltip": { + "message": "在键入 () [] {} '' \"\" 时自动完成另一半配对" + }, + "cm_autocompleteOnTyping": { + "message": "键入时自动补全" + }, + "cm_colorpicker": { + "message": "CSS 颜色选择器" + }, + "cm_indentWithTabs": { + "message": "使用 Tab 智能缩进" + }, + "cm_keyMap": { + "message": "键盘映射" + }, + "cm_lineWrapping": { + "message": "自动换行" + }, + "cm_matchHighlight": { + "message": "高亮" + }, + "cm_matchHighlightSelection": { + "message": "仅选择区域" + }, + "cm_matchHighlightToken": { + "message": "光标所在 token 字段" + }, + "cm_resizeGripHint": { + "message": "双击以最大化或恢复高度" + }, + "cm_selectByTokens": { + "message": "双击选中 token 字段" + }, + "cm_selectByTokensTooltip": { + "message": "token字段示例 .foo-bar-2\nON: 按CSS语法 双击全选中\nOFF:按\\w+常规语法 双击分别选中 foo、bar、2\n技巧: Sublime键盘映射下配合Ctrl+D来\\w+常规选中" + }, + "cm_smartIndent": { + "message": "智能缩进" + }, + "cm_tabSize": { + "message": "缩进宽度" + }, + "cm_theme": { + "message": "主题" + }, + "colorpickerPaletteHint": { + "message": "右击:循环跳转到所在行" + }, + "colorpickerSwitchFormatTooltip": { + "message": "颜色格式转换:HEX -> RGB -> HSL 。\nShift + 单击则反向转换。\n也可以使用 PgUp (PageUp) 与 PgDn (PageDown) 键。" + }, + "colorpickerTooltip": { + "message": "打开颜色选择器" + }, + "configOnChange": { + "message": "正在变更" + }, + "configOnChangeTooltip": { + "message": "自动保存并应用修改" + }, + "configureStyle": { + "message": "配置" + }, + "configureStyleOnHomepage": { + "message": "通过 userstyles.org 配置选项" + }, + "confirmCancel": { + "message": "取消" + }, + "confirmClose": { + "message": "关闭" + }, + "confirmDefault": { + "message": "使用默认值" + }, + "confirmDelete": { + "message": "删除" + }, + "confirmDiscardChanges": { + "message": "确定要放弃修改吗?" + }, + "confirmNo": { + "message": "否" + }, + "confirmOK": { + "message": "确认" + }, + "confirmSave": { + "message": "保存" + }, + "confirmStop": { + "message": "停止" + }, + "confirmYes": { + "message": "是" + }, + "connectingDropbox": { + "message": "正在连接至 Dropbox..." + }, + "connectingDropboxNotAllowed": { + "message": "连接到 Dropbox 功能仅适用于直接从 Webstore 安装的应用程序" + }, + "copied": { + "message": "已复制到粘贴板" + }, + "copy": { + "message": "复制到粘贴板" + }, + "customNameHint": { + "message": "在此自定义本地名称才不影响在线更新" + }, + "customNameResetHint": { + "message": "切换为样式的原始名称" + }, + "dateAbbrDay": { + "message": "$value$天前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrHour": { + "message": "$value$时前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrMonth": { + "message": "$value$月前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrYear": { + "message": "$value$年前", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "安装日期" + }, + "dateUpdated": { + "message": "更新日期" + }, + "dbError": { + "message": "访问 Stylus 数据库时发生了一个错误。您想访问含有可能的解决方案的网页吗?" + }, + "defaultTheme": { + "message": "默认" + }, + "deleteStyleConfirm": { + "message": "确定要删除此样式吗?" + }, + "deleteStyleLabel": { + "message": "删除" + }, + "description": { + "message": "Stylus 是一个调整网页外观的用户样式管理器。它可让您轻松地为许多热门网站网站安装主题和皮肤。" + }, + "disableAllStyles": { + "message": "禁用所有样式" + }, + "disableStyleLabel": { + "message": "禁用" + }, + "dragDropMessage": { + "message": "把 JSON 备份文件拖放到该页面任意位置即可导入" + }, + "dragDropUsercssTabstrip": { + "message": "要安装文件,就将其放在选项卡条(显示选项卡标题的区域)上。" + }, + "editDeleteText": { + "message": "删除" + }, + "editGotoLine": { + "message": "跳转至行(或行:列)" + }, + "editStyleHeading": { + "message": "编辑样式" + }, + "editStyleLabel": { + "message": "编辑" + }, + "editStyleTitle": { + "message": "修改样式“$stylename$”", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "启用" + }, + "excludeStyleByDomainLabel": { + "message": "排除当前域名" + }, + "excludeStyleByUrlLabel": { + "message": "排除当前链接" + }, + "exportLabel": { + "message": "导出" + }, + "exportSavedSuccess": { + "message": "文件保存成功" + }, + "externalFeedback": { + "message": "反馈" + }, + "externalHomepage": { + "message": "主页" + }, + "externalLink": { + "message": "外部链接" + }, + "externalSupport": { + "message": "支持" + }, + "externalUsercssDocument": { + "message": "UserCSS 外部文档" + }, + "filteredStyles": { + "message": "共 $numTotal$ 个,已显示 $numShown$ 个", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "没有样式匹配当前的过滤器选项" + }, + "findStyles": { + "message": "查找更多样式" + }, + "findStylesForSite": { + "message": "查找适合此网站的更多样式" + }, + "findStylesInline": { + "message": "嵌入到此页面" + }, + "findStylesInlineTooltip": { + "message": "将搜索结果嵌入到此页面显示" + }, + "genericAdd": { + "message": "添加" + }, + "genericClone": { + "message": "创建副本" + }, + "genericDisabledLabel": { + "message": "已禁用" + }, + "genericEnabledLabel": { + "message": "已启用" + }, + "genericError": { + "message": "错误" + }, + "genericHistoryLabel": { + "message": "历史" + }, + "genericNext": { + "message": "继续" + }, + "genericPrevious": { + "message": "后退" + }, + "genericResetLabel": { + "message": "重置" + }, + "genericSavedMessage": { + "message": "已保存" + }, + "genericTitle": { + "message": "标题" + }, + "genericUnknown": { + "message": "未知" + }, + "gettingStyles": { + "message": "正在获取所有样式..." + }, + "helpAlt": { + "message": "帮助" + }, + "helpKeyMapCommand": { + "message": "输入命令名称" + }, + "helpKeyMapHotkey": { + "message": "按下热键" + }, + "hostDisabled": { + "message": "由于当前使用的浏览器版本中存在的错误,此主机已被禁用" + }, + "importAppendLabel": { + "message": "追加导入" + }, + "importAppendTooltip": { + "message": "以追加的方式来导入" + }, + "importLabel": { + "message": "导入" + }, + "importPreprocessor": { + "message": "带有 @preprocessor 样式不适合于当前的常规CSS模式下。\n您应该把它粘贴到 UserCSS 的编辑器模式去。\n1)打开管理器页面 2)勾选 “新建为UserCSS” 3)点击 \"新建新样式\"\n\n仍然导入吗?" + }, + "importPreprocessorTitle": { + "message": "潜在问题之 @preprocessor 预处理" + }, + "importReplaceLabel": { + "message": "覆盖替换导入" + }, + "importReplaceTooltip": { + "message": "放弃当前样式的内容,使用已导入样式覆盖它" + }, + "importReportLegendAdded": { + "message": "个样式已被添加" + }, + "importReportLegendIdentical": { + "message": "已忽略相同样式" + }, + "importReportLegendInvalid": { + "message": "忽略无效的代码" + }, + "importReportLegendUpdatedBoth": { + "message": "已更新的所有信息和代码" + }, + "importReportLegendUpdatedCode": { + "message": "代码已更新" + }, + "importReportLegendUpdatedMeta": { + "message": "升级信息" + }, + "importReportTitle": { + "message": "样式导入完成" + }, + "importReportUnchanged": { + "message": "导入的样式无效。" + }, + "importReportUndone": { + "message": "个样式被还原" + }, + "importReportUndoneTitle": { + "message": "样式导入被取消" + }, + "installButton": { + "message": "安装样式" + }, + "installButtonInstalled": { + "message": "样式安装完成" + }, + "installButtonReinstall": { + "message": "重新安装样式" + }, + "installButtonUpdate": { + "message": "更新样式" + }, + "installUpdate": { + "message": "安装更新" + }, + "installUpdateFrom": { + "message": "当前样式更新自 $url$", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "检查更新" + }, + "license": { + "message": "许可证" + }, + "linkGetHelp": { + "message": "帮助" + }, + "linkGetStyles": { + "message": "获取样式" + }, + "linkTranslate": { + "message": "翻译" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint 不支持 $preprocessorname$ 预处理器", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(设置规则为:0 = 禁用; 1 = 警告; 2 = 错误)" + }, + "linterConfigPopupTitle": { + "message": "设置 $linter$ 规则", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "点击以配置此 Linter" + }, + "linterInvalidConfigError": { + "message": "由于配置无效所以未保存:" + }, + "linterIssues": { + "message": "问题" + }, + "linterIssuesHelp": { + "message": "$link$ 找到了这些问题:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "无效的 JSON 格式" + }, + "linterResetMessage": { + "message": "想要恢复意外的重置,在文本框中按下 Ctrl-Z (或 Cmd-Z)" + }, + "linterRulesLink": { + "message": "查看完整的规则清单" + }, + "liveReloadError": { + "message": "查看文件时发生错误" + }, + "liveReloadInstallHint": { + "message": "保持此选项卡为打开状态,将在外部更改后自动更新样式。" + }, + "liveReloadInstallHintFF": { + "message": "保持此选项卡和原始选项卡处于打开状态,将在外部更改时自动重新更新样式。" + }, + "liveReloadLabel": { + "message": "动态刷新" + }, + "manageFavicons": { + "message": "显示 \"应用于\" 的favicon图标" + }, + "manageFaviconsGray": { + "message": "显示为灰色图标" + }, + "manageFaviconsHelp": { + "message": "Stylus 使用外部服务 https://www.google.com/s2/favicons 来获取图标" + }, + "manageFilters": { + "message": "过滤器" + }, + "manageHeading": { + "message": "已安装的样式" + }, + "manageMaxTargets": { + "message": "显示 \"应用于\" 的数量" + }, + "manageNewStyleAsUsercss": { + "message": "作为 UserCSS" + }, + "manageNewUI": { + "message": "新的样式管理界面" + }, + "manageOnlyDisabled": { + "message": "只显示已禁用的样式" + }, + "manageOnlyEnabled": { + "message": "只显示已启用的样式" + }, + "manageOnlyExternal": { + "message": "只显示外部安装的样式" + }, + "manageOnlyLocal": { + "message": "只显示本地创建的样式" + }, + "manageOnlyLocalTooltip": { + "message": "(此样式无法通过 userstyles.org 页面进行安装)" + }, + "manageOnlyNonUsercss": { + "message": "只显示非 UserCSS 样式" + }, + "manageOnlyUpdates": { + "message": "只显示更新记录或问题" + }, + "manageOnlyUsercss": { + "message": "只显示 UserCSS 的样式" + }, + "menuShowBadge": { + "message": "计数器角标" + }, + "meta_invalidCheckboxDefault": { + "message": "无效 @var 复选框:赋值必须为 0 或 1 " + }, + "meta_invalidColor": { + "message": "无效 @var 颜色:$color$不是颜色", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "需要一个数字" + }, + "meta_invalidRange": { + "message": "无效 @var $type$:必须是单个数字或数组", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "无效 @var $type$:默认值为空", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "无效的 @var $type$: 默认值大于最大值", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "无效的 @var $type$: 默认值低于最小值", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "无效 @var $type$:多个单位被定义", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "无效的 @var $type$: 默认值不是一个数字或范围", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "无效的 @var $type$: 数组中包含了过多项", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "无效的 @var $type$: '$units$' 不是有效的单位", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "无效的 @var $type$: 数组中的项必须为数字、字符 或 null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "无效的 @var 选择: 默认值必须是数组或对象" + }, + "meta_invalidSelectEmptyOptions": { + "message": "无效的 @var 选择: 列表项为空" + }, + "meta_invalidSelectLabel": { + "message": "无效的 @var 选择: 项的标签为空" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "无效的 @var 选择: 定义了多个默认项" + }, + "meta_invalidSelectNameDuplicated": { + "message": "无效的 @var 选择: 项的名称是重复的" + }, + "meta_invalidSelectValue": { + "message": "无效的 @var 选择: 数组或对象内的值类型必须为字符" + }, + "meta_invalidSelectValueMismatch": { + "message": "无效的 @var 选择: 列表中不存在任何项" + }, + "meta_invalidString": { + "message": "需要一个带引号的字符串" + }, + "meta_invalidURLProtocol": { + "message": "无效的 URL 协议,目前只允许 http 和 https : $protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "需要一个单词" + }, + "meta_missingChar": { + "message": "需要字母:$chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "需要 EOT 数据" + }, + "meta_missingMandatory": { + "message": "缺少必要的元数据:$keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "无效 JSON:$literal$ 不是一个有效的 JSON 字面量(Literal)", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "未知的元数据:$key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "未知的预处理器 @preprocessor:$preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "未知的 @$varkey$ 类型: $vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "要导入你的样式,你应该先导出。" + }, + "noStylesForSite": { + "message": "此网站没有样式。" + }, + "numberedLine": { + "message": "行:" + }, + "openManage": { + "message": "管理样式" + }, + "openOptions": { + "message": "选项" + }, + "openStylesManager": { + "message": "打开样式管理器" + }, + "optionsActions": { + "message": "操作" + }, + "optionsAdvanced": { + "message": "高级设置" + }, + "optionsAdvancedContextDelete": { + "message": "向编辑器右键菜单添加“删除”" + }, + "optionsAdvancedExposeIframes": { + "message": "给 iframe 注入 stylus-iframe=\"父域名\"" + }, + "optionsAdvancedExposeIframesNote": { + "message": "给每个iframe框架的html注入window.top父域名的内联属性(值)\n即 html[stylus-iframe=\"hostname\"] \n\n用途: 确定或排除 iframe选择器以避免伤及无辜.\nhtml:not([stylus-iframe]) {...}\nhtml[stylus-iframe] 或 html[stylus-iframe$=\"twitter.com\"] h1 {...}\n\ngithub.com/openstyles/stylus/blob/master/content/apply.js#L270" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "将新样式的格式设为 UserCSS" + }, + "optionsAdvancedPatchCsp": { + "message": "启用CSP补丁以使样式资源生效" + }, + "optionsAdvancedPatchCspNote": { + "message": "如果在带有严格CSPContent-Security-Policy)的网站上无法加载样式中包含的图像或字体,请启用此补丁选项。 \n\n启用此补丁选项将会放宽CSP限制,从而允许加载基本样式内容。⚠此选项仅适用于了解潜在安全隐患的高级用户, 并自行承担负责监视其被允许的内容。请阅读有关基于CSS攻击的更多信息以做决定。\n\n另请注意,如果另一个已安装的扩展首先修改了网络响应,则不能保证此特定选项一定会生效。" + }, + "optionsAdvancedStyleViaXhr": { + "message": "XHR 即时注入模式" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在网站加载时常看到一闪而过的样式闪烁晃眼(FOUC) 、特别是在深色主题下会感知得更明显,请启用此选项。\n\n技术上的原因是 Chrome 内核通常以 无意义的尝试 来延迟扩展的异步通信,以提高页面加载速度,这可能会导致样式慢了半拍才被应用。\n为了避免这种情况,且由于谷歌也没有提供 Web 扩展的样式同步的API接口,因此 Stylus 提供了此选项来变相实现, 利用「已弃用」的 XMLHttpRequest 这个同步 API 来获取适用的样式。 它几乎没有任何副作用,因为样式请求在几毫秒内就完成了, 此时网页还在从服务器下载。\n\n尽管如此,但 Chrome DevTools 仍会在 Console 中显示警告。右键单击警告并将其隐藏,将防止再次显示警告。" + }, + "optionsBadgeDisabled": { + "message": "禁用时的背景颜色" + }, + "optionsBadgeNormal": { + "message": "背景颜色" + }, + "optionsCheck": { + "message": "检查样式更新" + }, + "optionsCheckUpdate": { + "message": "检查并安装所有可用的更新" + }, + "optionsCustomizeBadge": { + "message": "计数器角标" + }, + "optionsCustomizeIcon": { + "message": "工具栏图标风格" + }, + "optionsCustomizePopup": { + "message": "Popup " + }, + "optionsCustomizeSync": { + "message": "同步到云端" + }, + "optionsCustomizeUpdate": { + "message": "检测更新" + }, + "optionsHeading": { + "message": "选项" + }, + "optionsIconDark": { + "message": "高对比度暗色图标" + }, + "optionsIconLight": { + "message": "低对比度亮色图标" + }, + "optionsOpen": { + "message": "打开" + }, + "optionsOpenManager": { + "message": "管理样式" + }, + "optionsPopupWidth": { + "message": "Popup 弹框总宽度(px)" + }, + "optionsReset": { + "message": "重置所有选项为默认值" + }, + "optionsResetButton": { + "message": "恢复默认值" + }, + "optionsStylusThemes": { + "message": "查找 Stylus UI 主题ᐝ" + }, + "optionsSubheading": { + "message": "附加选项" + }, + "optionsSyncConnect": { + "message": "连接" + }, + "optionsSyncDisconnect": { + "message": "断开连接" + }, + "optionsSyncLogin": { + "message": "登录" + }, + "optionsSyncNone": { + "message": "无" + }, + "optionsSyncStatusConnected": { + "message": "已连接" + }, + "optionsSyncStatusConnecting": { + "message": "连接中..." + }, + "optionsSyncStatusDisconnected": { + "message": "已断开连接" + }, + "optionsSyncStatusDisconnecting": { + "message": "正在断开连接..." + }, + "optionsSyncStatusPull": { + "message": "正在获取样式 $loaded$ 中的 $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "正在上传样式 $loaded$ 中的 $total$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusRelogin": { + "message": "会话已过期,请重新登录。" + }, + "optionsSyncStatusSyncing": { + "message": "同步中..." + }, + "optionsSyncSyncNow": { + "message": "现在同步" + }, + "optionsUpdateImportNote": { + "message": "从旧版本的 Stylus 或 Stylish 中导入样式备份时,请在样式管理器中手动检测升级一次,以确保所有样式都可更新到最新版本。" + }, + "optionsUpdateInterval": { + "message": "每隔 N 小时 自动检测更新(0 为禁用)" + }, + "overwriteFileExport": { + "message": "是否覆盖现有文件?" + }, + "paginationCurrent": { + "message": "当前页数" + }, + "paginationEstimated": { + "message": "已找到的样式总页数" + }, + "paginationNext": { + "message": "下一页" + }, + "paginationPrevious": { + "message": "上一页" + }, + "paginationTotal": { + "message": "总页面" + }, + "parseUsercssError": { + "message": "Stylus 未能成功解析 UserCSS:" + }, + "popupAutoResort": { + "message": "切换后立即重新排序" + }, + "popupBorders": { + "message": "在两边增加白色边框" + }, + "popupBordersTooltip": { + "message": "对于新 Chrome 中的暗色主题很有用,因为它不再绘制边框" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>, <0> 按第1 - 10个列表 来ON/OFF\n- 按英文首字母 来ON/OFF\n附加: 打开对应列表的编辑器\n ON 全部列表\n OFF 全部列表\n 或 <`> 仅针对Popup弹出时的初始ON列表, 它只会ON/OFF初始ON列表, 故:\n 能快速恢复初始状态.\n 更多信息见Wiki" + }, + "popupHotkeysTooltip": { + "message": "单击查看可用的快捷键" + }, + "popupManageTooltip": { + "message": "右击或 Shift+左击:打开管理器且筛选当前URL(不含iframe)" + }, + "popupMenuButtonTooltip": { + "message": "操作菜单" + }, + "popupOpenEditInPopup": { + "message": "使用简易编辑器窗口(无 omnibox 地址栏)" + }, + "popupOpenEditInWindow": { + "message": "在新窗口打开编辑器" + }, + "popupOpenEditInWindowTooltip": { + "message": "可以通过将编辑器标签页拖出为单独窗口来启用,将被拖出的编辑器标签页拖入其他窗口即可禁用。" + }, + "popupStylesFirst": { + "message": "样式列表置顶" + }, + "prefShowBadge": { + "message": "当前网站已启用样式数量" + }, + "previewLabel": { + "message": "实时预览" + }, + "previewTooltip": { + "message": "无需保存即可临时应用样式预览效果。\n保存以使更改永久生效。" + }, + "readingStyles": { + "message": "正在读取样式..." + }, + "reload": { + "message": "重启 Stylus" + }, + "replace": { + "message": "替换" + }, + "replaceAll": { + "message": "全部替换" + }, + "replaceWith": { + "message": "替换为" + }, + "retrieveBckp": { + "message": "导入所有样式" + }, + "retrieveDropboxSync": { + "message": "从 Dropbox 导入" + }, + "search": { + "message": "搜索" + }, + "searchCaseSensitive": { + "message": "大小写敏感" + }, + "searchGlobalStyles": { + "message": "全局搜索" + }, + "searchNumberOfResults": { + "message": "已找到" + }, + "searchNumberOfResults2": { + "message": "在代码和应用中匹配的数量" + }, + "searchRegexp": { + "message": "/regex/ 用 / 包裹语法来正则搜索" + }, + "searchResultInstallCount": { + "message": "总安装次数" + }, + "searchResultNoneFound": { + "message": "没有找到与此页面相关的样式。" + }, + "searchResultNotMatching": { + "message": "样式已安装但不适于当前 URL" + }, + "searchResultNotMatchingNote": { + "message": "尝试请求该用户样式的作者添加 URL。\n\n您也可以在管理器中打开样式自己编辑,\n但请注意,这会禁用此样式的自动更新。" + }, + "searchResultRating": { + "message": "评价" + }, + "searchResultUpdated": { + "message": "最后更新日期" + }, + "searchResultWeeklyCount": { + "message": "本周安装次数" + }, + "searchStyleQueryHint": { + "message": "空格多词 -- 同时精确匹配(无需双引号)\n2020 -- 也含更新日期的匹配结果\n大小写不敏感" + }, + "searchStylesAll": { + "message": "全部" + }, + "searchStylesCode": { + "message": "CSS 源码" + }, + "searchStylesHelp": { + "message": " 或 以聚焦至搜索框; 清空搜索框\n焦点在页面时, 也支持样式名的英文首字母索引。\n默认纯文本搜索,可按任何顺序搜索所有以空格分隔的术语。\n精确搜索:使用双引号包裹住想要搜索的内容,例如 <\"head ~ div\">\n正则表达式:包括斜杠和标记,例如 \n搜索范围选择器中的 「匹配 URL」:查找适用于已指定 URL 的样式,例如 https://www.example.org/\n搜索范围选择器中的 「元数据」:含 样式名称、应用于、安装/更新URL、以及 UserCSS 中的整个元数据块(即==UserStyle==那些)但不包括代码里的注释内容。" + }, + "searchStylesMatchUrl": { + "message": "匹配 URL" + }, + "searchStylesMeta": { + "message": "元数据" + }, + "searchStylesName": { + "message": "名称" + }, + "sectionAdd": { + "message": "添加新部分" + }, + "sectionCode": { + "message": "代码" + }, + "sectionRemove": { + "message": "删除此部分" + }, + "sectionRestore": { + "message": "撤销删除" + }, + "sections": { + "message": "章节" + }, + "shortcuts": { + "message": "快捷键" + }, + "shortcutsNote": { + "message": "设置快捷键" + }, + "sortDateNewestFirst": { + "message": "最新的优先" + }, + "sortDateOldestFirst": { + "message": "最旧的优先" + }, + "sortLabel": { + "message": "选择对已安装的样式应用的排序规则" + }, + "sortLabelTitleAsc": { + "message": "标题升序" + }, + "sortLabelTitleDesc": { + "message": "标题降序" + }, + "sortStylesHelp": { + "message": "默认用「标题升序」(A - Z) 、「标题降序」则反之 (Z - A) \n「安装日期」 不等同于 样式的本地🆔 排序\n还有很多其它排序方式,可以通过多个条件进行排序。\n你也可以想象,在对一个多列的表格进行排序,并且选择可能带有(+)号的一组条件或单个条件进行排序。\n例如,若设为 \"启用(优先)+ 标题\",将会把所有已启用的项目都排列在顶部,然后再以标题升序排列 (A - Z)的顺序应用到以启用和未启用的项目。" + }, + "sortStylesHelpTitle": { + "message": "自定义排序" + }, + "styleBadRegexp": { + "message": "正则表达式无效。" + }, + "styleBeautify": { + "message": "格式化" + }, + "styleBeautifyHint": { + "message": "提示: 你可以不显示此面板, 而是用右键“美化”按钮 或用下面定义的快捷键来美化." + }, + "styleBeautifyIndentConditional": { + "message": "缩进 @media、@supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "保留新增空行" + }, + "styleCancelEditLabel": { + "message": "返回管理页面" + }, + "styleChangesNotSaved": { + "message": "您已对此样式进行了更改,但尚未保存。" + }, + "styleEnabledLabel": { + "message": "启用" + }, + "styleFromMozillaFormatError": { + "message": "导入 Mozilla 格式失败" + }, + "styleFromMozillaFormatPrompt": { + "message": "粘贴 Mozilla 格式代码" + }, + "styleInstall": { + "message": "要将“$stylename$”安装到 Stylus 中吗?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "安装用户样式失败!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "输入名称" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla 格式" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "正则表达式错误,样式无法正常运行" + }, + "styleRegexpInvalidExplanation": { + "message": "部分正则表达式无法生效。" + }, + "styleRegexpPartialExplanation": { + "message": "这个样式有一部分正则表达式与 CSS4 @document specification完整的 URL 不匹配。这部分样式将被忽略,可能这个样式是基于 Stylish 编写的,请尝试在 Stylus 重新编写该样式。" + }, + "styleRegexpProblemTooltip": { + "message": "多个部分代码无法正常处理正则表达式" + }, + "styleRegexpTestButton": { + "message": "正则测试" + }, + "styleRegexpTestFull": { + "message": "匹配的标签页" + }, + "styleRegexpTestInvalid": { + "message": "忽略无效的正则表达式" + }, + "styleRegexpTestNone": { + "message": "没有发现任何网页标签与正则表达式匹配" + }, + "styleRegexpTestNote": { + "message": "注意: 在正则表达式中使用单个 \\ 进行转义,其将会根据 CSS 中引用字符串的自动转换为 \\\\。" + }, + "styleRegexpTestPartial": { + "message": "没有完全匹配,因此忽略" + }, + "styleRegexpTestTitle": { + "message": "匹配的标签页列表(点击链接可切换到该标签)" + }, + "styleSaveLabel": { + "message": "保存" + }, + "styleToMozillaFormatHelp": { + "message": "导入 FireFox 格式即 @-moz-document ...的 CSS 代码后,会自动转换成 Stylus 使用的分段式 CSS 代码。\n反过来,分段式的 CSS 也可以导出为 FireFox 格式。\n需要注意的是,如果你要向 userstyles.org 提交你的代码,则必须使用 FireFox 格式。\n\n导入快捷键: 剪贴板含有 @-moz-document ....代码,则可以直接在编辑器里 Ctrl+V 会自动弹出导入对话框" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla 格式的样式" + }, + "styleUpdate": { + "message": "是否更新 “$stylename$”?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "样式已经在编辑器外被修改。需要重新加载样式吗?" + }, + "stylusUnavailableForURL": { + "message": "Stylus 不能在此类页面上工作" + }, + "stylusUnavailableForURLdetails": { + "message": "出于安全考虑,浏览器禁止扩展程序影响其内置页面(例如 chrome://version,Chrome 61 后的标准新标签页,about:addons 等等)以及其他扩展程序的页面。每个浏览器也限制了对于自己扩展程序库的介入(例如 Chrome 网上应用店、Firefox 附加组件(addons.mozilla.org))。" + }, + "syncDropboxDeprecated": { + "message": "在选项页面中, Dropbox 导入/导出 已经替换为更高级的样式同步方式。" + }, + "syncDropboxStyles": { + "message": "导出至 Dropbox" + }, + "syncError": { + "message": "同步失败" + }, + "syncErrorRelogin": { + "message": "同步失败\n请尝试在 Stylus 选项里重新登录\n先点击「断开连接」,再点击「连接」。" + }, + "syncStorageErrorSaving": { + "message": "不能保存该值,请尝试减少文本数量。" + }, + "toggleStyle": { + "message": "启用/禁用样式" + }, + "undo": { + "message": "撤销" + }, + "undoGlobal": { + "message": "撤销 (全局)" + }, + "unreachableAMO": { + "message": "Firefox 禁止访问该站点。" + }, + "unreachableAMOHint": { + "message": "若要允许存取,打开 ,在列表上单击右键,点击新增,然后再点击 'Boolean',粘贴  并点击确定 -> -> 确定,然后重新刷新 页面。" + }, + "unreachableAMOHintNewFF": { + "message": "在 Firefox 60 及其更新版本中,你必须从 中删除 AMO 域" + }, + "unreachableAMOHintOldFF": { + "message": "仅 Firefox 59 或更新的版本才能让你设置 WebExtensions 在例如这样一个有 CSP 保护的页面上新增样式。" + }, + "unreachableContentScript": { + "message": "无法读取页面,请尝试刷新。" + }, + "unreachableFileHint": { + "message": "如果需要改变 file:// 协议的样式,则需要在 chrome://extensions 页面中的 Stylus 扩展选项里面,打开「允许访问文件网址」权限" + }, + "unzipStyles": { + "message": "正在解压样式..." + }, + "updateAllCheckSucceededNoUpdate": { + "message": "没有找到更新。" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "如果你修改过一些样式,那它们可能被忽略更新,你可以单独检测这些样式强制升级,也可以 再次检测所有样式强制更新。" + }, + "updateCheckFailBadResponseCode": { + "message": "更新失败: 服务器响应代码为 $code$。", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "更新失败: 无法访问服务器。" + }, + "updateCheckHistory": { + "message": "检测升级的历史记录" + }, + "updateCheckManualUpdateForce": { + "message": "安装更新(将覆盖本地修改的样式)" + }, + "updateCheckManualUpdateHint": { + "message": "强制升级将覆盖所有本地修改的样式" + }, + "updateCheckSkippedLocallyEdited": { + "message": "此样式已在本地修改过。" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "这个样式可能在本地修改过,如果强制升级更新则会覆盖修改的内容。" + }, + "updateCheckSucceededNoUpdate": { + "message": "样式已是最新版本。" + }, + "updateCompleted": { + "message": "更新已完成。" + }, + "updatesCurrentlyInstalled": { + "message": "更新已安装:" + }, + "uploadingFile": { + "message": "正在上传文件..." + }, + "usercssAvoidOverwriting": { + "message": "请修改 @name 或 @namespace 的值以免覆盖现有样式。" + }, + "usercssConfigIncomplete": { + "message": "在显示了配置对话框后,样式被修改或删除,这些变数将不会被保存,以免损坏元数据:" + }, + "usercssEditorNamePlaceholder": { + "message": "在代码中指定 @name 来设置名称" + }, + "usercssReplaceTemplateConfirmation": { + "message": "使用这些代码替换新 UserCSS 样式的默认模板?" + }, + "usercssReplaceTemplateName": { + "message": "该赋值为空的保存可设置默认模板" + }, + "usercssReplaceTemplateSectionBody": { + "message": "在此插入代码..." + }, + "versionInvalidOlder": { + "message": "当前样式版本比已安装样式版本旧。" + }, + "writeStyleFor": { + "message": "新建样式给:" + }, + "writeStyleForURL": { + "message": "URL" + }, + "zipStyles": { + "message": "正在压缩样式..." + } +} diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index bedf116e..faf85f41 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -1,1586 +1,1382 @@ { - "addStyleTitle": { - "message": "新增樣式", - "description": "Title of the page for adding styles" - }, - "alphaChannel": { - "message": "不透明度", - "description": "Label of color's opacity" - }, - "appliesAdd": { - "message": "新增", - "description": "Label for the button to add an 'applies' entry" - }, - "appliesDisplay": { - "message": "適用於: $applies$", - "description": "Text on the manage screen to describe what the style applies to" - }, - "appliesDisplayTruncatedSuffix": { - "message": "以及更多", - "description": "Text added to appliesDisplay when there are more sites for the style than are displayed" - }, - "appliesDomainOption": { - "message": "該域名上的網址", - "description": "Option to make the style apply to the entered string as a domain" - }, - "appliesHelp": { - "message": "使用「適用於」控件來限制這個樣式段適用的網址。", - "description": "Help text for 'applies to' section" - }, - "appliesLabel": { - "message": "適用於", - "description": "Label for 'applies to' fields on the edit/add screen" - }, - "appliesLineWidgetLabel": { - "message": "顯示「套用至」資訊", - "description": "Label for the checkbox to display applies-to information in the single editor" - }, - "appliesLineWidgetWarning": { - "message": "無法與最小化的 CSS 一起運作", - "description": "A warning that applies-to information won't show properly with minified CSS" - }, - "appliesRegexpOption": { - "message": "比對正規表示式的網址", - "description": "Option to make the style apply to the entered string as a regular expression" - }, - "appliesRemove": { - "message": "移除", - "description": "Label for the button to remove an 'applies' entry" - }, - "appliesRemoveError": { - "message": "無法移除最後的「套用到」項目", - "description": "Error displayed when the last 'applies' is going to be removed" - }, - "appliesSpecify": { - "message": "指定", - "description": "Label for the button to make a style apply only to specific sites" - }, - "appliesToEverything": { - "message": "全部", - "description": "Text displayed for styles that apply to all sites" - }, - "appliesUrlOption": { - "message": "網址", - "description": "Option to make the style apply to the entered string as a URL" - }, - "appliesUrlPrefixOption": { - "message": "含以下前綴的網址", - "description": "Option to make the style apply to the entered string as a URL prefix" - }, - "applyAllUpdates": { - "message": "應用所有更新", - "description": "Label for the button to apply all detected updates" - }, - "author": { - "message": "作者", - "description": "Label for the style author" - }, - "backupButtons": { - "message": "備份", - "description": "Heading for backup" - }, - "backupMessage": { - "message": "選取檔案並拖曳到此頁面。", - "description": "Message for backup" - }, - "bckpInstStyles": { - "message": "匯出樣式", - "description": "" - }, - "checkAllUpdates": { - "message": "檢查所有樣式更新", - "description": "Label for the button to check all styles for updates" - }, - "checkAllUpdatesForce": { - "message": "再次檢查,我沒有編輯任何樣式!", - "description": "Label for the button to apply all detected updates" - }, - "checkForUpdate": { - "message": "檢查更新", - "description": "Label for the button to check a single style for an update" - }, - "checkingForUpdate": { - "message": "檢查中…", - "description": "Text to display when checking a style for an update" - }, - "clickToUninstall": { - "message": "點選以解除安裝", - "description": "Label for the overlay on a style thumbnail when installed via inline search in the popup" - }, - "cm_autoCloseBrackets": { - "message": "自動關閉括號與引號", - "description": "Label for the checkbox in the style editor." - }, - "cm_autoCloseBracketsTooltip": { - "message": "當輸入開放的 ()[]{}''\"\" 時自動新增另一邊的標點符號", - "description": "Label for the checkbox in the style editor." - }, - "cm_autocompleteOnTyping": { - "message": "在輸入時自動完成", - "description": "Label for the checkbox in the style editor." - }, - "cm_colorpicker": { - "message": "用於 CSS 色彩的色彩選擇器", - "description": "Label for the checkbox controlling colorpicker option for the style editor." - }, - "cm_indentWithTabs": { - "message": "用 Tab 鍵智慧縮排", - "description": "Label for the checkbox controlling tabs with smart indentation option for the style editor." - }, - "cm_keyMap": { - "message": "鍵盤映射", - "description": "Label for the drop-down list controlling the keymap for the style editor." - }, - "cm_lineWrapping": { - "message": "自動換行", - "description": "Label for the checkbox controlling word wrap option for the style editor." - }, - "cm_linter": { - "message": "CSS Linter", - "description": "Select the linter to check for CSS issues" - }, - "cm_matchHighlight": { - "message": "突顯", - "description": "Label for the drop-down list controlling the automatic highlighting of current word/selection occurrences in the style editor." - }, - "cm_matchHighlightSelection": { - "message": "僅段", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" - }, - "cm_matchHighlightToken": { - "message": "在游標下的 Token", - "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of the word/token under cursor even if nothing is selected" - }, - "cm_resizeGripHint": { - "message": "按兩下以最大化/還原高度", - "description": "Tooltip for the resize grip in style editor" - }, - "cm_selectByTokens": { - "message": "按兩下選取 token", - "description": "Label for the checkbox in the editor." - }, - "cm_selectByTokensTooltip": { - "message": "Token 的範例:.foo-bar-2 #aabbcc 0.32 !important\n當停用時:將會選取被標點符號分隔的字詞。", - "description": "" - }, - "cm_smartIndent": { - "message": "使用智慧縮排", - "description": "Label for the checkbox controlling smart indentation option for the style editor." - }, - "cm_tabSize": { - "message": "Tab 大小", - "description": "Label for the text box controlling tab size option for the style editor." - }, - "cm_theme": { - "message": "主題", - "description": "Label for the style editor's CSS theme." - }, - "colorpickerPaletteHint": { - "message": "右鍵點擊其中ㄧ部份以循環其原始碼", - "description": "" - }, - "colorpickerSwitchFormatTooltip": { - "message": "切換格式:HEX → RGB → HSL。\nShift 並點選則為反向進行。\n也可以使用 PgUp (PageUp) 與 PgDn (PageDown) 鍵。", - "description": "Tooltip for the switch button in the color picker popup in the style editor." - }, - "colorpickerTooltip": { - "message": "開啟色彩選擇器", - "description": "Tooltip for the colored squares shown before CSS colors in the style editor." - }, - "configOnChange": { - "message": "正在變更", - "description": "VERY SHORT label for the checkbox in style config dialog after the save button - when enabled the changes in the dialog are saved and applied automatically without the need to press the Save button" - }, - "configOnChangeTooltip": { - "message": "自動儲存與套用變更", - "description": "" - }, - "configureStyle": { - "message": "設定", - "description": "Label for the button to configure usercss userstyle" - }, - "configureStyleOnHomepage": { - "message": "在首頁上設定", - "description": "Label for the button to configure userstyles.org userstyle" - }, - "confirmCancel": { - "message": "取消", - "description": "" - }, - "confirmClose": { - "message": "關閉", - "description": "'Close' button in a confirm dialog" - }, - "confirmDefault": { - "message": "使用預設值", - "description": "'Set to default' button in a confirm dialog" - }, - "confirmDelete": { - "message": "刪除", - "description": "" - }, - "confirmDiscardChanges": { - "message": "放棄變更?", - "description": "Generic label or title displayed when trying to close something (not a style) with unsaved changes" - }, - "confirmNo": { - "message": "否", - "description": "'No' button in a confirm dialog" - }, - "confirmOK": { - "message": "確定", - "description": "" - }, - "confirmSave": { - "message": "儲存", - "description": "'Save' button in a confirm dialog" - }, - "confirmStop": { - "message": "停止", - "description": "'Stop' button in a confirm dialog" - }, - "confirmYes": { - "message": "是", - "description": "'Yes' button in a confirm dialog" - }, - "copied": { - "message": "已複製到剪貼簿", - "description": "Message shown when content has been copied to the clipboard" - }, - "copy": { - "message": "複製到剪貼簿", - "description": "Tooltip for elements which can be copied" - }, - "customNameHint": { - "message": "在此輸入自訂名稱以在使用者介面中重新命名樣式而不會中斷其更新", - "description": "" - }, - "customNameResetHint": { - "message": "停止使用自訂的名稱,切換到樣式自己的名稱", - "description": "Tooltip of 'x' button shown in editor when changing the name input of a) styles updated from a URL i.e. not locally created, b) UserCSS styles" - }, - "dateAbbrDay": { - "message": "$value$天", - "description": "Day suffix in a short relative date, for example: 8d" - }, - "dateAbbrHour": { - "message": "$value$小時", - "description": "Hour suffix in a short relative date, for example: 8h" - }, - "dateAbbrMonth": { - "message": "$value$月", - "description": "Month suffix in a short relative date, for example: 8m" - }, - "dateAbbrYear": { - "message": "$value$年", - "description": "Year suffix in a short relative date, for example: 8y" - }, - "dateInstalled": { - "message": "安裝日期", - "description": "Option text for the user to sort the style by install date" - }, - "dateUpdated": { - "message": "更新日期", - "description": "Option text for the user to sort the style by last update date" - }, - "dbError": { - "message": "使用 Stylus 資料庫時出現錯誤。你想訪問可能包含解決辦法的網頁嗎?", - "description": "Prompt when a DB error is encountered" - }, - "defaultTheme": { - "message": "預設", - "description": "Default CodeMirror CSS theme option on the edit style page" - }, - "deleteStyleConfirm": { - "message": "確定要刪除這個樣式嗎?", - "description": "Confirmation before deleting a style" - }, - "deleteStyleLabel": { - "message": "删除", - "description": "Label for the button to delete a style" - }, - "description": { - "message": "用Stylus(一個用戶樣式管理器)重塑網頁。 Stylus 讓你能為诸多主流網站輕鬆的安裝主題和皮膚。", - "description": "Extension description" - }, - "disableAllStyles": { - "message": "停用所有樣式", - "description": "Label for the checkbox that turns all enabled styles off." - }, - "disableStyleLabel": { - "message": "停用", - "description": "Label for the button to disable a style" - }, - "dragDropMessage": { - "message": "將您的備份檔拖曳到此頁面的任何地方以匯入。", - "description": "Drag'n'drop message" - }, - "dragDropUsercssTabstrip": { - "message": "要安裝檔案,請將其放到分頁上(顯示分頁標題的區域)。", - "description": "Message popup shown when erroneously dropping a usercss file into the manager page" - }, - "editDeleteText": { - "message": "删除", - "description": "Label for the context menu item in the editor to delete selected text" - }, - "editGotoLine": { - "message": "跳到行(或 line:col )", - "description": "Go to line or line:column on Ctrl-G in style code editor" - }, - "editStyleHeading": { - "message": "編輯樣式", - "description": "Title of the page for editing styles" - }, - "editStyleLabel": { - "message": "編輯", - "description": "Label for the button to go to the edit style page" - }, - "editStyleTitle": { - "message": "編輯樣式 $stylename$", - "description": "Title of the page for editing styles" - }, - "enableStyleLabel": { - "message": "啟用", - "description": "Label for the button to enable a style" - }, - "excludeStyleByDomainLabel": { - "message": "排除目前的網域", - "description": "" - }, - "excludeStyleByUrlLabel": { - "message": "排除目前的 URL", - "description": "" - }, - "exportLabel": { - "message": "匯出", - "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" - }, - "externalFeedback": { - "message": "回饋", - "description": "Label for the external link to send feedback for the style" - }, - "externalHomepage": { - "message": "首頁", - "description": "Label for the external link to style's homepage" - }, - "externalLink": { - "message": "外部連結", - "description": "Label for external links" - }, - "externalSupport": { - "message": "支援", - "description": "Label for the external link to style's support site" - }, - "externalUsercssDocument": { - "message": "Usercss 的文件", - "description": "Label for the external link to usercss documentation" - }, - "filteredStyles": { - "message": "$numShown$ 個已顯示,總共 $numTotal$ 個", - "description": "TL note - make this message short" - }, - "filteredStylesAllHidden": { - "message": "目前套用的過濾器未符合樣式", - "description": "Text shown when no styles match currently applied filter in the style manager" - }, - "findStyles": { - "message": "尋找樣式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesForSite": { - "message": "查找更多適合此網站的樣式", - "description": "Text for a link that gets a list of styles for the current site" - }, - "findStylesInline": { - "message": "嵌入", - "description": "Text for a checkbox that opens search results 'inline' (within the Stylus popup window)" - }, - "findStylesInlineTooltip": { - "message": "在此視窗中顯示搜尋結果。", - "description": "Text for a checkbox that displays search results within the Stylus popup." - }, - "genericAdd": { - "message": "新增", - "description": "Used in various places for an action that adds something" - }, - "genericClone": { - "message": "複製", - "description": "Used in various places for an action that clones something" - }, - "genericDisabledLabel": { - "message": "已停用", - "description": "Used in various lists/options to indicate that something is disabled" - }, - "genericEnabledLabel": { - "message": "已啟用", - "description": "Used in various lists/options to indicate that something is enabled" - }, - "genericError": { - "message": "錯誤", - "description": "Used in various places to indicate some error occurred." - }, - "genericHistoryLabel": { - "message": "歷史", - "description": "Used in various places to show a history log of something" - }, - "genericNext": { - "message": "下一步", - "description": "Used in various places to select/perform the next step/action" - }, - "genericPrevious": { - "message": "上一步", - "description": "Used in various places to select/perform the previous step/action" - }, - "genericResetLabel": { - "message": "重設", - "description": "Used in various parts of UI to indicate that something may be reset to its original state" - }, - "genericSavedMessage": { - "message": "已儲存", - "description": "Used in various parts of the UI to indicate that something was saved" - }, - "genericTitle": { - "message": "標題", - "description": "Used in various parts of the UI to indicate the title of something" - }, - "genericUnknown": { - "message": "未知", - "description": "Used in various parts of the UI to indicate if something is unknown (e.g. an unknown date)" - }, - "helpAlt": { - "message": "說明", - "description": "Alternate text for help buttons" - }, - "helpKeyMapCommand": { - "message": "鍵入命令名稱", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "helpKeyMapHotkey": { - "message": "按下快速鍵", - "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short" - }, - "hostDisabled": { - "message": "由於所用目前版本瀏覽器的臭蟲,此主機已被停用", - "description": "Tooltip for cloud host disabled" - }, - "importAppendLabel": { - "message": "追加到樣式", - "description": "Label for the button to import a style and append to the existing sections" - }, - "importAppendTooltip": { - "message": "追加導入的樣式到當前樣式", - "description": "Tooltip for the button to import a style and append to the existing sections" - }, - "importLabel": { - "message": "匯入", - "description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)" - }, - "importPreprocessor": { - "message": "使用 @preprocessor 的樣是在經典模式下無法運作。您可以將編輯器切換到 Usercss 模式:1) 開啟樣式管理程式,2) 啟用「做為 Usercss」對話框,3) 點擊「編寫新樣式」\n", - "description": "" - }, - "importPreprocessorTitle": { - "message": "@preprocessor 引起的潛在問題", - "description": "" - }, - "importReplaceLabel": { - "message": "覆蓋樣式", - "description": "Label for the button to import and overwrite current style" - }, - "importReplaceTooltip": { - "message": "棄用當前樣式內容并用導入樣式覆蓋", - "description": "Label for the button to import and overwrite current style" - }, - "importReportLegendAdded": { - "message": "已加入", - "description": "Text after the number of styles added in the report shown after importing styles" - }, - "importReportLegendIdentical": { - "message": "已跳過相同的", - "description": "Text after the number of styles skipped due to being identical to the already installed ones in the report shown after importing styles" - }, - "importReportLegendInvalid": { - "message": "已跳過無效的", - "description": "Text after the number of styles skipped due to being invalid (not a Stylus/Stylish backup file probably) in the report shown after importing styles" - }, - "importReportLegendUpdatedBoth": { - "message": "後設資訊與程式碼均已更新", - "description": "Text after the number of styles updated entirely in the report shown after importing styles" - }, - "importReportLegendUpdatedCode": { - "message": "已更新的程式碼", - "description": "Text after the number of styles with updated code (meta info is unchanged) in the report shown after importing styles" - }, - "importReportLegendUpdatedMeta": { - "message": "已更新後設資訊", - "description": "Text after the number of styles with updated meta info like name/url in the report shown after importing styles" - }, - "importReportTitle": { - "message": "匯入樣式已完成", - "description": "Title of the report shown after importing styles" - }, - "importReportUnchanged": { - "message": "沒有變更。", - "description": "Message in the report shown after importing styles" - }, - "importReportUndone": { - "message": "樣式已被復原", - "description": "Text after the number of styles reverted in the message box shown after undoing the import of styles" - }, - "importReportUndoneTitle": { - "message": "匯入已被復原", - "description": "Title of the message box shown after undoing the import of styles" - }, - "installButton": { - "message": "安裝樣式", - "description": "Label for install button" - }, - "installButtonInstalled": { - "message": "樣式已安裝", - "description": "Text displayed when the style is successfully installed" - }, - "installButtonReinstall": { - "message": "重新安裝樣式", - "description": "Label for reinstall button" - }, - "installButtonUpdate": { - "message": "更新樣式", - "description": "Label for update button" - }, - "installUpdate": { - "message": "安裝更新", - "description": "Label for the button to install an update for a single style" - }, - "installUpdateFrom": { - "message": "目前從 $url$ 更新樣式", - "description": "Label to describe where the style gets update" - }, - "installUpdateFromLabel": { - "message": "檢查更新", - "description": "Label for the checkbox to save current URL for update check" - }, - "license": { - "message": "授權條款", - "description": "Label for the license" - }, - "linkGetHelp": { - "message": "取得協助", - "description": "Homepage link text on the manage page e.g. https://add0n.com/stylus.html#features with chat/FAQ/intro/info" - }, - "linkGetStyles": { - "message": "取得樣式", - "description": "Help link text on the manage page e.g. https://userstyles.org" - }, - "linkStylusWiki": { - "message": "Wiki", - "description": "Wiki link text on the manage page e.g. https://github.com/openstyles/stylus/wiki" - }, - "linkTranslate": { - "message": "翻譯", - "description": "Transifex link text on the manage page" - }, - "linterCSSLintIncompatible": { - "message": "CSSLint 不支援 $preprocessorname$ 預處理器", - "description": "The label to display when the preprocessor isn't compatible with CSSLint" - }, - "linterCSSLintSettings": { - "message": "(設定規則為:0 = 停用;1 = 警告;2 = 錯誤)", - "description": "CSSLint rule config values" - }, - "linterConfigPopupTitle": { - "message": "設定 $linter$ 規則設定", - "description": "Stylelint or CSSLint popup header" - }, - "linterConfigTooltip": { - "message": "點選以設定此 linter", - "description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration" - }, - "linterInvalidConfigError": { - "message": "因為無效的設定所以未儲存:", - "description": "Invalid linter config will show a message followed by a list of invalid entries" - }, - "linterIssues": { - "message": "問題", - "description": "Label for the CSS linter issues block on the style edit page" - }, - "linterIssuesHelp": { - "message": "這些問題被 $link$ 找到了:", - "description": "Help popup message for the selected CSS linter issues block on the style edit page" - }, - "linterJSONError": { - "message": "無效的 JSON 格式", - "description": "Setting linter config with invalid JSON" - }, - "linterResetMessage": { - "message": "要復原意外的重設,在文字方塊按下 Ctrl-Z(或 Cmd-Z)", - "description": "Reset button tooltip to inform user on how to undo an accidental reset" - }, - "linterRulesLink": { - "message": "見完整的規則清單", - "description": "Stylelint or CSSLint rules label added immediately before a link" - }, - "liveReloadError": { - "message": "觀看檔案時發生錯誤", - "description": "The label of live-reload error" - }, - "liveReloadInstallHint": { - "message": "保持此分頁開啟以根據外部變更自動更新樣式。", - "description": "The label of live-reload feature" - }, - "liveReloadInstallHintFF": { - "message": "保持此分頁與原始分頁開啟以根據外部變更自動更新樣式。", - "description": "The extra hint of live-reload feature shown only for file:// URLs in Firefox" - }, - "liveReloadLabel": { - "message": "即時重新整理", - "description": "The label of live-reload feature" - }, - "manageFavicons": { - "message": "Favicons 要套用到的欄位", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFaviconsGray": { - "message": "灰階淡出", - "description": "Label for the checkbox that toggles grayed out mode of applies-to favicons in the new UI on manage page" - }, - "manageFaviconsHelp": { - "message": "Stylus 使用外部服務 https://www.google.com/s2/favicons", - "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page" - }, - "manageFilters": { - "message": "過濾器", - "description": "Label for filters container" - }, - "manageHeading": { - "message": "已安裝的樣式", - "description": "Heading for the manage page" - }, - "manageMaxTargets": { - "message": "已套用項目的數量", - "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" - }, - "manageNewStyleAsUsercss": { - "message": "做為 Usercss", - "description": "VERY SHORT label for the checkbox next to the 'Write new style' button in the style manager" - }, - "manageNewUI": { - "message": "新的管理介面配置", - "description": "Label for the checkbox that toggles the new UI on manage page" - }, - "manageOnlyDisabled": { - "message": "僅已停用的樣式", - "description": "Checkbox to show only disabled styles" - }, - "manageOnlyEnabled": { - "message": "只顯示已啟用的樣式", - "description": "Checkbox to show only enabled styles" - }, - "manageOnlyExternal": { - "message": "僅外部樣式", - "description": "Checkbox to show only externally installed styles i.e. updatable" - }, - "manageOnlyLocal": { - "message": "僅本機建立的樣式", - "description": "Checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyLocalTooltip": { - "message": "(不是透過 userstyles.org 網頁安裝的樣式)", - "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" - }, - "manageOnlyNonUsercss": { - "message": "僅非 Usercss 樣式", - "description": "Checkbox to show only non-Usercss (standard) styles" - }, - "manageOnlyUpdates": { - "message": "僅有更新或是有問題的", - "description": "Checkbox to show only styles that have updates after check-all-styles-for-updates was performed" - }, - "manageOnlyUsercss": { - "message": "僅 Usercss 樣式", - "description": "Checkbox to show only Usercss styles" - }, - "manageTitle": { - "message": "Stylus", - "description": "Title for the manage page" - }, - "menuShowBadge": { - "message": "顯示生效的樣式數目", - "description": "Label (must be very short) for the checkbox in the toolbar button context menu controlling toolbar badge text." - }, - "meta_invalidCheckboxDefault": { - "message": "無效的 @var 勾選框:值必須為 0 或 1", - "description": "Error displayed when the value of @var checkbox is invalid" - }, - "meta_invalidColor": { - "message": "無效的 @var 顏色:$color$ 不是顏色", - "description": "Error displayed when the value of @var color is invalid" - }, - "meta_invalidRange": { - "message": "無效的 @var $type$:值必須為數字或陣列", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMultipleUnits": { - "message": "無效的 @var $type$:定義了多個單位", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeTooManyValues": { - "message": "無效的 @var $type$:陣列包含太多項目", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeValue": { - "message": "無效的 @var $type$:在陣列中的項目必須為數字、字串或空值", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeDefault": { - "message": "無效的 @var $type$:預設值為 null", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMin": { - "message": "無效的 @var $type$:預設值低於最低值", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeMax": { - "message": "無效的 @var $type$:預設值大於最低值", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeStep": { - "message": "無效的 @var $type$:預設值為不是一個多步驟", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidRangeUnits": { - "message": "無效的 @var $type$:'$units$' 不是有效單位", - "description": "Error displayed when the value of @var range or @var number is invalid" - }, - "meta_invalidSelect": { - "message": "無效的 @var 選擇:預設值必須為陣列或物件", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValue": { - "message": "無效的 @var 選擇:在陣列/物件中的值必須為字串", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectEmptyOptions": { - "message": "無效的 @var 選擇:選項清單為空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectLabel": { - "message": "無效的 @var 選擇:選項標籤為空", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectMultipleDefaults": { - "message": "無效的 @var 選擇:定義了多個預設選項", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectNameDuplicated": { - "message": "無效的 @var 選擇:選項名稱重複", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidSelectValueMismatch": { - "message": "無效的 @var 選擇:值不存在於選項清單中", - "description": "Error displayed when the value of @var select is invalid" - }, - "meta_invalidURLProtocol": { - "message": "無效的 URL 協定。僅允許 http 與 https:$protocol$", - "description": "Error displayed when the protocol of the URL is invalid" - }, - "meta_invalidVersion": { - "message": "無效的版本號。值不符合 SemVer 模式:$version$", - "description": "Error displayed when @version is invalid" - }, - "meta_invalidNumber": { - "message": "預期為數字", - "description": "Error displayed when the value is expected to be a number" - }, - "meta_invalidString": { - "message": "預期為帶引號的字串", - "description": "Error displayed when the value is expected to be a quoted string" - }, - "meta_invalidWord": { - "message": "預期為單字", - "description": "Error displayed when the value is expected to be a word" - }, - "meta_missingChar": { - "message": "預期字元:$chars$", - "description": "Error displayed when the value is expected to be some characters" - }, - "meta_missingEOT": { - "message": "預期為 EOT 資料", - "description": "Error displayed when the value is expected to be an EOT list" - }, - "meta_missingMandatory": { - "message": "遺失必要的詮釋資料:$keys$", - "description": "Error displayed when mandatory keys are missing" - }, - "meta_unknownJSONLiteral": { - "message": "無效的 JSON:$literal$ 不是有效的 JSON 文字", - "description": "Error displayed when JSON value is invalid" - }, - "meta_unknownMeta": { - "message": "未知的詮釋資料:$key$", - "description": "Error displayed when unknown metadata is parsed" - }, - "meta_unknownVarType": { - "message": "未知的 @$varkey$ 類型:$vartype$", - "description": "Error displayed when unknown variable type is parsed" - }, - "meta_unknownPreprocessor": { - "message": "未知的 @preprocessor:$preprocessor$", - "description": "Error displayed when unknown @preprocessor is parsed" - }, - "noStylesForSite": { - "message": "目前網站沒有安裝任何樣式。", - "description": "Text displayed when no styles are installed for the current site" - }, - "numberedLine": { - "message": "行", - "description": "Will be followed by one or more line numbers in the editor." - }, - "openManage": { - "message": "管理已安裝樣式", - "description": "Link to open the manage page." - }, - "openOptions": { - "message": "選項", - "description": "Go to Options UI" - }, - "openStylesManager": { - "message": "開啟樣式管理員", - "description": "Label for the style maanger opener in the browser action context menu." - }, - "optionsActions": { - "message": "動作", - "description": "" - }, - "optionsAdvanced": { - "message": "進階", - "description": "" - }, - "optionsAdvancedContextDelete": { - "message": "在編輯器的右鍵選單中加入「刪除」", - "description": "" - }, - "optionsAdvancedExposeIframes": { - "message": "透過 HTML[stylus-iframe] 公開 iframes", - "description": "" - }, - "optionsAdvancedExposeIframesNote": { - "message": "公開每個 iframe 中的頂級頁面網域。\n啟用編寫特別用於 iframe 的 CSS,如這個:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }", - "description": "Add attribute to iframe; make sure to include the double $$ in the css example, or the `$=` will be omitted in the displayed text." - }, - "optionsAdvancedNewStyleAsUsercss": { - "message": "以 usercss 編寫新樣式", - "description": "" - }, - "optionsAdvancedPatchCsp": { - "message": "修補 CSP 以允許樣式資源", - "description": "" - }, - "optionsAdvancedPatchCspNote": { - "message": "如果樣式包含無法在有嚴格 CSP內容安全策略)的網站上載入的圖片或字型,請啟用此選項。\n\n啟用此設定將會放寬 CSP 限制,允許基本的樣式內容載入。此選項僅適用於了解潛在的安全問題,且接受監視其允許內容責任的進階使用者。閱讀關於以 CSS 為基礎的攻擊來取得更多資訊。\n\n另外請注意,如果已經有另一個已安裝的附加元件先修改了網路回應,則無法保證此設定可起作用。", - "description": "" - }, - "optionsAdvancedStyleViaXhr": { - "message": "即時注入模式", - "description": "" - }, - "optionsAdvancedStyleViaXhrNote": { - "message": "如果在瀏覽時遇到無樣式內容 (FOUC) 的閃爍(在深色主題下尤其明顯),請啟用此選項。\n\n技術上的原因是 Chrome/Chromium 通常以無意義的嘗試延遲擴充功能的非同步通訊來改善網頁的載入速度,這可能會導致樣式較慢才被套用。為了避免這種狀況,因為擴充功能無法使用同步 API,Stylus 提供了此選項以利用「已棄用」的同步 XMLHttpRequest 網路 API 來擷取可套用的樣式。應該不會有任何有害的影響,因為在從伺服器下載頁面的同時,請求也會在幾毫秒內完成。\n\n儘管如此,Chromium 還是會在開發者工具的主控台中顯示警告。右鍵點擊警告,然後隱藏它們,這樣警告就不會再顯示。", - "description": "" - }, - "optionsBadgeDisabled": { - "message": "停用時的背景色彩", - "description": "" - }, - "optionsBadgeNormal": { - "message": "背景色彩", - "description": "" - }, - "optionsCheck": { - "message": "更新樣式", - "description": "" - }, - "optionsCheckUpdate": { - "message": "檢查並安裝所有可用的更新", - "description": "" - }, - "optionsCustomizeBadge": { - "message": "在工具列圖示上的徽章", - "description": "" - }, - "optionsCustomizeIcon": { - "message": "工具列圖示", - "description": "" - }, - "optionsCustomizePopup": { - "message": "彈出式視窗", - "description": "" - }, - "optionsCustomizeUpdate": { - "message": "更新", - "description": "" - }, - "optionsCustomizeSync": { - "message": "同步到雲端", - "description": "" - }, - "optionsHeading": { - "message": "選項", - "description": "Heading for options section on manage page." - }, - "optionsIconDark": { - "message": "暗色瀏覽器主題", - "description": "" - }, - "optionsIconLight": { - "message": "亮色瀏覽器主題", - "description": "" - }, - "optionsOpen": { - "message": "開啟", - "description": "" - }, - "optionsOpenManager": { - "message": "管理樣式", - "description": "" - }, - "optionsPopupWidth": { - "message": "彈出視窗寬度(以像素計)", - "description": "" - }, - "optionsReset": { - "message": "重設選項為預設值", - "description": "" - }, - "optionsResetButton": { - "message": "重設選項", - "description": "" - }, - "optionsStylusThemes": { - "message": "尋找 Sytlus UI 佈景主題", - "description": "" - }, - "optionsSubheading": { - "message": "更多選項", - "description": "Subheading for options section on manage page." - }, - "optionsUpdateImportNote": { - "message": "當從舊版本或是從 Stylish 匯入樣式備份時,在樣式管理員中手動進行一次更新檢查,以確保所有樣式都被更新。", - "description": "" - }, - "optionsUpdateInterval": { - "message": "使用者樣式自動更新間隔(以小時計,指定為 0 以停用)", - "description": "" - }, - "optionsSyncNone": { - "message": "無", - "description": "" - }, - "optionsSyncConnect": { - "message": "連線", - "description": "" - }, - "optionsSyncDisconnect": { - "message": "斷線", - "description": "" - }, - "optionsSyncSyncNow": { - "message": "立刻同步", - "description": "" - }, - "optionsSyncLogin": { - "message": "登入", - "description": "" - }, - "optionsSyncStatusPull": { - "message": "正在拉取樣式 $total$ 中的 $loaded$", - "description": "" - }, - "optionsSyncStatusPush": { - "message": "正在拉取樣式 $total$ 中的 $loaded$", - "description": "" - }, - "optionsSyncStatusSyncing": { - "message": "正在同步……", - "description": "" - }, - "optionsSyncStatusConnecting": { - "message": "正在連線……", - "description": "" - }, - "optionsSyncStatusConnected": { - "message": "已連線", - "description": "" - }, - "optionsSyncStatusDisconnecting": { - "message": "正在斷線……", - "description": "" - }, - "optionsSyncStatusDisconnected": { - "message": "已斷線", - "description": "" - }, - "optionsSyncStatusRelogin": { - "message": "工作階段已過期,請再次登入。", - "description": "" - }, - "paginationCurrent": { - "message": "目前頁面", - "description": "Tooltip for the current page index in search results" - }, - "paginationEstimated": { - "message": "估計頁數", - "description": "Tooltip for the total page count in search results" - }, - "paginationNext": { - "message": "下一頁", - "description": "Tooltip for the '->' (next page) button in search results" - }, - "paginationPrevious": { - "message": "上一頁", - "description": "Tooltip for the '<-' button in search results" - }, - "paginationTotal": { - "message": "總頁面", - "description": "" - }, - "parseUsercssError": { - "message": "Stylus 解析 usercss 失敗:", - "description": "The error message to show when stylus failed to parse usercss" - }, - "popupAutoResort": { - "message": "復原在切換後的彈出式視窗樣式", - "description": "Label for the checkbox controlling popup resorting." - }, - "popupBorders": { - "message": "在邊邊新增白色邊框", - "description": "" - }, - "popupBordersTooltip": { - "message": "對新 Chrome 中的暗色主題很有用,因為其不再繪製邊框", - "description": "" - }, - "popupHotkeysInfo": { - "message": "<1>-<9>、<0>,數字鍵盤也可以 — 切換第 N 個樣式(0 是切換到第 10 個)\n- 切換以該字母為名稱第一個字的樣式\n 開啟編輯器而非切換\n 啟用列出的樣式\n 停用列出的樣式\n 與 <`> (倒引號)— 切換初始啟用的樣式;不要在彈出式視窗開啟時套用到後來啟用的樣式,這樣您就可以在測試完後復原初始選擇:僅停用全部,然後切換。 \n更多資訊請見 wiki", - "description": "NOTE1: preserve < and > symbols so that is styled as a key.\nNOTE2: the last line is displayed as a text of the link to the wiki page.\nNOTE3: this is the list of hotkeys displayed after clicking the right edge of the extension popup." - }, - "popupHotkeysTooltip": { - "message": "點選以檢視可用的快速鍵", - "description": "Tooltip displayed when hovering the right edge of the extension popup" - }, - "popupManageTooltip": { - "message": "Shift + 點選或右鍵 + 點選以在管理員中開啟目前頁面可用的樣式", - "description": "Tooltip for the 'Manage' button in the popup." - }, - "popupMenuButtonTooltip": { - "message": "動作選單", - "description": "Tooltip for menu button in popup." - }, - "popupOpenEditInPopup": { - "message": "使用簡易視窗(無多功能方框)", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindow": { - "message": "在新視窗開啟編輯器", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupOpenEditInWindowTooltip": { - "message": "也透過從瀏覽器視窗分離編輯器分頁來啟用,\n並透過將單獨的編輯器分頁附加到其他視窗中來停用。", - "description": "Label for the checkbox controlling 'edit' action behavior in the popup." - }, - "popupStylesFirst": { - "message": "在工具欄按鈕命令行前列出樣式", - "description": "Label for the checkbox controlling section order in the popup." - }, - "prefShowBadge": { - "message": "在工具欄按鈕上顯示當前網站已生效的樣式表數目。", - "description": "Label for the checkbox controlling toolbar badge text." - }, - "previewLabel": { - "message": "即時預覽", - "description": "Label for the checkbox in style editor to enable live preview while editing." - }, - "previewTooltip": { - "message": "不儲存而暫時套用變更。\n儲存樣式以永久變更。", - "description": "Tooltip for the checkbox in style editor to enable live preview while editing." - }, - "reload": { - "message": "重新載入 Stylus 附加元件", - "description": "Context menu reload" - }, - "replace": { - "message": "取代", - "description": "Label before the replace input field in the editor shown on Ctrl-H" - }, - "replaceAll": { - "message": "取代所有", - "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" - }, - "replaceWith": { - "message": "取代為", - "description": "Label before the replace-with input field in the editor shown on Ctrl-H etc." - }, - "retrieveBckp": { - "message": "匯入樣式", - "description": "" - }, - "search": { - "message": "搜尋", - "description": "Label before the search input field in the editor shown on Ctrl-F" - }, - "searchCaseSensitive": { - "message": "區分大小寫", - "description": "Tooltip for the 'Aa' icon that enables case-sensitive search in the editor shown on Ctrl-F" - }, - "searchGlobalStyles": { - "message": "同時搜尋全域樣式", - "description": "Checkbox label in the popup's inline style search, shown when the text to search is entered" - }, - "searchNumberOfResults": { - "message": "符合數量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchNumberOfResults2": { - "message": "在程式碼與套用到的值的符合數量", - "description": "Tooltip for the number of found search results in the editor shown on Ctrl-F" - }, - "searchStyleQueryHint": { - "message": "搜尋樣式名稱時是區分大小寫的:\nsome words - 以任意順序搜尋所有文字\n\"some phrase\" - 精確符合引號內的詞語\n2020 - 如此年份顯示在2020年更新的樣式", - "description": "Tooltip shown for the text input in the popup's inline style finder" - }, - "searchRegexp": { - "message": "使用/re/語法正規表示式搜尋", - "description": "Label after the search input field in the editor shown on Ctrl-F" - }, - "searchResultInstallCount": { - "message": "總安裝", - "description": "Text for label that shows the number of times a search result was installed" - }, - "searchResultNoneFound": { - "message": "找不到此頁面相關的樣式", - "description": "Error text in the popup when inline search didn't find any site-specific styles" - }, - "searchResultNotMatching": { - "message": "樣式已安裝,但不會套用到目前網站的 URL。", - "description": "" - }, - "searchResultNotMatchingNote": { - "message": "嘗試要求此使用者樣式的作者新增 URL。\n\n您也可以在管理程式中開啟樣式,然後自行編輯,\n但請注意,這樣做會停用此樣式的自動更新。", - "description": "" - }, - "searchResultRating": { - "message": "評價", - "description": "Text for label that shows the search result's rating" - }, - "searchResultUpdated": { - "message": "已更新", - "description": "Text for label that shows the search result's last update date" - }, - "searchResultWeeklyCount": { - "message": "每週安裝", - "description": "Text for label that shows the number of times a search result was installed during last week" - }, - "searchStylesAll": { - "message": "全部", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesCode": { - "message": "CSS 程式碼", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesHelp": { - "message": " 或 鍵可將焦點置於搜尋欄。\n預設的模式為純文字搜尋,以任意順序搜尋所有以空格分隔的詞語。\n精確字詞:將字詞以雙引號包起來,例如 <\".header ~ div\">\n正規表達式:包含斜線與標誌,如 \n範圍選擇器中的「按 URL」:尋找適用於完全指定 URL 的樣式,如 https://www.example.org/\n範圍選擇器中的「詮釋資料」:搜尋名稱、「套用至」說明、安裝 URL、更新 URL 與整個 usercss 樣式的詮釋資料區塊。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the search input field on the Manage styles page" - }, - "searchStylesMatchUrl": { - "message": "按 URL", - "description": "Option for `find styles` scope selector in the manager. See searchMatchUrlHint for more info." - }, - "searchStylesMeta": { - "message": "詮釋資料", - "description": "Option for `find styles` scope selector in the manager." - }, - "searchStylesName": { - "message": "名稱", - "description": "Option for `find styles` scope selector in the manager." - }, - "sectionAdd": { - "message": "再加入一個樣式段", - "description": "Label for the button to add a section" - }, - "sectionCode": { - "message": "代碼", - "description": "Label for the code for a section" - }, - "sectionRemove": { - "message": "移除樣式段", - "description": "Label for the button to remove a section" - }, - "sectionRestore": { - "message": "復原已移除的部份", - "description": "Label for the button to restore a removed section" - }, - "sections": { - "message": "樣式段", - "description": "Header for the table of contents block listing style section names in the left panel of the classic editor" - }, - "shortcuts": { - "message": "快速鍵", - "description": "Go to shortcut configuration" - }, - "shortcutsNote": { - "message": "自訂鍵盤快速鍵", - "description": "" - }, - "sortDateNewestFirst": { - "message": "最新的優先", - "description": "Text added to indicate that sorting a date would add the newest entries at the top" - }, - "sortDateOldestFirst": { - "message": "最舊的優先", - "description": "Text added to indicate that sorting a date would add the oldest entries at the top" - }, - "sortLabel": { - "message": "選取適用於已安裝樣式的排序方式", - "description": "Title on the sort select to indicate it is used for sorting entries" - }, - "sortLabelTitleAsc": { - "message": "標題遞增", - "description": "Text added to option group to indicate a block of options that apply a title ascending (A to Z) sort" - }, - "sortLabelTitleDesc": { - "message": "標題遞減", - "description": "Text added to option group to indicate a block of options that apply a title descending (Z to A) sort" - }, - "sortStylesHelp": { - "message": "從下拉選單中選取要套用於已安裝項目的排序類型。預設使用標題遞增排序(A 到 Z)。「標題遞減」則會套用遞減排序(Z 到 A)。\n還有其他的排序方式。您可以想像對一個多欄的表格進行排序,並且每次選取(加號之間)都代表了一欄或一組。\n舉例來說,若設定為「啟用(第一)+標題」,將會把所有已啟用的項目都排列在頂部,然後再以標題遞增(A 到 Z)的順序來分別套用到已啟用與已停用的項目。", - "description": "Text in the minihelp displayed when clicking (i) icon to the right of the sort input field on the Manage styles page" - }, - "sortStylesHelpTitle": { - "message": "排序內容", - "description": "Label for the sort info popup on the Manage styles page" - }, - "styleBadRegexp": { - "message": "正規表示式無效。", - "description": "Validation message for a bad regexp in a style" - }, - "styleBeautify": { - "message": "美化", - "description": "Label for the CSS-beautifier button on the edit style page" - }, - "styleBeautifyHint": { - "message": "提示:右鍵點選「美化」按鈕或使用下面定義的鍵盤快捷鍵來美化而不顯示此面板", - "description": "Hint shown inside the CSS-beautifier panel" - }, - "styleBeautifyIndentConditional": { - "message": "縮排 @media, @supports", - "description": "CSS-beautifier option" - }, - "styleBeautifyPreserveNewlines": { - "message": "保留新行", - "description": "CSS-beautifier option" - }, - "styleCancelEditLabel": { - "message": "返回到管理頁面", - "description": "Label for cancel button for style editing" - }, - "styleChangesNotSaved": { - "message": "你已經修改了此樣式,但尚未保存。", - "description": "Text for the prompt when changes are made to a style and the user tries to leave without saving" - }, - "styleEnabledLabel": { - "message": "已啟用", - "description": "Label for the enabled state of styles" - }, - "styleFromMozillaFormatError": { - "message": "從 Mozilla 格式匯入失敗", - "description": "Label for the import error" - }, - "styleFromMozillaFormatPrompt": { - "message": "貼上 Mozilla 格式代碼", - "description": "Prompt in the dialog displayed after clicking 'Import from Mozilla format' button" - }, - "styleInstall": { - "message": "安裝 '$stylename$' 到 Stylus ?", - "description": "Confirmation when installing a style" - }, - "styleInstallFailed": { - "message": "安裝使用者樣式失敗!\n$error$", - "description": "Warning when installation failed" - }, - "styleInstallOverwrite": { - "message": "「$stylename$」已安裝。要覆寫嗎?\n版本:$oldVersion$→$newVersion$", - "description": "Confirmation when re-installing a style" - }, - "styleMissingName": { - "message": "輸入名稱", - "description": "Error displayed when user saves without providing a name" - }, - "styleMozillaFormatHeading": { - "message": "Mozilla格式", - "description": "Heading for the section with buttons to import/export Mozilla format of the style" - }, - "styleNotAppliedRegexpProblemTooltip": { - "message": "因為不正確的 'regexp()' 使用導致未套用", - "description": "Tooltip in the popup for styles that were not applied at all" - }, - "styleRegexpInvalidExplanation": { - "message": "部份 'regexp()' 規則可能不再能被編譯。", - "description": "" - }, - "styleRegexpPartialExplanation": { - "message": "這個樣式使用部份符合的正規表示式,違反了 CSS4 @document 規範,其需要完整的 URL 符合。授影響的 CSS 不會討用在頁面上。這個樣式由 Chrome 版 Stylish 所建立,其在早期版本不正確地檢查 'regexp()' 規則(已知的臭蟲)。", - "description": "" - }, - "styleRegexpProblemTooltip": { - "message": "因為不正確的 'regexp()' 使用導致未套用的樣式段數量", - "description": "Tooltip in the popup for styles that were applied only partially" - }, - "styleRegexpTestButton": { - "message": "正規表示式測試", - "description": "RegExp test button label in the editor shown when applies-to list has a regexp value" - }, - "styleRegexpTestFull": { - "message": "符合的分頁", - "description": "RegExp test report: label for the fully matching expressions" - }, - "styleRegexpTestInvalid": { - "message": "已跳過無效的正規表示式", - "description": "RegExp test report: label for the invalid expressions" - }, - "styleRegexpTestNone": { - "message": "沒有符合的分頁", - "description": "RegExp test report: label for expressions that didn't match any tabs" - }, - "styleRegexpTestNote": { - "message": "注意:使用單個 \\ 來在正規表示式的輸入欄位中逃脫,其將會根據在 CSS 中的引用字串的規定,自動在樣式代碼中轉換為 \\\\。", - "description": "RegExp test report: a note displayed at the bottom of the dialog" - }, - "styleRegexpTestPartial": { - "message": "不完全符合,因而跳過", - "description": "RegExp test report: label for the partially matching expressions" - }, - "styleRegexpTestTitle": { - "message": "符合的已開啟分頁清單(在 URL 上點選以將焦點轉移至它的分頁)", - "description": "RegExp test report: title of the report" - }, - "styleSaveLabel": { - "message": "儲存", - "description": "Label for save button for style editing" - }, - "styleToMozillaFormatHelp": { - "message": "Mozilla格式的樣式代碼能在火狐版Stylus使用,也可以提交至 userstyles.org 。", - "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format" - }, - "styleToMozillaFormatTitle": { - "message": "Mozilla格式樣式表", - "description": "Title of the popup with the style code in Mozilla format, shown after pressing the Export button on Edit style page" - }, - "styleUpdate": { - "message": "你確定你要更新 '$stylename$' ?", - "description": "Confirmation when updating a style" - }, - "styleUpdateDiscardChanges": { - "message": "樣式已在編輯器外變更。您想要重新載入樣式嗎?", - "description": "Confirmation to update the style in the editor" - }, - "stylusUnavailableForURL": { - "message": "Stylus 不能在諸如此類的網頁上生效。", - "description": "Note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "stylusUnavailableForURLdetails": { - "message": "作為安全措施,瀏覽器禁止擴充套件影響其內建頁面(如 chrome://version、截至 Chrome 61 為止的新分頁、about:addons 以及其他頁面)以及其他擴充套件的頁面。每個瀏覽器也都限制對它們自己的擴充套件庫的存取(如 Chrome 線上應用程式商店或是 Firefox 附加元件庫等)。", - "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect" - }, - "syncStorageErrorSaving": { - "message": "無法儲存值。嘗試減少文字量。", - "description": "Displayed when trying to save an excessively big value via storage.sync API" - }, - "syncError": { - "message": "同步失敗", - "description": "Tooltip for the toolbar icon" - }, - "syncErrorRelogin": { - "message": "同步失敗。\n重是在 Stylus 選項重新登入:\n先點擊「斷線」,然後「連線」。", - "description": "Tooltip for the toolbar icon" - }, - "toggleStyle": { - "message": "切換樣式", - "description": "Label for the checkbox to enable/disable a style" - }, - "undo": { - "message": "還原", - "description": "Button label" - }, - "undoGlobal": { - "message": "還原(全域)", - "description": "CSS-beautify global Undo button label" - }, - "unreachableAMO": { - "message": "Firefox 禁止存取頁面。", - "description": "Note in the popup displayed when opened on addons.mozilla.org" - }, - "unreachableAMOHint": { - "message": "要允許存取,開啟 ,在清單上點選右鍵,點選「新增」,然後再點選「布林」,貼上 並點選確定→→確定,然後重新整理 頁面。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintNewFF": { - "message": "在 Firefox 60 或更新的版本中,您也必須將 AMO 的網域從 中的 移除。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox >= 59" - }, - "unreachableAMOHintOldFF": { - "message": "僅 Firefox 59 或更新版本才能讓您設定允許 WebExtensions 在如同這個一樣的有 CSP 保護的頁面上新增樣式元素。", - "description": "Note in the popup when opened on addons.mozilla.org in Firefox < 59" - }, - "unreachableContentScript": { - "message": "無法與頁面通訊。嘗試重新載入分頁。", - "description": "Note in the toolbar popup usually on file:// URLs after [re]loading Stylus" - }, - "unreachableFileHint": { - "message": "Stylus 僅在您於 chrome://extensions 啟用了 Stylus 擴充套件中對應的勾選框時才能存取 file:// 的 URL。", - "description": "Note in the toolbar popup for file:// URLs" - }, - "InaccessibleFileHint": { - "message": "Stylus 無法存取某些檔案類型(如 PDF 與 JSON 檔案)。", - "description": "Note in the toolbar popup for some file types that cannot be accessed" - }, - "updateAllCheckSucceededNoUpdate": { - "message": "樣式都是最新的。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateAllCheckSucceededSomeEdited": { - "message": "一些可更新的樣式不會檢查以避免遺失可能有的本機編輯。更新可以強制獨立檢查,或是對所有樣式都執行檢查(本機編輯將會被覆寫)。", - "description": "Text that displays when an update all check completed and no updates are available" - }, - "updateCheckFailBadResponseCode": { - "message": "更新失敗: 伺服器傳回代碼 $code$。", - "description": "Text that displays when an update check failed because the response code indicates an error" - }, - "updateCheckFailServerUnreachable": { - "message": "更新失敗: 無法訪問伺服器。", - "description": "Text that displays when an update check failed because the update server is unreachable" - }, - "updateCheckHistory": { - "message": "更新檢查的歷史", - "description": "" - }, - "updateCheckManualUpdateForce": { - "message": "安裝更新(本機編輯將會被覆寫)", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckManualUpdateHint": { - "message": "強制更新覆蓋任何本機編輯。", - "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedLocallyEdited": { - "message": "這個樣式已在本機編輯。", - "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" - }, - "updateCheckSkippedMaybeLocallyEdited": { - "message": "這個樣式可能在本機被編輯過。", - "description": "Text that displays when an update check skipped updating the style to avoid losing possible local modifications" - }, - "updateCheckSucceededNoUpdate": { - "message": "樣式已是最新的。", - "description": "Text that displays when an update check completed and no update is available" - }, - "updateCompleted": { - "message": "更新完成。", - "description": "Text that displays when an update completed" - }, - "updatesCurrentlyInstalled": { - "message": "更新已安裝的:", - "description": "Text that displays when an update is installed on options page. Followed by the number of currently installed updates." - }, - "usercssAvoidOverwriting": { - "message": "請變更 @name 或 @namespace 的值以避免覆寫既有的樣式。", - "description": "Shown in a message box when attempting to save a new Usercss style that would overwrite an existing one." - }, - "usercssConfigIncomplete": { - "message": "在設定對話框顯示後,樣式已更新或刪除。這個變數將不會儲存,以避免損毀樣式的詮釋資料。", - "description": "" - }, - "usercssEditorNamePlaceholder": { - "message": "在程式碼中指定 @name", - "description": "Placeholder text for the empty name input field when creating a new Usercss style" - }, - "usercssReplaceTemplateConfirmation": { - "message": "為新的 Usercss 樣式取代預設的範本為目前的程式碼?", - "description": "" - }, - "usercssReplaceTemplateName": { - "message": "清空 @name 取代目前範本", - "description": "The text shown after @name when creating a new Usercss style" - }, - "usercssReplaceTemplateSectionBody": { - "message": "在此插入程式碼……", - "description": "The code placeholder comment in a new style created by clicking 'Write style' in the popup" - }, - "versionInvalidOlder": { - "message": "版本舊於已安裝的樣式。", - "description": "Displayed when the version of style is older than the installed one" - }, - "writeStyleFor": { - "message": "編寫樣式給:", - "description": "Label for toolbar pop-up that precedes the links to write a new style" - }, - "writeStyleForURL": { - "message": "此網址", - "description": "Text for link in toolbar pop-up to write a new style for the current URL" - }, - "syncDropboxStyles": { - "message": "Dropbox 匯出", - "description": "" - }, - "syncDropboxDeprecated": { - "message": "Dropbox 匯入/匯出已被選項頁面中的更進階的樣式同步所取代。", - "description": "" - }, - "retrieveDropboxSync": { - "message": "Dropbox 匯入", - "description": "" - }, - "overwriteFileExport": { - "message": "您想要覆寫既有的檔案嗎?", - "description": "" - }, - "exportSavedSuccess": { - "message": "檔案儲存成功", - "description": "" - }, - "noFileToImport": { - "message": "要匯入您的樣式,您必須先匯出。", - "description": "" - }, - "connectingDropbox": { - "message": "正在連線至 Dropbox……", - "description": "" - }, - "connectingDropboxNotAllowed": { - "message": "連線到 Dropbox 僅在直接從 webstore 安裝的應用程式中可用", - "description": "" - }, - "gettingStyles": { - "message": "正在取得所有樣式……", - "description": "" - }, - "zipStyles": { - "message": "正在壓縮樣式……", - "description": "" - }, - "unzipStyles": { - "message": "正在解壓縮樣式……", - "description": "" - }, - "readingStyles": { - "message": "正在讀取樣式……", - "description": "" - }, - "uploadingFile": { - "message": "正在上傳檔案……", - "description": "" - }, - "addStyleLabel": { - "message": "編寫新樣式", - "description": "Label for the button to go to the add style page" + "InaccessibleFileHint": { + "message": "Stylus 無法存取某些檔案類型(如 PDF 與 JSON 檔案)。" + }, + "addStyleLabel": { + "message": "編寫新樣式" + }, + "addStyleTitle": { + "message": "新增樣式" + }, + "alphaChannel": { + "message": "不透明度" + }, + "appliesAdd": { + "message": "新增" + }, + "appliesDisplay": { + "message": "適用於: $applies$", + "placeholders": { + "applies": { + "content": "$1" + } } -} \ No newline at end of file + }, + "appliesDisplayTruncatedSuffix": { + "message": "以及更多" + }, + "appliesDomainOption": { + "message": "該域名上的網址" + }, + "appliesHelp": { + "message": "使用「適用於」控件來限制這個樣式段適用的網址。" + }, + "appliesLabel": { + "message": "適用於" + }, + "appliesLineWidgetLabel": { + "message": "顯示「套用至」資訊" + }, + "appliesLineWidgetWarning": { + "message": "無法與最小化的 CSS 一起運作" + }, + "appliesRegexpOption": { + "message": "比對正規表示式的網址" + }, + "appliesRemove": { + "message": "移除" + }, + "appliesRemoveError": { + "message": "無法移除最後的「套用到」項目" + }, + "appliesSpecify": { + "message": "指定" + }, + "appliesToEverything": { + "message": "全部" + }, + "appliesUrlOption": { + "message": "網址" + }, + "appliesUrlPrefixOption": { + "message": "含以下前綴的網址" + }, + "applyAllUpdates": { + "message": "應用所有更新" + }, + "author": { + "message": "作者" + }, + "backupButtons": { + "message": "備份" + }, + "backupMessage": { + "message": "選取檔案並拖曳到此頁面。" + }, + "bckpInstStyles": { + "message": "匯出樣式" + }, + "checkAllUpdates": { + "message": "檢查所有樣式更新" + }, + "checkAllUpdatesForce": { + "message": "再次檢查,我沒有編輯任何樣式!" + }, + "checkForUpdate": { + "message": "檢查更新" + }, + "checkingForUpdate": { + "message": "檢查中…" + }, + "clickToUninstall": { + "message": "點選以解除安裝" + }, + "cm_autoCloseBrackets": { + "message": "自動關閉括號與引號" + }, + "cm_autoCloseBracketsTooltip": { + "message": "當輸入開放的 ()[]{}''\"\" 時自動新增另一邊的標點符號" + }, + "cm_autocompleteOnTyping": { + "message": "在輸入時自動完成" + }, + "cm_colorpicker": { + "message": "用於 CSS 色彩的色彩選擇器" + }, + "cm_indentWithTabs": { + "message": "用 Tab 鍵智慧縮排" + }, + "cm_keyMap": { + "message": "鍵盤映射" + }, + "cm_lineWrapping": { + "message": "自動換行" + }, + "cm_matchHighlight": { + "message": "突顯" + }, + "cm_matchHighlightSelection": { + "message": "僅段" + }, + "cm_matchHighlightToken": { + "message": "在游標下的 Token" + }, + "cm_resizeGripHint": { + "message": "按兩下以最大化/還原高度" + }, + "cm_selectByTokens": { + "message": "按兩下選取 token" + }, + "cm_selectByTokensTooltip": { + "message": "Token 的範例:.foo-bar-2 #aabbcc 0.32 !important\n當停用時:將會選取被標點符號分隔的字詞。" + }, + "cm_smartIndent": { + "message": "使用智慧縮排" + }, + "cm_tabSize": { + "message": "Tab 大小" + }, + "cm_theme": { + "message": "主題" + }, + "colorpickerPaletteHint": { + "message": "右鍵點擊其中ㄧ部份以循環其原始碼" + }, + "colorpickerSwitchFormatTooltip": { + "message": "切換格式:HEX → RGB → HSL。\nShift 並點選則為反向進行。\n也可以使用 PgUp (PageUp) 與 PgDn (PageDown) 鍵。" + }, + "colorpickerTooltip": { + "message": "開啟色彩選擇器" + }, + "configOnChange": { + "message": "正在變更" + }, + "configOnChangeTooltip": { + "message": "自動儲存與套用變更" + }, + "configureStyle": { + "message": "設定" + }, + "configureStyleOnHomepage": { + "message": "在首頁上設定" + }, + "confirmCancel": { + "message": "取消" + }, + "confirmClose": { + "message": "關閉" + }, + "confirmDefault": { + "message": "使用預設值" + }, + "confirmDelete": { + "message": "刪除" + }, + "confirmDiscardChanges": { + "message": "放棄變更?" + }, + "confirmNo": { + "message": "否" + }, + "confirmOK": { + "message": "確定" + }, + "confirmSave": { + "message": "儲存" + }, + "confirmStop": { + "message": "停止" + }, + "confirmYes": { + "message": "是" + }, + "connectingDropbox": { + "message": "正在連線至 Dropbox……" + }, + "connectingDropboxNotAllowed": { + "message": "連線到 Dropbox 僅在直接從 webstore 安裝的應用程式中可用" + }, + "copied": { + "message": "已複製到剪貼簿" + }, + "copy": { + "message": "複製到剪貼簿" + }, + "customNameHint": { + "message": "在此輸入自訂名稱以在使用者介面中重新命名樣式而不會中斷其更新" + }, + "customNameResetHint": { + "message": "停止使用自訂的名稱,切換到樣式自己的名稱" + }, + "dateAbbrDay": { + "message": "$value$天", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrHour": { + "message": "$value$小時", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrMonth": { + "message": "$value$月", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateAbbrYear": { + "message": "$value$年", + "placeholders": { + "value": { + "content": "$1" + } + } + }, + "dateInstalled": { + "message": "安裝日期" + }, + "dateUpdated": { + "message": "更新日期" + }, + "dbError": { + "message": "使用 Stylus 資料庫時出現錯誤。你想訪問可能包含解決辦法的網頁嗎?" + }, + "defaultTheme": { + "message": "預設" + }, + "deleteStyleConfirm": { + "message": "確定要刪除這個樣式嗎?" + }, + "deleteStyleLabel": { + "message": "删除" + }, + "description": { + "message": "用Stylus(一個用戶樣式管理器)重塑網頁。 Stylus 讓你能為诸多主流網站輕鬆的安裝主題和皮膚。" + }, + "disableAllStyles": { + "message": "停用所有樣式" + }, + "disableStyleLabel": { + "message": "停用" + }, + "dragDropMessage": { + "message": "將您的備份檔拖曳到此頁面的任何地方以匯入。" + }, + "dragDropUsercssTabstrip": { + "message": "要安裝檔案,請將其放到分頁上(顯示分頁標題的區域)。" + }, + "editDeleteText": { + "message": "删除" + }, + "editGotoLine": { + "message": "跳到行(或 line:col )" + }, + "editStyleHeading": { + "message": "編輯樣式" + }, + "editStyleLabel": { + "message": "編輯" + }, + "editStyleTitle": { + "message": "編輯樣式 $stylename$", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "enableStyleLabel": { + "message": "啟用" + }, + "excludeStyleByDomainLabel": { + "message": "排除目前的網域" + }, + "excludeStyleByUrlLabel": { + "message": "排除目前的 URL" + }, + "exportLabel": { + "message": "匯出" + }, + "exportSavedSuccess": { + "message": "檔案儲存成功" + }, + "externalFeedback": { + "message": "回饋" + }, + "externalHomepage": { + "message": "首頁" + }, + "externalLink": { + "message": "外部連結" + }, + "externalSupport": { + "message": "支援" + }, + "externalUsercssDocument": { + "message": "Usercss 的文件" + }, + "filteredStyles": { + "message": "$numShown$ 個已顯示,總共 $numTotal$ 個", + "placeholders": { + "numShown": { + "content": "$1" + }, + "numTotal": { + "content": "$2" + } + } + }, + "filteredStylesAllHidden": { + "message": "目前套用的過濾器未符合樣式" + }, + "findStyles": { + "message": "尋找樣式" + }, + "findStylesForSite": { + "message": "查找更多適合此網站的樣式" + }, + "findStylesInline": { + "message": "嵌入" + }, + "findStylesInlineTooltip": { + "message": "在此視窗中顯示搜尋結果。" + }, + "genericAdd": { + "message": "新增" + }, + "genericClone": { + "message": "複製" + }, + "genericDisabledLabel": { + "message": "已停用" + }, + "genericEnabledLabel": { + "message": "已啟用" + }, + "genericError": { + "message": "錯誤" + }, + "genericHistoryLabel": { + "message": "歷史" + }, + "genericNext": { + "message": "下一步" + }, + "genericPrevious": { + "message": "上一步" + }, + "genericResetLabel": { + "message": "重設" + }, + "genericSavedMessage": { + "message": "已儲存" + }, + "genericTitle": { + "message": "標題" + }, + "genericUnknown": { + "message": "未知" + }, + "gettingStyles": { + "message": "正在取得所有樣式……" + }, + "helpAlt": { + "message": "說明" + }, + "helpKeyMapCommand": { + "message": "鍵入命令名稱" + }, + "helpKeyMapHotkey": { + "message": "按下快速鍵" + }, + "hostDisabled": { + "message": "由於所用目前版本瀏覽器的臭蟲,此主機已被停用" + }, + "importAppendLabel": { + "message": "追加到樣式" + }, + "importAppendTooltip": { + "message": "追加導入的樣式到當前樣式" + }, + "importLabel": { + "message": "匯入" + }, + "importPreprocessor": { + "message": "使用 @preprocessor 的樣是在經典模式下無法運作。您可以將編輯器切換到 Usercss 模式:1) 開啟樣式管理程式,2) 啟用「做為 Usercss」對話框,3) 點擊「編寫新樣式」\n" + }, + "importPreprocessorTitle": { + "message": "@preprocessor 引起的潛在問題" + }, + "importReplaceLabel": { + "message": "覆蓋樣式" + }, + "importReplaceTooltip": { + "message": "棄用當前樣式內容并用導入樣式覆蓋" + }, + "importReportLegendAdded": { + "message": "已加入" + }, + "importReportLegendIdentical": { + "message": "已跳過相同的" + }, + "importReportLegendInvalid": { + "message": "已跳過無效的" + }, + "importReportLegendUpdatedBoth": { + "message": "後設資訊與程式碼均已更新" + }, + "importReportLegendUpdatedCode": { + "message": "已更新的程式碼" + }, + "importReportLegendUpdatedMeta": { + "message": "已更新後設資訊" + }, + "importReportTitle": { + "message": "匯入樣式已完成" + }, + "importReportUnchanged": { + "message": "沒有變更。" + }, + "importReportUndone": { + "message": "樣式已被復原" + }, + "importReportUndoneTitle": { + "message": "匯入已被復原" + }, + "installButton": { + "message": "安裝樣式" + }, + "installButtonInstalled": { + "message": "樣式已安裝" + }, + "installButtonReinstall": { + "message": "重新安裝樣式" + }, + "installButtonUpdate": { + "message": "更新樣式" + }, + "installUpdate": { + "message": "安裝更新" + }, + "installUpdateFrom": { + "message": "目前從 $url$ 更新樣式", + "placeholders": { + "url": { + "content": "$1" + } + } + }, + "installUpdateFromLabel": { + "message": "檢查更新" + }, + "license": { + "message": "授權條款" + }, + "linkGetHelp": { + "message": "取得協助" + }, + "linkGetStyles": { + "message": "取得樣式" + }, + "linkTranslate": { + "message": "翻譯" + }, + "linterCSSLintIncompatible": { + "message": "CSSLint 不支援 $preprocessorname$ 預處理器", + "placeholders": { + "preprocessorname": { + "content": "$1" + } + } + }, + "linterCSSLintSettings": { + "message": "(設定規則為:0 = 停用;1 = 警告;2 = 錯誤)" + }, + "linterConfigPopupTitle": { + "message": "設定 $linter$ 規則設定", + "placeholders": { + "linter": { + "content": "$1" + } + } + }, + "linterConfigTooltip": { + "message": "點選以設定此 linter" + }, + "linterInvalidConfigError": { + "message": "因為無效的設定所以未儲存:" + }, + "linterIssues": { + "message": "問題" + }, + "linterIssuesHelp": { + "message": "這些問題被 $link$ 找到了:", + "placeholders": { + "link": { + "content": "$1" + } + } + }, + "linterJSONError": { + "message": "無效的 JSON 格式" + }, + "linterResetMessage": { + "message": "要復原意外的重設,在文字方塊按下 Ctrl-Z(或 Cmd-Z)" + }, + "linterRulesLink": { + "message": "見完整的規則清單" + }, + "liveReloadError": { + "message": "觀看檔案時發生錯誤" + }, + "liveReloadInstallHint": { + "message": "保持此分頁開啟以根據外部變更自動更新樣式。" + }, + "liveReloadInstallHintFF": { + "message": "保持此分頁與原始分頁開啟以根據外部變更自動更新樣式。" + }, + "liveReloadLabel": { + "message": "即時重新整理" + }, + "manageFavicons": { + "message": "Favicons 要套用到的欄位" + }, + "manageFaviconsGray": { + "message": "灰階淡出" + }, + "manageFaviconsHelp": { + "message": "Stylus 使用外部服務 https://www.google.com/s2/favicons" + }, + "manageFilters": { + "message": "過濾器" + }, + "manageHeading": { + "message": "已安裝的樣式" + }, + "manageMaxTargets": { + "message": "已套用項目的數量" + }, + "manageNewStyleAsUsercss": { + "message": "做為 Usercss" + }, + "manageNewUI": { + "message": "新的管理介面配置" + }, + "manageOnlyDisabled": { + "message": "僅已停用的樣式" + }, + "manageOnlyEnabled": { + "message": "只顯示已啟用的樣式" + }, + "manageOnlyExternal": { + "message": "僅外部樣式" + }, + "manageOnlyLocal": { + "message": "僅本機建立的樣式" + }, + "manageOnlyLocalTooltip": { + "message": "(不是透過 userstyles.org 網頁安裝的樣式)" + }, + "manageOnlyNonUsercss": { + "message": "僅非 Usercss 樣式" + }, + "manageOnlyUpdates": { + "message": "僅有更新或是有問題的" + }, + "manageOnlyUsercss": { + "message": "僅 Usercss 樣式" + }, + "menuShowBadge": { + "message": "顯示生效的樣式數目" + }, + "meta_invalidCheckboxDefault": { + "message": "無效的 @var 勾選框:值必須為 0 或 1" + }, + "meta_invalidColor": { + "message": "無效的 @var 顏色:$color$ 不是顏色", + "placeholders": { + "color": { + "content": "$1" + } + } + }, + "meta_invalidNumber": { + "message": "預期為數字" + }, + "meta_invalidRange": { + "message": "無效的 @var $type$:值必須為數字或陣列", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeDefault": { + "message": "無效的 @var $type$:預設值為 null", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMax": { + "message": "無效的 @var $type$:預設值大於最低值", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMin": { + "message": "無效的 @var $type$:預設值低於最低值", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeMultipleUnits": { + "message": "無效的 @var $type$:定義了多個單位", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeStep": { + "message": "無效的 @var $type$:預設值為不是一個多步驟", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeTooManyValues": { + "message": "無效的 @var $type$:陣列包含太多項目", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidRangeUnits": { + "message": "無效的 @var $type$:'$units$' 不是有效單位", + "placeholders": { + "type": { + "content": "$1" + }, + "units": { + "content": "$2" + } + } + }, + "meta_invalidRangeValue": { + "message": "無效的 @var $type$:在陣列中的項目必須為數字、字串或空值", + "placeholders": { + "type": { + "content": "$1" + } + } + }, + "meta_invalidSelect": { + "message": "無效的 @var 選擇:預設值必須為陣列或物件" + }, + "meta_invalidSelectEmptyOptions": { + "message": "無效的 @var 選擇:選項清單為空" + }, + "meta_invalidSelectLabel": { + "message": "無效的 @var 選擇:選項標籤為空" + }, + "meta_invalidSelectMultipleDefaults": { + "message": "無效的 @var 選擇:定義了多個預設選項" + }, + "meta_invalidSelectNameDuplicated": { + "message": "無效的 @var 選擇:選項名稱重複" + }, + "meta_invalidSelectValue": { + "message": "無效的 @var 選擇:在陣列/物件中的值必須為字串" + }, + "meta_invalidSelectValueMismatch": { + "message": "無效的 @var 選擇:值不存在於選項清單中" + }, + "meta_invalidString": { + "message": "預期為帶引號的字串" + }, + "meta_invalidURLProtocol": { + "message": "無效的 URL 協定。僅允許 http 與 https:$protocol$", + "placeholders": { + "protocol": { + "content": "$1" + } + } + }, + "meta_invalidVersion": { + "message": "無效的版本號。值不符合 SemVer 模式:$version$", + "placeholders": { + "version": { + "content": "$1" + } + } + }, + "meta_invalidWord": { + "message": "預期為單字" + }, + "meta_missingChar": { + "message": "預期字元:$chars$", + "placeholders": { + "chars": { + "content": "$1" + } + } + }, + "meta_missingEOT": { + "message": "預期為 EOT 資料" + }, + "meta_missingMandatory": { + "message": "遺失必要的詮釋資料:$keys$", + "placeholders": { + "keys": { + "content": "$1" + } + } + }, + "meta_unknownJSONLiteral": { + "message": "無效的 JSON:$literal$ 不是有效的 JSON 文字", + "placeholders": { + "literal": { + "content": "$1" + } + } + }, + "meta_unknownMeta": { + "message": "未知的詮釋資料:$key$", + "placeholders": { + "key": { + "content": "$1" + } + } + }, + "meta_unknownPreprocessor": { + "message": "未知的 @preprocessor:$preprocessor$", + "placeholders": { + "preprocessor": { + "content": "$1" + } + } + }, + "meta_unknownVarType": { + "message": "未知的 @$varkey$ 類型:$vartype$", + "placeholders": { + "varkey": { + "content": "$1" + }, + "vartype": { + "content": "$2" + } + } + }, + "noFileToImport": { + "message": "要匯入您的樣式,您必須先匯出。" + }, + "noStylesForSite": { + "message": "目前網站沒有安裝任何樣式。" + }, + "numberedLine": { + "message": "行" + }, + "openManage": { + "message": "管理已安裝樣式" + }, + "openOptions": { + "message": "選項" + }, + "openStylesManager": { + "message": "開啟樣式管理員" + }, + "optionsActions": { + "message": "動作" + }, + "optionsAdvanced": { + "message": "進階" + }, + "optionsAdvancedContextDelete": { + "message": "在編輯器的右鍵選單中加入「刪除」" + }, + "optionsAdvancedExposeIframes": { + "message": "透過 HTML[stylus-iframe] 公開 iframes" + }, + "optionsAdvancedExposeIframesNote": { + "message": "公開每個 iframe 中的頂級頁面網域。\n啟用編寫特別用於 iframe 的 CSS,如這個:\nhtml[stylus-iframe$$=\"twitter.com\"] h1 { display:none }" + }, + "optionsAdvancedNewStyleAsUsercss": { + "message": "以 usercss 編寫新樣式" + }, + "optionsAdvancedPatchCsp": { + "message": "修補 CSP 以允許樣式資源" + }, + "optionsAdvancedPatchCspNote": { + "message": "如果樣式包含無法在有嚴格 CSP內容安全策略)的網站上載入的圖片或字型,請啟用此選項。\n\n啟用此設定將會放寬 CSP 限制,允許基本的樣式內容載入。此選項僅適用於了解潛在的安全問題,且接受監視其允許內容責任的進階使用者。閱讀關於以 CSS 為基礎的攻擊來取得更多資訊。\n\n另外請注意,如果已經有另一個已安裝的附加元件先修改了網路回應,則無法保證此設定可起作用。" + }, + "optionsAdvancedStyleViaXhr": { + "message": "即時注入模式" + }, + "optionsAdvancedStyleViaXhrNote": { + "message": "如果在瀏覽時遇到無樣式內容 (FOUC) 的閃爍(在深色主題下尤其明顯),請啟用此選項。\n\n技術上的原因是 Chrome/Chromium 通常以無意義的嘗試延遲擴充功能的非同步通訊來改善網頁的載入速度,這可能會導致樣式較慢才被套用。為了避免這種狀況,因為擴充功能無法使用同步 API,Stylus 提供了此選項以利用「已棄用」的同步 XMLHttpRequest 網路 API 來擷取可套用的樣式。應該不會有任何有害的影響,因為在從伺服器下載頁面的同時,請求也會在幾毫秒內完成。\n\n儘管如此,Chromium 還是會在開發者工具的主控台中顯示警告。右鍵點擊警告,然後隱藏它們,這樣警告就不會再顯示。" + }, + "optionsBadgeDisabled": { + "message": "停用時的背景色彩" + }, + "optionsBadgeNormal": { + "message": "背景色彩" + }, + "optionsCheck": { + "message": "更新樣式" + }, + "optionsCheckUpdate": { + "message": "檢查並安裝所有可用的更新" + }, + "optionsCustomizeBadge": { + "message": "在工具列圖示上的徽章" + }, + "optionsCustomizeIcon": { + "message": "工具列圖示" + }, + "optionsCustomizePopup": { + "message": "彈出式視窗" + }, + "optionsCustomizeSync": { + "message": "同步到雲端" + }, + "optionsCustomizeUpdate": { + "message": "更新" + }, + "optionsHeading": { + "message": "選項" + }, + "optionsIconDark": { + "message": "暗色瀏覽器主題" + }, + "optionsIconLight": { + "message": "亮色瀏覽器主題" + }, + "optionsOpen": { + "message": "開啟" + }, + "optionsOpenManager": { + "message": "管理樣式" + }, + "optionsPopupWidth": { + "message": "彈出視窗寬度(以像素計)" + }, + "optionsReset": { + "message": "重設選項為預設值" + }, + "optionsResetButton": { + "message": "重設選項" + }, + "optionsStylusThemes": { + "message": "尋找 Sytlus UI 佈景主題" + }, + "optionsSubheading": { + "message": "更多選項" + }, + "optionsSyncConnect": { + "message": "連線" + }, + "optionsSyncDisconnect": { + "message": "斷線" + }, + "optionsSyncLogin": { + "message": "登入" + }, + "optionsSyncNone": { + "message": "無" + }, + "optionsSyncStatusConnected": { + "message": "已連線" + }, + "optionsSyncStatusConnecting": { + "message": "正在連線……" + }, + "optionsSyncStatusDisconnected": { + "message": "已斷線" + }, + "optionsSyncStatusDisconnecting": { + "message": "正在斷線……" + }, + "optionsSyncStatusPull": { + "message": "正在拉取樣式 $total$ 中的 $loaded$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusPush": { + "message": "正在拉取樣式 $total$ 中的 $loaded$", + "placeholders": { + "loaded": { + "content": "$1" + }, + "total": { + "content": "$2" + } + } + }, + "optionsSyncStatusRelogin": { + "message": "工作階段已過期,請再次登入。" + }, + "optionsSyncStatusSyncing": { + "message": "正在同步……" + }, + "optionsSyncSyncNow": { + "message": "立刻同步" + }, + "optionsUpdateImportNote": { + "message": "當從舊版本或是從 Stylish 匯入樣式備份時,在樣式管理員中手動進行一次更新檢查,以確保所有樣式都被更新。" + }, + "optionsUpdateInterval": { + "message": "使用者樣式自動更新間隔(以小時計,指定為 0 以停用)" + }, + "overwriteFileExport": { + "message": "您想要覆寫既有的檔案嗎?" + }, + "paginationCurrent": { + "message": "目前頁面" + }, + "paginationEstimated": { + "message": "估計頁數" + }, + "paginationNext": { + "message": "下一頁" + }, + "paginationPrevious": { + "message": "上一頁" + }, + "paginationTotal": { + "message": "總頁面" + }, + "parseUsercssError": { + "message": "Stylus 解析 usercss 失敗:" + }, + "popupAutoResort": { + "message": "復原在切換後的彈出式視窗樣式" + }, + "popupBorders": { + "message": "在邊邊新增白色邊框" + }, + "popupBordersTooltip": { + "message": "對新 Chrome 中的暗色主題很有用,因為其不再繪製邊框" + }, + "popupHotkeysInfo": { + "message": "<1>-<9>、<0>,數字鍵盤也可以 — 切換第 N 個樣式(0 是切換到第 10 個)\n- 切換以該字母為名稱第一個字的樣式\n 開啟編輯器而非切換\n 啟用列出的樣式\n 停用列出的樣式\n 與 <`> (倒引號)— 切換初始啟用的樣式;不要在彈出式視窗開啟時套用到後來啟用的樣式,這樣您就可以在測試完後復原初始選擇:僅停用全部,然後切換。 \n更多資訊請見 wiki" + }, + "popupHotkeysTooltip": { + "message": "點選以檢視可用的快速鍵" + }, + "popupManageTooltip": { + "message": "Shift + 點選或右鍵 + 點選以在管理員中開啟目前頁面可用的樣式" + }, + "popupMenuButtonTooltip": { + "message": "動作選單" + }, + "popupOpenEditInPopup": { + "message": "使用簡易視窗(無多功能方框)" + }, + "popupOpenEditInWindow": { + "message": "在新視窗開啟編輯器" + }, + "popupOpenEditInWindowTooltip": { + "message": "也透過從瀏覽器視窗分離編輯器分頁來啟用,\n並透過將單獨的編輯器分頁附加到其他視窗中來停用。" + }, + "popupStylesFirst": { + "message": "在工具欄按鈕命令行前列出樣式" + }, + "prefShowBadge": { + "message": "在工具欄按鈕上顯示當前網站已生效的樣式表數目。" + }, + "previewLabel": { + "message": "即時預覽" + }, + "previewTooltip": { + "message": "不儲存而暫時套用變更。\n儲存樣式以永久變更。" + }, + "readingStyles": { + "message": "正在讀取樣式……" + }, + "reload": { + "message": "重新載入 Stylus 附加元件" + }, + "replace": { + "message": "取代" + }, + "replaceAll": { + "message": "取代所有" + }, + "replaceWith": { + "message": "取代為" + }, + "retrieveBckp": { + "message": "匯入樣式" + }, + "retrieveDropboxSync": { + "message": "Dropbox 匯入" + }, + "search": { + "message": "搜尋" + }, + "searchCaseSensitive": { + "message": "區分大小寫" + }, + "searchGlobalStyles": { + "message": "同時搜尋全域樣式" + }, + "searchNumberOfResults": { + "message": "符合數量" + }, + "searchNumberOfResults2": { + "message": "在程式碼與套用到的值的符合數量" + }, + "searchRegexp": { + "message": "使用/re/語法正規表示式搜尋" + }, + "searchResultInstallCount": { + "message": "總安裝" + }, + "searchResultNoneFound": { + "message": "找不到此頁面相關的樣式" + }, + "searchResultNotMatching": { + "message": "樣式已安裝,但不會套用到目前網站的 URL。" + }, + "searchResultNotMatchingNote": { + "message": "嘗試要求此使用者樣式的作者新增 URL。\n\n您也可以在管理程式中開啟樣式,然後自行編輯,\n但請注意,這樣做會停用此樣式的自動更新。" + }, + "searchResultRating": { + "message": "評價" + }, + "searchResultUpdated": { + "message": "已更新" + }, + "searchResultWeeklyCount": { + "message": "每週安裝" + }, + "searchStyleQueryHint": { + "message": "搜尋樣式名稱時是區分大小寫的:\nsome words - 以任意順序搜尋所有文字\n\"some phrase\" - 精確符合引號內的詞語\n2020 - 如此年份顯示在2020年更新的樣式" + }, + "searchStylesAll": { + "message": "全部" + }, + "searchStylesCode": { + "message": "CSS 程式碼" + }, + "searchStylesHelp": { + "message": " 或 鍵可將焦點置於搜尋欄。\n預設的模式為純文字搜尋,以任意順序搜尋所有以空格分隔的詞語。\n精確字詞:將字詞以雙引號包起來,例如 <\".header ~ div\">\n正規表達式:包含斜線與標誌,如 \n範圍選擇器中的「按 URL」:尋找適用於完全指定 URL 的樣式,如 https://www.example.org/\n範圍選擇器中的「詮釋資料」:搜尋名稱、「套用至」說明、安裝 URL、更新 URL 與整個 usercss 樣式的詮釋資料區塊。" + }, + "searchStylesMatchUrl": { + "message": "按 URL" + }, + "searchStylesMeta": { + "message": "詮釋資料" + }, + "searchStylesName": { + "message": "名稱" + }, + "sectionAdd": { + "message": "再加入一個樣式段" + }, + "sectionCode": { + "message": "代碼" + }, + "sectionRemove": { + "message": "移除樣式段" + }, + "sectionRestore": { + "message": "復原已移除的部份" + }, + "sections": { + "message": "樣式段" + }, + "shortcuts": { + "message": "快速鍵" + }, + "shortcutsNote": { + "message": "自訂鍵盤快速鍵" + }, + "sortDateNewestFirst": { + "message": "最新的優先" + }, + "sortDateOldestFirst": { + "message": "最舊的優先" + }, + "sortLabel": { + "message": "選取適用於已安裝樣式的排序方式" + }, + "sortLabelTitleAsc": { + "message": "標題遞增" + }, + "sortLabelTitleDesc": { + "message": "標題遞減" + }, + "sortStylesHelp": { + "message": "從下拉選單中選取要套用於已安裝項目的排序類型。預設使用標題遞增排序(A 到 Z)。「標題遞減」則會套用遞減排序(Z 到 A)。\n還有其他的排序方式。您可以想像對一個多欄的表格進行排序,並且每次選取(加號之間)都代表了一欄或一組。\n舉例來說,若設定為「啟用(第一)+標題」,將會把所有已啟用的項目都排列在頂部,然後再以標題遞增(A 到 Z)的順序來分別套用到已啟用與已停用的項目。" + }, + "sortStylesHelpTitle": { + "message": "排序內容" + }, + "styleBadRegexp": { + "message": "正規表示式無效。" + }, + "styleBeautify": { + "message": "美化" + }, + "styleBeautifyHint": { + "message": "提示:右鍵點選「美化」按鈕或使用下面定義的鍵盤快捷鍵來美化而不顯示此面板" + }, + "styleBeautifyIndentConditional": { + "message": "縮排 @media, @supports" + }, + "styleBeautifyPreserveNewlines": { + "message": "保留新行" + }, + "styleCancelEditLabel": { + "message": "返回到管理頁面" + }, + "styleChangesNotSaved": { + "message": "你已經修改了此樣式,但尚未保存。" + }, + "styleEnabledLabel": { + "message": "已啟用" + }, + "styleFromMozillaFormatError": { + "message": "從 Mozilla 格式匯入失敗" + }, + "styleFromMozillaFormatPrompt": { + "message": "貼上 Mozilla 格式代碼" + }, + "styleInstall": { + "message": "安裝 '$stylename$' 到 Stylus ?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleInstallFailed": { + "message": "安裝使用者樣式失敗!\n$error$", + "placeholders": { + "error": { + "content": "$1" + } + } + }, + "styleInstallOverwrite": { + "message": "「$stylename$」已安裝。要覆寫嗎?\n版本:$oldVersion$→$newVersion$", + "placeholders": { + "newVersion": { + "content": "$3" + }, + "oldVersion": { + "content": "$2" + }, + "stylename": { + "content": "$1" + } + } + }, + "styleMissingName": { + "message": "輸入名稱" + }, + "styleMozillaFormatHeading": { + "message": "Mozilla格式" + }, + "styleNotAppliedRegexpProblemTooltip": { + "message": "因為不正確的 'regexp()' 使用導致未套用" + }, + "styleRegexpInvalidExplanation": { + "message": "部份 'regexp()' 規則可能不再能被編譯。" + }, + "styleRegexpPartialExplanation": { + "message": "這個樣式使用部份符合的正規表示式,違反了 CSS4 @document 規範,其需要完整的 URL 符合。授影響的 CSS 不會討用在頁面上。這個樣式由 Chrome 版 Stylish 所建立,其在早期版本不正確地檢查 'regexp()' 規則(已知的臭蟲)。" + }, + "styleRegexpProblemTooltip": { + "message": "因為不正確的 'regexp()' 使用導致未套用的樣式段數量" + }, + "styleRegexpTestButton": { + "message": "正規表示式測試" + }, + "styleRegexpTestFull": { + "message": "符合的分頁" + }, + "styleRegexpTestInvalid": { + "message": "已跳過無效的正規表示式" + }, + "styleRegexpTestNone": { + "message": "沒有符合的分頁" + }, + "styleRegexpTestNote": { + "message": "注意:使用單個 \\ 來在正規表示式的輸入欄位中逃脫,其將會根據在 CSS 中的引用字串的規定,自動在樣式代碼中轉換為 \\\\。" + }, + "styleRegexpTestPartial": { + "message": "不完全符合,因而跳過" + }, + "styleRegexpTestTitle": { + "message": "符合的已開啟分頁清單(在 URL 上點選以將焦點轉移至它的分頁)" + }, + "styleSaveLabel": { + "message": "儲存" + }, + "styleToMozillaFormatHelp": { + "message": "Mozilla格式的樣式代碼能在火狐版Stylus使用,也可以提交至 userstyles.org 。" + }, + "styleToMozillaFormatTitle": { + "message": "Mozilla格式樣式表" + }, + "styleUpdate": { + "message": "你確定你要更新 '$stylename$' ?", + "placeholders": { + "stylename": { + "content": "$1" + } + } + }, + "styleUpdateDiscardChanges": { + "message": "樣式已在編輯器外變更。您想要重新載入樣式嗎?" + }, + "stylusUnavailableForURL": { + "message": "Stylus 不能在諸如此類的網頁上生效。" + }, + "stylusUnavailableForURLdetails": { + "message": "作為安全措施,瀏覽器禁止擴充套件影響其內建頁面(如 chrome://version、截至 Chrome 61 為止的新分頁、about:addons 以及其他頁面)以及其他擴充套件的頁面。每個瀏覽器也都限制對它們自己的擴充套件庫的存取(如 Chrome 線上應用程式商店或是 Firefox 附加元件庫等)。" + }, + "syncDropboxDeprecated": { + "message": "Dropbox 匯入/匯出已被選項頁面中的更進階的樣式同步所取代。" + }, + "syncDropboxStyles": { + "message": "Dropbox 匯出" + }, + "syncError": { + "message": "同步失敗" + }, + "syncErrorRelogin": { + "message": "同步失敗。\n重是在 Stylus 選項重新登入:\n先點擊「斷線」,然後「連線」。" + }, + "syncStorageErrorSaving": { + "message": "無法儲存值。嘗試減少文字量。" + }, + "toggleStyle": { + "message": "切換樣式" + }, + "undo": { + "message": "還原" + }, + "undoGlobal": { + "message": "還原(全域)" + }, + "unreachableAMO": { + "message": "Firefox 禁止存取頁面。" + }, + "unreachableAMOHint": { + "message": "要允許存取,開啟 ,在清單上點選右鍵,點選「新增」,然後再點選「布林」,貼上 並點選確定→→確定,然後重新整理 頁面。" + }, + "unreachableAMOHintNewFF": { + "message": "在 Firefox 60 或更新的版本中,您也必須將 AMO 的網域從 中的 移除。" + }, + "unreachableAMOHintOldFF": { + "message": "僅 Firefox 59 或更新版本才能讓您設定允許 WebExtensions 在如同這個一樣的有 CSP 保護的頁面上新增樣式元素。" + }, + "unreachableContentScript": { + "message": "無法與頁面通訊。嘗試重新載入分頁。" + }, + "unreachableFileHint": { + "message": "Stylus 僅在您於 chrome://extensions 啟用了 Stylus 擴充套件中對應的勾選框時才能存取 file:// 的 URL。" + }, + "unzipStyles": { + "message": "正在解壓縮樣式……" + }, + "updateAllCheckSucceededNoUpdate": { + "message": "樣式都是最新的。" + }, + "updateAllCheckSucceededSomeEdited": { + "message": "一些可更新的樣式不會檢查以避免遺失可能有的本機編輯。更新可以強制獨立檢查,或是對所有樣式都執行檢查(本機編輯將會被覆寫)。" + }, + "updateCheckFailBadResponseCode": { + "message": "更新失敗: 伺服器傳回代碼 $code$。", + "placeholders": { + "code": { + "content": "$1" + } + } + }, + "updateCheckFailServerUnreachable": { + "message": "更新失敗: 無法訪問伺服器。" + }, + "updateCheckHistory": { + "message": "更新檢查的歷史" + }, + "updateCheckManualUpdateForce": { + "message": "安裝更新(本機編輯將會被覆寫)" + }, + "updateCheckManualUpdateHint": { + "message": "強制更新覆蓋任何本機編輯。" + }, + "updateCheckSkippedLocallyEdited": { + "message": "這個樣式已在本機編輯。" + }, + "updateCheckSkippedMaybeLocallyEdited": { + "message": "這個樣式可能在本機被編輯過。" + }, + "updateCheckSucceededNoUpdate": { + "message": "樣式已是最新的。" + }, + "updateCompleted": { + "message": "更新完成。" + }, + "updatesCurrentlyInstalled": { + "message": "更新已安裝的:" + }, + "uploadingFile": { + "message": "正在上傳檔案……" + }, + "usercssAvoidOverwriting": { + "message": "請變更 @name 或 @namespace 的值以避免覆寫既有的樣式。" + }, + "usercssConfigIncomplete": { + "message": "在設定對話框顯示後,樣式已更新或刪除。這個變數將不會儲存,以避免損毀樣式的詮釋資料。" + }, + "usercssEditorNamePlaceholder": { + "message": "在程式碼中指定 @name" + }, + "usercssReplaceTemplateConfirmation": { + "message": "為新的 Usercss 樣式取代預設的範本為目前的程式碼?" + }, + "usercssReplaceTemplateName": { + "message": "清空 @name 取代目前範本" + }, + "usercssReplaceTemplateSectionBody": { + "message": "在此插入程式碼……" + }, + "versionInvalidOlder": { + "message": "版本舊於已安裝的樣式。" + }, + "writeStyleFor": { + "message": "編寫樣式給:" + }, + "writeStyleForURL": { + "message": "此網址" + }, + "zipStyles": { + "message": "正在壓縮樣式……" + } +} From 75ae8e79bf259746c0d357da8e91d66d25512910 Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 24 Feb 2021 13:37:17 +0300 Subject: [PATCH 153/291] replace webext-tx-fix with a local tools script --- package-lock.json | 99 +----------------------------------------- package.json | 5 +-- tools/fix-transifex.js | 76 ++++++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 101 deletions(-) create mode 100644 tools/fix-transifex.js diff --git a/package-lock.json b/package-lock.json index f2340b16..7edd5f07 100644 --- a/package-lock.json +++ b/package-lock.json @@ -28,8 +28,7 @@ "make-fetch-happen": "^8.0.7", "sync-version": "^1.0.1", "tiny-glob": "^0.2.6", - "web-ext": "^5.5.0", - "webext-tx-fix": "^0.3.3" + "web-ext": "^5.5.0" }, "engines": { "node": ">=10.0.0" @@ -3214,12 +3213,6 @@ "dev": true, "peer": true }, - "node_modules/detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -7269,21 +7262,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "node_modules/neodoc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/neodoc/-/neodoc-2.0.2.tgz", - "integrity": "sha512-NAppJ0YecKWdhSXFYCHbo6RutiX8vOt/Jo3l46mUg6pQlpJNaqc5cGxdrW2jITQm5JIYySbFVPDl3RrREXNyPw==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - } - }, - "node_modules/neodoc/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, "node_modules/next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", @@ -7742,21 +7720,6 @@ "word-wrap": "^1.2.3" } }, - "node_modules/ordered-json": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ordered-json/-/ordered-json-0.1.1.tgz", - "integrity": "sha512-qw4OYAxofa+WAZAP90eoXftAErUCjs8OII5ddDzKAZBsPMpQvWEIvuKCmUgGV22Cyd3/bT6i12KeuBBZixThDg==", - "dev": true, - "dependencies": { - "ordered-object": "^0.2.0" - } - }, - "node_modules/ordered-object": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/ordered-object/-/ordered-object-0.2.3.tgz", - "integrity": "sha512-UKBtJiO7PsKqAAenewZ/moHQIRbcjZ4HE0J/+RyzgnpCTIn5ZLe3N2izno1kViTCXtHB4xuewjPgYLEiuS6t5A==", - "dev": true - }, "node_modules/os-locale": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", @@ -11683,17 +11646,6 @@ "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.1.tgz", "integrity": "sha512-e8G0W+Js6P1i/aD0XoSkWfodhdTf01fiqDQk+wcSkVPkzmqDxhzKkBpJ1Y2dz3pR4Ocve7z/yx+mMI8jsRAiPg==" }, - "node_modules/webext-tx-fix": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/webext-tx-fix/-/webext-tx-fix-0.3.3.tgz", - "integrity": "sha512-qNWk8y5NwFDdNR4cdwc001PVPsgOmG1hfH1n4u2AQhpTs08C9TH2KXw68gGA3Pvros9YFEogn2fk9C6vGbTcgw==", - "dev": true, - "dependencies": { - "detect-indent": "^6.0.0", - "neodoc": "^2.0.2", - "ordered-json": "^0.1.1" - } - }, "node_modules/webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", @@ -14703,12 +14655,6 @@ "dev": true, "peer": true }, - "detect-indent": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.0.0.tgz", - "integrity": "sha512-oSyFlqaTHCItVRGK5RmrmjB+CmaMOW7IaNA/kdxqhoa6d17j/5ce9O9eWXmV/KEdRwqpQA+Vqe8a8Bsybu4YnA==", - "dev": true - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -18057,23 +18003,6 @@ "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "dev": true }, - "neodoc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/neodoc/-/neodoc-2.0.2.tgz", - "integrity": "sha512-NAppJ0YecKWdhSXFYCHbo6RutiX8vOt/Jo3l46mUg6pQlpJNaqc5cGxdrW2jITQm5JIYySbFVPDl3RrREXNyPw==", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } - } - }, "next-tick": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", @@ -18440,21 +18369,6 @@ "word-wrap": "^1.2.3" } }, - "ordered-json": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/ordered-json/-/ordered-json-0.1.1.tgz", - "integrity": "sha512-qw4OYAxofa+WAZAP90eoXftAErUCjs8OII5ddDzKAZBsPMpQvWEIvuKCmUgGV22Cyd3/bT6i12KeuBBZixThDg==", - "dev": true, - "requires": { - "ordered-object": "^0.2.0" - } - }, - "ordered-object": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/ordered-object/-/ordered-object-0.2.3.tgz", - "integrity": "sha512-UKBtJiO7PsKqAAenewZ/moHQIRbcjZ4HE0J/+RyzgnpCTIn5ZLe3N2izno1kViTCXtHB4xuewjPgYLEiuS6t5A==", - "dev": true - }, "os-locale": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-5.0.0.tgz", @@ -21643,17 +21557,6 @@ "resolved": "https://registry.npmjs.org/webext-launch-web-auth-flow/-/webext-launch-web-auth-flow-0.1.1.tgz", "integrity": "sha512-e8G0W+Js6P1i/aD0XoSkWfodhdTf01fiqDQk+wcSkVPkzmqDxhzKkBpJ1Y2dz3pR4Ocve7z/yx+mMI8jsRAiPg==" }, - "webext-tx-fix": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/webext-tx-fix/-/webext-tx-fix-0.3.3.tgz", - "integrity": "sha512-qNWk8y5NwFDdNR4cdwc001PVPsgOmG1hfH1n4u2AQhpTs08C9TH2KXw68gGA3Pvros9YFEogn2fk9C6vGbTcgw==", - "dev": true, - "requires": { - "detect-indent": "^6.0.0", - "neodoc": "^2.0.2", - "ordered-json": "^0.1.1" - } - }, "webidl-conversions": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-6.1.0.tgz", diff --git a/package.json b/package.json index 92ea0126..81b05be9 100644 --- a/package.json +++ b/package.json @@ -25,13 +25,12 @@ "make-fetch-happen": "^8.0.7", "sync-version": "^1.0.1", "tiny-glob": "^0.2.6", - "web-ext": "^5.5.0", - "webext-tx-fix": "^0.3.3" + "web-ext": "^5.5.0" }, "scripts": { "lint": "eslint \"**/*.js\" --cache", "test": "npm run lint", - "update-locales": "tx pull --all && webext-tx-fix", + "update-locales": "tx pull --all && node tools/fix-transifex.js", "update-transifex": "tx push -s", "build-vendor": "node tools/build-vendor", "zip": "node tools/zip.js", diff --git a/tools/fix-transifex.js b/tools/fix-transifex.js new file mode 100644 index 00000000..10700c7e --- /dev/null +++ b/tools/fix-transifex.js @@ -0,0 +1,76 @@ +'use strict'; + +const fs = require('fs'); +const fse = require('fs-extra'); + +const DIR = '_locales/'; +const RX_LNG_CODE = /^\w\w(_\w{2,3})?$/; // like `en` or `en_GB` + +const makeFileName = lng => `${DIR}${lng}/messages.json`; +const readLngJson = lng => fse.readJsonSync(makeFileName(lng)); +const sortAlpha = ([a], [b]) => a < b ? -1 : a > b; + +const src = readLngJson('en'); +for (const val of Object.values(src)) { + const {placeholders} = val; + if (placeholders) { + const sorted = {}; + for (const [k, v] of Object.entries(placeholders).sort(sortAlpha)) { + sorted[k] = v; + } + val.placeholders = sorted; + } +} + +let numTotal = 0; +let numFixed = 0; + +for (const /**@type Dirent*/ entry of fs.readdirSync(DIR, {withFileTypes: true})) { + const lng = entry.name; + if (lng !== 'en' && entry.isDirectory() && RX_LNG_CODE.test(lng)) { + numFixed += fixLngFile(lng) ? 1 : 0; + numTotal++; + } +} +console.log(`${numFixed} files fixed out of ${numTotal}`); + +function fixLngFile(lng) { + let numUnknown = 0; + let numUntranslated = 0; + let numVarsFixed = 0; + const json = readLngJson(lng); + const res = {}; + for (const [key, val] of Object.entries(json).sort(sortAlpha)) { + const {placeholders, message} = src[key] || {}; + if (!message) { + numUnknown++; + } else if (!val.message || val.message === message) { + numUntranslated++; + } else { + delete val.description; + if (placeholders && !val.placeholders) { + numVarsFixed++; + val.placeholders = placeholders; + } + res[key] = val; + } + } + const jsonStr = JSON.stringify(json, null, 2); + const resStr = JSON.stringify(res, null, 2); + if (resStr !== jsonStr) { + let err; + if (resStr === '{}') { + fs.rmdirSync(`${DIR}${lng}`, {recursive: true}); + err = 'no translations -> deleted'; + } else { + fse.outputFileSync(makeFileName(lng), resStr + '\n'); + err = [ + numUnknown && `${numUnknown} unknown (dropped)`, + numUntranslated && `${numUntranslated} untranslated (dropped)`, + numVarsFixed && `${numVarsFixed} missing placeholders (restored)`, + ].filter(Boolean).join(', '); + } + if (err) console.log(`${lng}: ${err}`); + return err; + } +} From 69308d04e96f7a64517628f24f60f31b2911aa4b Mon Sep 17 00:00:00 2001 From: tophf Date: Wed, 24 Feb 2021 13:41:05 +0300 Subject: [PATCH 154/291] CodeMirror 5.59.4 --- package-lock.json | 14 +++++++------- package.json | 2 +- vendor/codemirror/README.md | 2 +- vendor/codemirror/lib/codemirror.css | 2 +- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7edd5f07..401d8078 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "1.5.16", "license": "GPL-3.0-only", "dependencies": { - "codemirror": "5.59.3", + "codemirror": "5.59.4", "db-to-cloud": "^0.6.0", "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", @@ -2362,9 +2362,9 @@ } }, "node_modules/codemirror": { - "version": "5.59.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.3.tgz", - "integrity": "sha512-p1d4BjmBBssgnEGtQeWvE5PdiDffqZjiJ77h2FZ2J2BpW9qdOzf6v7IQscyE+TgyKBQS3PpsYimfEDNgcNRZGQ==" + "version": "5.59.4", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.4.tgz", + "integrity": "sha512-achw5JBgx8QPcACDDn+EUUXmCYzx/zxEtOGXyjvLEvYY8GleUrnfm5D+Zb+UjShHggXKDT9AXrbkBZX6a0YSQg==" }, "node_modules/collection-visit": { "version": "1.0.0", @@ -13942,9 +13942,9 @@ } }, "codemirror": { - "version": "5.59.3", - "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.3.tgz", - "integrity": "sha512-p1d4BjmBBssgnEGtQeWvE5PdiDffqZjiJ77h2FZ2J2BpW9qdOzf6v7IQscyE+TgyKBQS3PpsYimfEDNgcNRZGQ==" + "version": "5.59.4", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.4.tgz", + "integrity": "sha512-achw5JBgx8QPcACDDn+EUUXmCYzx/zxEtOGXyjvLEvYY8GleUrnfm5D+Zb+UjShHggXKDT9AXrbkBZX6a0YSQg==" }, "collection-visit": { "version": "1.0.0", diff --git a/package.json b/package.json index 81b05be9..b107ff44 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "repository": "openstyles/stylus", "author": "Stylus Team", "dependencies": { - "codemirror": "5.59.3", + "codemirror": "5.59.4", "db-to-cloud": "^0.6.0", "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", diff --git a/vendor/codemirror/README.md b/vendor/codemirror/README.md index 2981101d..35ddb69c 100644 --- a/vendor/codemirror/README.md +++ b/vendor/codemirror/README.md @@ -1,4 +1,4 @@ -## codemirror v5.59.3 +## codemirror v5.59.4 Following files are copied from npm (node_modules): diff --git a/vendor/codemirror/lib/codemirror.css b/vendor/codemirror/lib/codemirror.css index 5ea2d2be..a64f97c7 100644 --- a/vendor/codemirror/lib/codemirror.css +++ b/vendor/codemirror/lib/codemirror.css @@ -19,7 +19,7 @@ } .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler { - background-color: transparent; /* The little square between H and V scrollbars */ + background-color: white; /* The little square between H and V scrollbars */ } /* GUTTER */ From a5d2d96717dccb3a5285072699aaf6486b9471c5 Mon Sep 17 00:00:00 2001 From: Rob Garrison Date: Wed, 24 Feb 2021 18:34:09 -0600 Subject: [PATCH 155/291] 1.5.17 --- manifest.json | 2 +- package-lock.json | 21 +++------------------ package.json | 2 +- 3 files changed, 5 insertions(+), 20 deletions(-) diff --git a/manifest.json b/manifest.json index 780d8dc2..f8807935 100644 --- a/manifest.json +++ b/manifest.json @@ -1,6 +1,6 @@ { "name": "Stylus", - "version": "1.5.16", + "version": "1.5.17", "minimum_chrome_version": "55", "description": "__MSG_description__", "homepage_url": "https://add0n.com/stylus.html", diff --git a/package-lock.json b/package-lock.json index 401d8078..d3ce4aaa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "Stylus", - "version": "1.5.16", + "version": "1.5.17", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "Stylus", - "version": "1.5.16", + "version": "1.5.17", "license": "GPL-3.0-only", "dependencies": { "codemirror": "5.59.4", @@ -644,7 +644,6 @@ "espree": "7.3.0", "esprima": "4.0.1", "fluent-syntax": "0.13.0", - "fsevents": "2.2.1", "glob": "7.1.6", "is-mergeable-object": "1.1.1", "jed": "1.1.1", @@ -1854,12 +1853,6 @@ "engines": [ "node >=0.10.0" ], - "dependencies": { - "dtrace-provider": "~0.8", - "moment": "^2.19.3", - "mv": "~2", - "safe-json-stringify": "~1" - }, "bin": { "bunyan": "bin/bunyan" }, @@ -2143,7 +2136,6 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", - "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -4578,9 +4570,6 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, - "dependencies": { - "graceful-fs": "^4.1.6" - }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -7020,7 +7009,6 @@ "integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==", "dev": true, "dependencies": { - "encoding": "^0.1.12", "minipass": "^3.1.0", "minipass-pipeline": "^1.2.2", "minipass-sized": "^1.0.3", @@ -11279,10 +11267,8 @@ "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "dependencies": { - "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" + "neo-async": "^2.5.0" }, "optionalDependencies": { "chokidar": "^3.4.1", @@ -11366,7 +11352,6 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", - "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", diff --git a/package.json b/package.json index b107ff44..06b19406 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "Stylus", - "version": "1.5.16", + "version": "1.5.17", "description": "Redesign the web with Stylus, a user styles manager", "license": "GPL-3.0-only", "repository": "openstyles/stylus", From 81fa6b1e7994a8136104e07305f420ed354024ea Mon Sep 17 00:00:00 2001 From: tophf Date: Thu, 25 Feb 2021 10:04:25 +0300 Subject: [PATCH 156/291] avoid a scrollbar due to rounding errors --- edit/sections-editor.js | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/edit/sections-editor.js b/edit/sections-editor.js index 2102cad4..0f2f7db4 100644 --- a/edit/sections-editor.js +++ b/edit/sections-editor.js @@ -21,6 +21,7 @@ function SectionsEditor() { let INC_ID = 0; // an increment id that is used by various object to track the order let sectionOrder = ''; let headerOffset; // in compact mode the header is at the top so it reduces the available height + let cmExtrasHeight; // resize grip + borders updateHeader(); rerouteHotkeys.toggle(true); // enabled initially because we don't always focus a CodeMirror @@ -138,13 +139,17 @@ function SectionsEditor() { return; } if (headerOffset == null) { - headerOffset = container.getBoundingClientRect().top + scrollY | 0; + headerOffset = Math.ceil(container.getBoundingClientRect().top + scrollY); } - contentHeight += 9; // border & resize grip + if (cmExtrasHeight == null) { + cmExtrasHeight = $('.resize-grip', wrapper).offsetHeight + // grip + wrapper.offsetHeight - wrapper.clientHeight; // borders + } + contentHeight += cmExtrasHeight; cm.off('update', resize); const cmHeight = wrapper.offsetHeight; const appliesToHeight = Math.min(section.el.offsetHeight - cmHeight, window.innerHeight / 2); - const maxHeight = (window.innerHeight - headerOffset) - appliesToHeight; + const maxHeight = Math.floor(window.innerHeight - headerOffset - appliesToHeight); const fit = Math.min(contentHeight, maxHeight); if (Math.abs(fit - cmHeight) > 1) { cm.setSize(null, fit); From 9b46da5846d440628cea0c58e0a9c4cb554e27f4 Mon Sep 17 00:00:00 2001 From: tophf Date: Thu, 25 Feb 2021 10:26:32 +0300 Subject: [PATCH 157/291] shrink screenshots to make readme readmeable --- README.md | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index b731931d..62538abd 100644 --- a/README.md +++ b/README.md @@ -21,12 +21,9 @@ Stylus is a fork of Stylish for Chrome, also compatible with Firefox as a WebExt ## Screenshots -![Style manager](https://user-images.githubusercontent.com/1310400/34453460-214eaa5c-ed67-11e7-843b-d8960b71db6e.png) -![Style editor](https://user-images.githubusercontent.com/1310400/34459585-3932cd94-ee05-11e7-9a1b-679522dddfb3.png) -![Popup config for usercss](https://user-images.githubusercontent.com/1310400/34453462-218a589a-ed67-11e7-9040-7d0469eeadc3.png) -![Popup inline search](https://user-images.githubusercontent.com/1310400/34453463-21a44368-ed67-11e7-93b2-e1c8f5aac868.png) -![Style manager config for usercss](https://user-images.githubusercontent.com/1310400/34453464-21bdaf9c-ed67-11e7-8517-62d2f02e1918.png) -![Options](https://user-images.githubusercontent.com/1310400/34453461-216aee4c-ed67-11e7-92db-ea21c1da5826.png) +Manager | Editor | Popup search | Popup config | Manager config | Options +-|-|-|-|-|- +![Style manager](https://user-images.githubusercontent.com/1310400/34453460-214eaa5c-ed67-11e7-843b-d8960b71db6e.png) | ![Style editor](https://user-images.githubusercontent.com/1310400/34459585-3932cd94-ee05-11e7-9a1b-679522dddfb3.png) | ![Popup inline search](https://user-images.githubusercontent.com/1310400/34453463-21a44368-ed67-11e7-93b2-e1c8f5aac868.png) | ![Popup config for usercss](https://user-images.githubusercontent.com/1310400/34453462-218a589a-ed67-11e7-9040-7d0469eeadc3.png) | ![Style manager config for usercss](https://user-images.githubusercontent.com/1310400/34453464-21bdaf9c-ed67-11e7-8517-62d2f02e1918.png) | ![Options](https://user-images.githubusercontent.com/1310400/34453461-216aee4c-ed67-11e7-92db-ea21c1da5826.png) ## Help From 53c71614fcd383e357444cfe73cdd3de527a8f83 Mon Sep 17 00:00:00 2001 From: tophf Date: Fri, 26 Feb 2021 10:02:21 +0300 Subject: [PATCH 158/291] relaxed parsing of usercss @version fixes #821 --- _locales/de/messages.json | 7 +---- _locales/en/messages.json | 7 +---- _locales/es/messages.json | 7 +---- _locales/fr/messages.json | 7 +---- _locales/hu/messages.json | 7 +---- _locales/ja/messages.json | 7 +---- _locales/ko/messages.json | 7 +---- _locales/nl/messages.json | 7 +---- _locales/pl/messages.json | 7 +---- _locales/ru/messages.json | 7 +---- _locales/sv/messages.json | 7 +---- _locales/zh/messages.json | 7 +---- _locales/zh_CN/messages.json | 7 +---- _locales/zh_TW/messages.json | 7 +---- background/update-manager.js | 19 +++++--------- install-usercss/install-usercss.js | 6 ++--- js/cmpver.js | 42 ++++++++++++++++++++++++++++++ js/meta-parser.js | 15 +++++++++++ manifest.json | 1 + package-lock.json | 34 ++++++++++++------------ package.json | 1 - tools/build-vendor.js | 3 --- vendor/semver-bundle/LICENSE | 15 ----------- vendor/semver-bundle/README.md | 5 ---- vendor/semver-bundle/semver.js | 1 - 25 files changed, 98 insertions(+), 142 deletions(-) create mode 100644 js/cmpver.js delete mode 100644 vendor/semver-bundle/LICENSE delete mode 100644 vendor/semver-bundle/README.md delete mode 100644 vendor/semver-bundle/semver.js diff --git a/_locales/de/messages.json b/_locales/de/messages.json index 4ce69ddf..adeb617b 100644 --- a/_locales/de/messages.json +++ b/_locales/de/messages.json @@ -672,12 +672,7 @@ } }, "meta_invalidVersion": { - "message": "Ungültige Versionsnummer: Der Wert entspricht nicht dem SemVer Schema: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Ungültige Versionsnummer" }, "meta_invalidWord": { "message": "Erwarte ein Wort" diff --git a/_locales/en/messages.json b/_locales/en/messages.json index 86919510..79aeef9e 100644 --- a/_locales/en/messages.json +++ b/_locales/en/messages.json @@ -916,12 +916,7 @@ "description": "Error displayed when the protocol of the URL is invalid" }, "meta_invalidVersion": { - "message": "Invalid version number. The value doesn't match SemVer pattern: $version$", - "placeholders": { - "version": { - "content": "$1" - } - }, + "message": "Invalid version number", "description": "Error displayed when @version is invalid" }, "meta_invalidWord": { diff --git a/_locales/es/messages.json b/_locales/es/messages.json index f3837958..7dab8338 100644 --- a/_locales/es/messages.json +++ b/_locales/es/messages.json @@ -662,12 +662,7 @@ } }, "meta_invalidVersion": { - "message": "Número de versión no válido. El valor no coincide con el patrón SemVer: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Número de versión no válido" }, "meta_invalidWord": { "message": "Se espera una palabra" diff --git a/_locales/fr/messages.json b/_locales/fr/messages.json index fad3df8f..c81c44ff 100644 --- a/_locales/fr/messages.json +++ b/_locales/fr/messages.json @@ -669,12 +669,7 @@ } }, "meta_invalidVersion": { - "message": "Numéro de version invalide. La valeur ne correspond pas au motif SemVer : $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Numéro de version invalide" }, "meta_invalidWord": { "message": "Mot attendu" diff --git a/_locales/hu/messages.json b/_locales/hu/messages.json index f5741c6a..294acdf3 100644 --- a/_locales/hu/messages.json +++ b/_locales/hu/messages.json @@ -654,12 +654,7 @@ } }, "meta_invalidVersion": { - "message": "Érvénytelen verziószám. Az érték nem illeszkedik a SemVer mintájához: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Érvénytelen verziószám" }, "meta_invalidWord": { "message": "Várt elem: szó" diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json index db8a916a..647b083c 100644 --- a/_locales/ja/messages.json +++ b/_locales/ja/messages.json @@ -684,12 +684,7 @@ } }, "meta_invalidVersion": { - "message": "不正なバージョン番号。値がバージョン番号のパターンに合っていません: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "不正なバージョン番号" }, "meta_invalidWord": { "message": "単語を入力してください" diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json index d80ea710..ad336f5f 100644 --- a/_locales/ko/messages.json +++ b/_locales/ko/messages.json @@ -672,12 +672,7 @@ } }, "meta_invalidVersion": { - "message": "유효하지 않은 버전 숫자입니다. $version$은(는) 유의적 버전 패턴과 일치하지 않습니다.", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "유효하지 않은 버전 숫자입니다" }, "meta_invalidWord": { "message": "단어를 입력하세요" diff --git a/_locales/nl/messages.json b/_locales/nl/messages.json index fdaf5b15..06d4921f 100644 --- a/_locales/nl/messages.json +++ b/_locales/nl/messages.json @@ -691,12 +691,7 @@ } }, "meta_invalidVersion": { - "message": "Ongeldig versienummer. De waarde komt niet overeen met het SemVer-patroon:$version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Ongeldig versienummer" }, "meta_invalidWord": { "message": "Woord verwacht" diff --git a/_locales/pl/messages.json b/_locales/pl/messages.json index cc1e76de..f2348466 100644 --- a/_locales/pl/messages.json +++ b/_locales/pl/messages.json @@ -719,12 +719,7 @@ } }, "meta_invalidVersion": { - "message": "Nieprawidłowy numer wersji. Wartość nie pasuje do wzorca SemVer: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Nieprawidłowy numer wersji" }, "meta_invalidWord": { "message": "Spodziewane słowo" diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json index e4d2b1de..630971d8 100644 --- a/_locales/ru/messages.json +++ b/_locales/ru/messages.json @@ -675,12 +675,7 @@ } }, "meta_invalidVersion": { - "message": "Неверный номер версии. Значение не соответствует шаблону SemVer: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Неверный номер версии" }, "meta_invalidWord": { "message": "Ожидание слова" diff --git a/_locales/sv/messages.json b/_locales/sv/messages.json index 048e7b90..524fa83e 100644 --- a/_locales/sv/messages.json +++ b/_locales/sv/messages.json @@ -648,12 +648,7 @@ } }, "meta_invalidVersion": { - "message": "Ogiltigt versionsnummer. Värdet matchar inte SemVer-mönstret: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "Ogiltigt versionsnummer" }, "meta_invalidWord": { "message": "Förvänta dig ett ord" diff --git a/_locales/zh/messages.json b/_locales/zh/messages.json index 64873312..d0417726 100644 --- a/_locales/zh/messages.json +++ b/_locales/zh/messages.json @@ -725,12 +725,7 @@ } }, "meta_invalidVersion": { - "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "无效的版本号" }, "meta_invalidWord": { "message": "需要一个单词" diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json index 1c9da6e6..05670a48 100644 --- a/_locales/zh_CN/messages.json +++ b/_locales/zh_CN/messages.json @@ -719,12 +719,7 @@ } }, "meta_invalidVersion": { - "message": "无效的版本号. 值与 SemVer 规则不匹配: $version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "无效的版本号" }, "meta_invalidWord": { "message": "需要一个单词" diff --git a/_locales/zh_TW/messages.json b/_locales/zh_TW/messages.json index faf85f41..0de3b2bd 100644 --- a/_locales/zh_TW/messages.json +++ b/_locales/zh_TW/messages.json @@ -719,12 +719,7 @@ } }, "meta_invalidVersion": { - "message": "無效的版本號。值不符合 SemVer 模式:$version$", - "placeholders": { - "version": { - "content": "$1" - } - } + "message": "無效的版本號" }, "meta_invalidWord": { "message": "預期為單字" diff --git a/background/update-manager.js b/background/update-manager.js index 05f48486..2ef3a357 100644 --- a/background/update-manager.js +++ b/background/update-manager.js @@ -2,6 +2,7 @@ /* global RX_META URLS debounce download ignoreChromeError */// toolbox.js /* global calcStyleDigest styleJSONseemsValid styleSectionsEqual */ // sections-util.js /* global chromeLocal */// storage-util.js +/* global compareVersion */// cmpver.js /* global db */ /* global prefs */ 'use strict'; @@ -25,10 +26,10 @@ const updateMan = (() => { const RH_ETAG = {responseHeaders: ['etag']}; // a hashsum of file contents const RX_DATE2VER = new RegExp([ /^(\d{4})/, - /(1(?:0|[12](?=\d\d))?|[2-9])/, // in ambiguous cases like yyyy123 the month will be 1 - /([1-2][0-9]?|3[0-1]?|[4-9])/, - /\.(0|1[0-9]?|2[0-3]?|[3-9])/, - /\.(0|[1-5][0-9]?|[6-9])$/, + /(0[1-9]|1(?:0|[12](?=\d\d))?|[2-9])/, // in ambiguous cases like yyyy123 the month will be 1 + /(0[1-9]|[1-2][0-9]?|3[0-1]?|[4-9])/, + /\.([01][0-9]?|2[0-3]?|[3-9])/, + /\.([0-5][0-9]?|[6-9])$/, ].map(rx => rx.source).join('')); const ALARM_NAME = 'scheduledUpdate'; const MIN_INTERVAL_MS = 60e3; @@ -213,14 +214,8 @@ const updateMan = (() => { } // TODO: when sourceCode is > 100kB use http range request(s) for version check const {headers: {etag}, response} = await tryDownload(style.updateUrl, RH_ETAG); - /* There's a bug? in Chrome which occurs only in a packaged crx: - * DOM script for semver fires 'load' event before the script actually runs. - * Since the conditions for the bug are rare we'll simply load in parallel */ - const [json] = await Promise.all([ - API.usercss.buildMeta({sourceCode: response, etag}), - require(['/vendor/semver-bundle/semver']), /* global semverCompare */ - ]); - const delta = semverCompare(json.usercssData.version, ucd.version); + const json = await API.usercss.buildMeta({sourceCode: response, etag}); + const delta = compareVersion(json.usercssData.version, ucd.version); let err; if (!delta && !ignoreDigest) { // re-install is invalid in a soft upgrade diff --git a/install-usercss/install-usercss.js b/install-usercss/install-usercss.js index eb6f9b5a..1befaff4 100644 --- a/install-usercss/install-usercss.js +++ b/install-usercss/install-usercss.js @@ -56,7 +56,7 @@ setTimeout(() => { '/vendor/codemirror/addon/selection/active-line', '/vendor/codemirror/lib/codemirror.css', '/vendor/codemirror/addon/fold/foldgutter.css', - '/vendor/semver-bundle/semver', /* global semverCompare */ + '/js/cmpver', /* global compareVersion */ '/js/sections-util', /* global styleCodeEmpty */ '/js/color/color-converter', '/edit/codemirror-default.css', @@ -89,7 +89,7 @@ setTimeout(() => { } const data = style.usercssData; const dupData = dup && dup.usercssData; - const versionTest = dup && semverCompare(data.version, dupData.version); + const versionTest = dup && compareVersion(data.version, dupData.version); updateMeta(style, dup); @@ -144,7 +144,7 @@ function updateMeta(style, dup = installedDup) { installedDup = dup; const data = style.usercssData; const dupData = dup && dup.usercssData; - const versionTest = dup && semverCompare(data.version, dupData.version); + const versionTest = dup && compareVersion(data.version, dupData.version); cm.setPreprocessor(data.preprocessor); diff --git a/js/cmpver.js b/js/cmpver.js new file mode 100644 index 00000000..170e2f6f --- /dev/null +++ b/js/cmpver.js @@ -0,0 +1,42 @@ +'use strict'; + +/** + Copied from https://github.com/violentmonkey/violentmonkey/blob/master/src/common/util.js + A couple of trivial changes: switched to Math.sign, removed the default radix from parseInt + */ + +/* exported compareVersion */ + +const VERSION_RE = /^(.*?)-([-.0-9a-z]+)|$/i; +const DIGITS_RE = /^\d+$/; // using regexp to avoid +'1e2' being parsed as 100 + +/** @return -1 | 0 | 1 */ +function compareVersion(ver1, ver2) { + const [, main1 = ver1 || '', pre1] = VERSION_RE.exec(ver1); + const [, main2 = ver2 || '', pre2] = VERSION_RE.exec(ver2); + const delta = compareVersionChunk(main1, main2) + || !pre1 - !pre2 // 1.2.3-pre-release is less than 1.2.3 + || pre1 && compareVersionChunk(pre1, pre2, true); // if pre1 is present, pre2 is too + return Math.sign(delta); +} + +function compareVersionChunk(ver1, ver2, isSemverMode) { + const parts1 = ver1.split('.'); + const parts2 = ver2.split('.'); + const len1 = parts1.length; + const len2 = parts2.length; + const len = (isSemverMode ? Math.min : Math.max)(len1, len2); + let delta; + for (let i = 0; !delta && i < len; i += 1) { + const a = parts1[i]; + const b = parts2[i]; + if (isSemverMode) { + delta = DIGITS_RE.test(a) && DIGITS_RE.test(b) + ? a - b + : a > b || a < b && -1; + } else { + delta = (parseInt(a) || 0) - (parseInt(b) || 0); + } + } + return delta || isSemverMode && (len1 - len2); +} diff --git a/js/meta-parser.js b/js/meta-parser.js index 10058ceb..5a0aa734 100644 --- a/js/meta-parser.js +++ b/js/meta-parser.js @@ -5,6 +5,12 @@ const metaParser = (() => { require(['/vendor/usercss-meta/usercss-meta.min']); /* global usercssMeta */ const {createParser, ParseError} = usercssMeta; const PREPROCESSORS = new Set(['default', 'uso', 'stylus', 'less']); + /** Relaxed semver: + * dot-separated digits sequence e.g. 1 or 1.2 or 1.2.3.4.5 + * optional pre-release chunk: "-" followed by dot-separated word characters, "-" + * optional build chunk: "+" followed by dot-separated word characters, "-" + */ + const RX_VER = /^\d+(\.\d+)*(?:-(\w[-\w]*(\.[-\w]+)*))?(?:\+(\w[-\w]*(\.[-\w]+)*))?$/; const options = { validateKey: { preprocessor: state => { @@ -16,6 +22,15 @@ const metaParser = (() => { }); } }, + version: state => { + if (!RX_VER.test(state.value)) { + throw new ParseError({ + code: 'invalidVersion', + message: 'Invalid @version', + index: state.valueIndex, + }); + } + }, }, validateVar: { select: state => { diff --git a/manifest.json b/manifest.json index f8807935..aafb0dcc 100644 --- a/manifest.json +++ b/manifest.json @@ -32,6 +32,7 @@ "js/storage-util.js", "js/sections-util.js", "js/worker-util.js", + "js/cmpver.js", "background/common.js", diff --git a/package-lock.json b/package-lock.json index d3ce4aaa..6693b7ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,6 @@ "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", "lz-string-unsafe": "^1.4.4-fork-1", - "semver-bundle": "^0.1.1", "stylelint-bundle": "^13.8.0", "stylus-lang-bundle": "github:openstyles/stylus-lang-bundle#v0.54.7", "usercss-meta": "^0.10.0", @@ -644,6 +643,7 @@ "espree": "7.3.0", "esprima": "4.0.1", "fluent-syntax": "0.13.0", + "fsevents": "2.2.1", "glob": "7.1.6", "is-mergeable-object": "1.1.1", "jed": "1.1.1", @@ -1853,6 +1853,12 @@ "engines": [ "node >=0.10.0" ], + "dependencies": { + "dtrace-provider": "~0.8", + "moment": "^2.19.3", + "mv": "~2", + "safe-json-stringify": "~1" + }, "bin": { "bunyan": "bin/bunyan" }, @@ -2136,6 +2142,7 @@ "dependencies": { "anymatch": "~3.1.1", "braces": "~3.0.2", + "fsevents": "~2.3.1", "glob-parent": "~5.1.0", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", @@ -4570,6 +4577,9 @@ "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", "dev": true, + "dependencies": { + "graceful-fs": "^4.1.6" + }, "optionalDependencies": { "graceful-fs": "^4.1.6" } @@ -7009,6 +7019,7 @@ "integrity": "sha512-ssHt0dkljEDaKmTgQ04DQgx2ag6G2gMPxA5hpcsoeTbfDgRf2fC2gNSRc6kISjD7ckCpHwwQvXxuTBK8402fXg==", "dev": true, "dependencies": { + "encoding": "^0.1.12", "minipass": "^3.1.0", "minipass-pipeline": "^1.2.2", "minipass-sized": "^1.0.3", @@ -9110,14 +9121,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, - "node_modules/semver-bundle": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/semver-bundle/-/semver-bundle-0.1.1.tgz", - "integrity": "sha512-AXZEjNFlP6BzqRlWQNF3NBGsDw/clPcuUAk1mUl+ypnSplG20CDLQj5ofmaj40vlUHt40duxH3d/x/RXItLAHA==", - "dependencies": { - "semver": "^5.5.0" - } - }, "node_modules/semver-diff": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", @@ -11267,8 +11270,10 @@ "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", "dev": true, "dependencies": { + "chokidar": "^3.4.1", "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" }, "optionalDependencies": { "chokidar": "^3.4.1", @@ -11352,6 +11357,7 @@ "anymatch": "^2.0.0", "async-each": "^1.0.1", "braces": "^2.3.2", + "fsevents": "^1.2.7", "glob-parent": "^3.1.0", "inherits": "^2.0.3", "is-binary-path": "^1.0.0", @@ -19458,14 +19464,6 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==" }, - "semver-bundle": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/semver-bundle/-/semver-bundle-0.1.1.tgz", - "integrity": "sha512-AXZEjNFlP6BzqRlWQNF3NBGsDw/clPcuUAk1mUl+ypnSplG20CDLQj5ofmaj40vlUHt40duxH3d/x/RXItLAHA==", - "requires": { - "semver": "^5.5.0" - } - }, "semver-diff": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/semver-diff/-/semver-diff-3.1.1.tgz", diff --git a/package.json b/package.json index 06b19406..3053651d 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,6 @@ "jsonlint": "^1.6.3", "less-bundle": "github:openstyles/less-bundle#v0.1.0", "lz-string-unsafe": "^1.4.4-fork-1", - "semver-bundle": "^0.1.1", "stylelint-bundle": "^13.8.0", "stylus-lang-bundle": "github:openstyles/stylus-lang-bundle#v0.54.7", "usercss-meta": "^0.10.0", diff --git a/tools/build-vendor.js b/tools/build-vendor.js index befa0018..fa6c5c37 100644 --- a/tools/build-vendor.js +++ b/tools/build-vendor.js @@ -44,9 +44,6 @@ const files = { 'lz-string-unsafe': [ 'lz-string-unsafe.min.js', ], - 'semver-bundle': [ - 'dist/semver.js → semver.js', - ], 'stylelint-bundle': [ 'dist/stylelint-bundle.min.js → stylelint-bundle.min.js', 'https://github.com/stylelint/stylelint/raw/{VERSION}/LICENSE → LICENSE', diff --git a/vendor/semver-bundle/LICENSE b/vendor/semver-bundle/LICENSE deleted file mode 100644 index 19129e31..00000000 --- a/vendor/semver-bundle/LICENSE +++ /dev/null @@ -1,15 +0,0 @@ -The ISC License - -Copyright (c) Isaac Z. Schlueter and Contributors - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted, provided that the above -copyright notice and this permission notice appear in all copies. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES -WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR -ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES -WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN -ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR -IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/semver-bundle/README.md b/vendor/semver-bundle/README.md deleted file mode 100644 index 92441f95..00000000 --- a/vendor/semver-bundle/README.md +++ /dev/null @@ -1,5 +0,0 @@ -## semver-bundle v0.1.1 - -Following files are copied from npm (node_modules): - -* semver.js: dist\semver.js diff --git a/vendor/semver-bundle/semver.js b/vendor/semver-bundle/semver.js deleted file mode 100644 index 4c72e092..00000000 --- a/vendor/semver-bundle/semver.js +++ /dev/null @@ -1 +0,0 @@ -var semverCompare=function(){"use strict";var s=256,i=Number.MAX_SAFE_INTEGER||9007199254740991,a=[],e=[],r=0,t=r++;e[t]="0|[1-9]\\d*";var n=r++;e[n]="[0-9]+";var h=r++;e[h]="\\d*[a-zA-Z-][a-zA-Z0-9-]*";var o=r++;e[o]="("+e[t]+")\\.("+e[t]+")\\.("+e[t]+")";var p=r++;e[p]="("+e[n]+")\\.("+e[n]+")\\.("+e[n]+")";var l=r++;e[l]="(?:"+e[t]+"|"+e[h]+")";var c=r++;e[c]="(?:"+e[n]+"|"+e[h]+")";var v=r++;e[v]="(?:-("+e[l]+"(?:\\."+e[l]+")*))";var f=r++;e[f]="(?:-?("+e[c]+"(?:\\."+e[c]+")*))";var m=r++;e[m]="[0-9A-Za-z-]+";var u=r++;e[u]="(?:\\+("+e[m]+"(?:\\."+e[m]+")*))";var g=r++,w="v?"+e[o]+e[v]+"?"+e[u]+"?";e[g]="^"+w+"$";var d="[v=\\s]*"+e[p]+e[f]+"?"+e[u]+"?",$=r++;e[$]="^"+d+"$";var y=r++;e[y]="((?:<|>)?=?)";var E=r++;e[E]=e[n]+"|x|X|\\*";var j=r++;e[j]=e[t]+"|x|X|\\*";var b=r++;e[b]="[v=\\s]*("+e[j]+")(?:\\.("+e[j]+")(?:\\.("+e[j]+")(?:"+e[v]+")?"+e[u]+"?)?)?";var k=r++;e[k]="[v=\\s]*("+e[E]+")(?:\\.("+e[E]+")(?:\\.("+e[E]+")(?:"+e[f]+")?"+e[u]+"?)?)?",e[r++]="^"+e[y]+"\\s*"+e[b]+"$",e[r++]="^"+e[y]+"\\s*"+e[k]+"$",e[r++]="(?:^|[^\\d])(\\d{1,16})(?:\\.(\\d{1,16}))?(?:\\.(\\d{1,16}))?(?:$|[^\\d])";var T=r++;e[T]="(?:~>?)";var x=r++;e[x]="(\\s*)"+e[T]+"\\s+",a[x]=new RegExp(e[x],"g"),e[r++]="^"+e[T]+e[b]+"$",e[r++]="^"+e[T]+e[k]+"$";var I=r++;e[I]="(?:\\^)";var A=r++;e[A]="(\\s*)"+e[I]+"\\s+",a[A]=new RegExp(e[A],"g"),e[r++]="^"+e[I]+e[b]+"$",e[r++]="^"+e[I]+e[k]+"$",e[r++]="^"+e[y]+"\\s*("+d+")$|^$",e[r++]="^"+e[y]+"\\s*("+w+")$|^$";var R=r++;e[R]="(\\s*)"+e[y]+"\\s*("+d+"|"+e[b]+")",a[R]=new RegExp(e[R],"g"),e[r++]="^\\s*("+e[b]+")\\s+-\\s+("+e[b]+")\\s*$",e[r++]="^\\s*("+e[k]+")\\s+-\\s+("+e[k]+")\\s*$",e[r++]="(<|>)?=?\\s*\\*";for(var N=0;N<35;N++)a[N]||(a[N]=new RegExp(e[N]));function z(e,r){if(e instanceof z){if(e.loose===r)return e;e=e.version}else if("string"!=typeof e)throw new TypeError("Invalid Version: "+e);if(e.length>s)throw new TypeError("version is longer than "+s+" characters");if(!(this instanceof z))return new z(e,r);this.loose=r;var t=e.trim().match(r?a[$]:a[g]);if(!t)throw new TypeError("Invalid Version: "+e);if(this.raw=e,this.major=+t[1],this.minor=+t[2],this.patch=+t[3],this.major>i||this.major<0)throw new TypeError("Invalid major version");if(this.minor>i||this.minor<0)throw new TypeError("Invalid minor version");if(this.patch>i||this.patch<0)throw new TypeError("Invalid patch version");t[4]?this.prerelease=t[4].split(".").map(function(e){if(/^[0-9]+$/.test(e)){var r=+e;if(0<=r&&r Date: Fri, 26 Feb 2021 13:01:27 +0300 Subject: [PATCH 159/291] enforce eslint radix rule for parseInt --- .eslintrc.yml | 2 +- edit/global-search.js | 2 +- js/cmpver.js | 4 ++-- js/toolbox.js | 4 ++-- popup/search.js | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.eslintrc.yml b/.eslintrc.yml index 66788098..ffcbf8ce 100644 --- a/.eslintrc.yml +++ b/.eslintrc.yml @@ -203,7 +203,7 @@ rules: prefer-const: [1, {destructuring: all, ignoreReadBeforeAssign: true}] quote-props: [0] quotes: [1, single, avoid-escape] - radix: [2, as-needed] + radix: [2, always] require-jsdoc: [0] require-yield: [2] semi-spacing: [2, {before: false, after: true}] diff --git a/edit/global-search.js b/edit/global-search.js index fac31d07..d66f4463 100644 --- a/edit/global-search.js +++ b/edit/global-search.js @@ -678,7 +678,7 @@ el.style.width = newWidth + 'px'; } const numLines = el.value.split('\n').length; - if (numLines !== parseInt(el.rows)) { + if (numLines !== Number(el.rows)) { el.rows = numLines; } el.style.overflowX = el.scrollWidth > el.clientWidth ? '' : 'hidden'; diff --git a/js/cmpver.js b/js/cmpver.js index 170e2f6f..5ff46ba2 100644 --- a/js/cmpver.js +++ b/js/cmpver.js @@ -2,7 +2,7 @@ /** Copied from https://github.com/violentmonkey/violentmonkey/blob/master/src/common/util.js - A couple of trivial changes: switched to Math.sign, removed the default radix from parseInt + and switched to Math.sign */ /* exported compareVersion */ @@ -35,7 +35,7 @@ function compareVersionChunk(ver1, ver2, isSemverMode) { ? a - b : a > b || a < b && -1; } else { - delta = (parseInt(a) || 0) - (parseInt(b) || 0); + delta = (parseInt(a, 10) || 0) - (parseInt(b, 10) || 0); } } return delta || isSemverMode && (len1 - len2); diff --git a/js/toolbox.js b/js/toolbox.js index 8307aea8..57d1ad9a 100644 --- a/js/toolbox.js +++ b/js/toolbox.js @@ -21,7 +21,7 @@ waitForTabUrl */ -const CHROME = Boolean(chrome.app) && parseInt(navigator.userAgent.match(/Chrom\w+\/(\d+)|$/)[1]); +const CHROME = Boolean(chrome.app) && Number(navigator.userAgent.match(/Chrom\w+\/(\d+)|$/)[1]); const OPERA = Boolean(chrome.app) && parseFloat(navigator.userAgent.match(/\bOPR\/(\d+\.\d+)|$/)[1]); const VIVALDI = Boolean(chrome.app) && navigator.userAgent.includes('Vivaldi'); let FIREFOX = !chrome.app && parseFloat(navigator.userAgent.match(/\bFirefox\/(\d+\.\d+)|$/)[1]); @@ -81,7 +81,7 @@ const URLS = { extractUsoArchiveId: url => url && url.startsWith(URLS.usoArchiveRaw) && - parseInt(url.match(/\/(\d+)\.user\.css|$/)[1]), + Number(url.match(/\/(\d+)\.user\.css|$/)[1]), extractUsoArchiveInstallUrl: url => { const id = URLS.extractUsoArchiveId(url); return id ? `${URLS.usoArchive}?style=${id}` : ''; diff --git a/popup/search.js b/popup/search.js index 820084f5..cac23f0d 100644 --- a/popup/search.js +++ b/popup/search.js @@ -517,7 +517,7 @@ } function calcUsoId({md5Url: m, updateUrl}) { - return parseInt(m && m.match(/\d+|$/)[0]) || + return Number(m && m.match(/\d+|$/)[0]) || URLS.extractUsoArchiveId(updateUrl); } From b8f6f5db8d159fd808db7126eb3d4dd0f24b352d Mon Sep 17 00:00:00 2001 From: tophf Date: Sat, 27 Feb 2021 20:42:49 +0300 Subject: [PATCH 160/291] switch from dummy links to dummy buttons (#1192) The reason is that dummy links like cause the built-in tooltip pop up on hover which is just useless noise --- edit.html | 54 +++++++++++++++++++------------------- edit/edit.css | 2 +- edit/moz-section-widget.js | 2 +- edit/regexp-tester.js | 16 ++++------- global.css | 24 ++++++++++++----- js/dlg/config-dialog.js | 7 +++-- js/dom.js | 8 ------ manage.html | 43 +++++++++++++++--------------- manage/updater-ui.js | 2 +- options.html | 33 ++++++++++------------- popup.html | 14 +++++----- popup/events.js | 10 ++----- popup/popup.js | 10 +++---- 13 files changed, 104 insertions(+), 121 deletions(-) diff --git a/edit.html b/edit.html index e7a2cf07..5279bc91 100644 --- a/edit.html +++ b/edit.html @@ -86,21 +86,21 @@
    @@ -113,9 +113,9 @@ @@ -136,16 +136,16 @@
    @@ -257,12 +257,12 @@
    @@ -289,10 +289,10 @@
    - - +
    @@ -342,9 +342,9 @@ - +
    - +
    @@ -396,9 +396,9 @@
    - +
    @@ -410,9 +410,9 @@

    : - +

    diff --git a/edit/edit.css b/edit/edit.css index aee7065b..55f04eea 100644 --- a/edit/edit.css +++ b/edit/edit.css @@ -735,7 +735,7 @@ body:not(.find-open) [data-match-highlight-count="1"] .CodeMirror-selection-high #help-popup .rules p { margin: .25em 0; } -#help-popup button { +#help-popup .buttons button { margin-right: 3px; } diff --git a/edit/moz-section-widget.js b/edit/moz-section-widget.js index e1f79a12..d53d4257 100644 --- a/edit/moz-section-widget.js +++ b/edit/moz-section-widget.js @@ -202,7 +202,7 @@ function MozSectionWidget(cm, finder = MozSectionFinder(cm)) { color: ${fore}; } ${C_CONTAINER} input, - ${C_CONTAINER} button, + ${C_CONTAINER} button:not(.fake), ${C_CONTAINER} select { background: rgba(255, 255, 255, ${ Math.max(MIN_LUMA, Math.pow(Math.max(0, color.gutter.bgLuma - MIN_LUMA * 2), 2)).toFixed(2) diff --git a/edit/regexp-tester.js b/edit/regexp-tester.js index 621eb724..328e2be8 100644 --- a/edit/regexp-tester.js +++ b/edit/regexp-tester.js @@ -96,12 +96,12 @@ const regexpTester = (() => { : GET_FAVICON_URL + new URL(url).hostname; const icon = $create('img', {src: faviconUrl}); if (match.text.length === url.length) { - full.push($create('a', {href: '#'}, [ + full.push($create('button.fake', [ icon, url, ])); } else { - partial.push($create('a', {href: '#'}, [ + partial.push($create('button.fake', [ icon, url.substr(0, match.pos), $create('mark', match.text), @@ -154,24 +154,18 @@ const regexpTester = (() => { .split(/(\\+)/) .map(s => (s.startsWith('\\') ? $create('code', s) : s))); report.appendChild(note); - adjustNote(report, note); + report.style.paddingBottom = note.offsetHeight + 'px'; }, }; - function adjustNote(report, note) { - report.style.paddingBottom = note.offsetHeight + 'px'; - } - function onClick(event) { - const a = event.target.closest('a'); + const a = event.target.closest('a, button'); if (a) { event.preventDefault(); openURL({ - url: a.href && a.getAttribute('href') !== '#' && a.href || a.textContent, + url: a.href || a.textContent, currentWindow: null, }); - } else if (event.target.closest('details')) { - setTimeout(adjustNote); } } diff --git a/global.css b/global.css index 77489a74..46999524 100644 --- a/global.css +++ b/global.css @@ -15,7 +15,7 @@ body:lang(zh-HK) { font-family: Arial, 'Microsoft JhengHei UI', 'Microsoft JhengHei', system-ui, sans-serif; } -button { +button:not(.fake) { -webkit-appearance: none; -moz-appearance: none; user-select: none; @@ -35,12 +35,12 @@ button { transition: background-color .25s, border-color .25s; } -button:not(:disabled):hover { +button:not(.fake):not(:disabled):hover { background-color: hsl(0, 0%, 95%); border-color: hsl(0, 0%, 52%); } -button:active { +button:not(.fake):active { background-color: hsl(0, 0%, 95%); border-color: hsl(0, 0%, 52%); background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAeCAYAAADtlXTHAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH4QwJARIWJNZvuQAAAB1pVFh0Q29tbWVudAAAAAAAQ3JlYXRlZCB3aXRoIEdJTVBkLmUHAAAAMElEQVQI12NoaGgIZmJgYPjLxMDA8I+JgYHhP5z1Dy7xH5X7jxQCzWQ0A9DEILYBABm5HtJk2jPHAAAAAElFTkSuQmCC'); @@ -48,8 +48,20 @@ button:active { background-size: 100% 100%; } +.fake { /* must be a single simple selector so its specificity loses to anything declared afterwards */ + all: unset; + cursor: pointer; + box-sizing: border-box; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.fake[hidden] { + display: none; +} + /* For some odd reason these hovers appear lighter than all other button hovers in every browser */ -#message-box-buttons button:not(:disabled):hover { +#message-box-buttons button:not(.fake):not(:disabled):hover { background-color: hsl(0, 0%, 90%); border-color: hsl(0, 0%, 50%); } @@ -274,12 +286,12 @@ input[type="number"][data-focused-via-click]:focus { } /* Firefox cannot handle fractions in font-size */ - .firefox button:not(.install) { + .firefox button:not(.fake):not(.install) { line-height: 13px; padding: 3px 7px; } - .firefox.moz-appearance-bug button:not(.install) { + .firefox.moz-appearance-bug button:not(.fake):not(.install) { padding: 2px 4px; } } diff --git a/js/dlg/config-dialog.js b/js/dlg/config-dialog.js index acd5c5e2..2a84a73f 100644 --- a/js/dlg/config-dialog.js +++ b/js/dlg/config-dialog.js @@ -71,7 +71,7 @@ async function configDialog(style) { } function onshow(box) { - $('button', box).insertAdjacentElement('afterend', + $('#message-box-buttons button').after( $create('label#config-autosave-wrapper', { title: t('configOnChangeTooltip'), }, [ @@ -215,7 +215,7 @@ async function configDialog(style) { function buildConfigForm() { let resetter = - $create('a.config-reset-icon', {href: '#'}, [ + $create('button.fake.config-reset-icon', [ $create('SVG:svg.svg-icon', {viewBox: '0 0 20 20'}, [ $create('SVG:title', t('genericResetLabel')), $create('SVG:polygon', { @@ -230,9 +230,8 @@ async function configDialog(style) { case 'color': children = [ $create('.colorview-swatch.config-value', [ - va.input = $create('a.color-swatch', { + va.input = $create('button.fake.color-swatch', { va, - href: '#', onclick: showColorpicker, }), ]), diff --git a/js/dom.js b/js/dom.js index 355335c7..38f44e78 100644 --- a/js/dom.js +++ b/js/dom.js @@ -422,7 +422,6 @@ async function waitForSheet({ } // set language for a) CSS :lang pseudo and b) hyphenation document.documentElement.setAttribute('lang', chrome.i18n.getUILanguage()); - document.on('click', keepAddressOnDummyClick); document.on('wheel', changeFocusedInputOnWheel, {capture: true, passive: false}); Promise.resolve().then(async () => { @@ -488,13 +487,6 @@ async function waitForSheet({ } } - function keepAddressOnDummyClick(e) { - // avoid adding # to the page URL when clicking dummy links - if (e.target.closest('a[href="#"]')) { - e.preventDefault(); - } - } - function keepFocusRingOnTabbing(event) { if (event.key === 'Tab' && !event.ctrlKey && !event.altKey && !event.metaKey) { focusAccessibility.lastFocusedViaClick = false; diff --git a/manage.html b/manage.html index 5ae4ae34..751f7e80 100644 --- a/manage.html +++ b/manage.html @@ -63,18 +63,18 @@

    - - + +

    - ... +
    @@ -93,27 +93,27 @@