Merge branch 'master' of https://github.com/openstyles/stylus into dev-user-css

This commit is contained in:
eight 2017-10-12 16:28:18 +08:00
commit 54076d9f17
22 changed files with 570 additions and 48 deletions

View File

@ -3,6 +3,10 @@
"message": "Всичко", "message": "Всичко",
"description": "Text displayed for styles that apply to all sites" "description": "Text displayed for styles that apply to all sites"
}, },
"linterIssues": {
"message": "Проблеми",
"description": "Label for the CSS linter issues block on the style edit page"
},
"defaultTheme": { "defaultTheme": {
"message": "по подразбиране", "message": "по подразбиране",
"description": "Default CodeMirror CSS theme option on the edit style page" "description": "Default CodeMirror CSS theme option on the edit style page"
@ -220,6 +224,15 @@
"message": "Само местно създадените стилове", "message": "Само местно създадените стилове",
"description": "Checkbox to show only locally created styles i.e. non-updatable" "description": "Checkbox to show only locally created styles i.e. non-updatable"
}, },
"linterIssuesHelp": {
"message": "Проблеми, намерени от $link$ при следните правила:",
"description": "Help popup message for the selected CSS linter issues block on the style edit page",
"placeholders": {
"link": {
"content": "$1"
}
}
},
"searchStyles": { "searchStyles": {
"message": "Търсене на съдържанието", "message": "Търсене на съдържанието",
"description": "Label for the search filter textbox on the Manage styles page" "description": "Label for the search filter textbox on the Manage styles page"

View File

@ -3,6 +3,10 @@
"message": "Vše", "message": "Vše",
"description": "Text displayed for styles that apply to all sites" "description": "Text displayed for styles that apply to all sites"
}, },
"linterIssues": {
"message": "Problémy",
"description": "Label for the CSS linter issues block on the style edit page"
},
"defaultTheme": { "defaultTheme": {
"message": "výchozí", "message": "výchozí",
"description": "Default CodeMirror CSS theme option on the edit style page" "description": "Default CodeMirror CSS theme option on the edit style page"
@ -27,6 +31,10 @@
"message": "Exportovat", "message": "Exportovat",
"description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)" "description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)"
}, },
"linterJSONError": {
"message": "Neplatný JSON formát",
"description": "Setting linter config with invalid JSON"
},
"optionsBadgeNormal": { "optionsBadgeNormal": {
"message": "Barva pozadí", "message": "Barva pozadí",
"description": "" "description": ""
@ -135,6 +143,10 @@
"message": "Povolen", "message": "Povolen",
"description": "Label for the enabled state of styles" "description": "Label for the enabled state of styles"
}, },
"linterConfigTooltip": {
"message": "Upravit nastavení tohoto linteru",
"description": "Icon tooltip to indicate that it opens a popup with the selected linter configuration"
},
"styleToMozillaFormatHelp": { "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", "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" "description": "Help info for the Mozilla format header section that converts the code to/from Mozilla format"
@ -151,6 +163,10 @@
"message": "Uložit", "message": "Uložit",
"description": "Label for save button for style editing" "description": "Label for save button for style editing"
}, },
"genericSavedMessage": {
"message": "Uloženo",
"description": "Used in various parts of the UI to indicate that something was saved"
},
"confirmDelete": { "confirmDelete": {
"message": "Smazat", "message": "Smazat",
"description": "" "description": ""
@ -216,6 +232,15 @@
"message": "Pouze lokální styly", "message": "Pouze lokální styly",
"description": "Checkbox to show only locally created styles i.e. non-updatable" "description": "Checkbox to show only locally created styles i.e. non-updatable"
}, },
"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"
}
}
},
"searchStyles": { "searchStyles": {
"message": "Prohledat obsah", "message": "Prohledat obsah",
"description": "Label for the search filter textbox on the Manage styles page" "description": "Label for the search filter textbox on the Manage styles page"
@ -330,6 +355,10 @@
} }
} }
}, },
"dysfunctional": {
"message": "Stylus nemůže fungovat v soukromém okně, protože Firefox znemožňuje přímou komunikaci s interní kontextovou stránkou rozšíření na pozadí.",
"description": "Displayed in Firefox when its settings make Stylus dysfunctional"
},
"styleSectionsTitle": { "styleSectionsTitle": {
"message": "Sekce", "message": "Sekce",
"description": "Title for the style sections section" "description": "Title for the style sections section"
@ -338,6 +367,10 @@
"message": "neplatné přeskočeny", "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" "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"
}, },
"genericResetLabel": {
"message": "Resetovat",
"description": "Used in various parts of UI to indicate that something may be reset to its original state"
},
"editStyleTitle": { "editStyleTitle": {
"message": "Upravit styl $stylename$", "message": "Upravit styl $stylename$",
"description": "Title of the page for editing styles", "description": "Title of the page for editing styles",
@ -456,6 +489,18 @@
"message": "Vyhledávat a instalovat všechny aktualizace", "message": "Vyhledávat a instalovat všechny aktualizace",
"description": "" "description": ""
}, },
"filteredStyles": {
"message": "zobrazeno $numShown$ z $numTotal$",
"description": "TL note - make this message short",
"placeholders": {
"numTotal": {
"content": "$2"
},
"numShown": {
"content": "$1"
}
}
},
"importReportTitle": { "importReportTitle": {
"message": "Import stylů dokončen", "message": "Import stylů dokončen",
"description": "Title of the report shown after importing styles" "description": "Title of the report shown after importing styles"
@ -472,6 +517,10 @@
"message": "Tento styl obsahuje částečnou regexp shodu, která je však v rozporu s <a href='https://developer.mozilla.org/docs/Web/CSS/@document'>CSS4 @document specifikací</a>, 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).", "message": "Tento styl obsahuje částečnou regexp shodu, která je však v rozporu s <a href='https://developer.mozilla.org/docs/Web/CSS/@document'>CSS4 @document specifikací</a>, 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": "" "description": ""
}, },
"linterCSSLintSettings": {
"message": "(Nastavení pravidel: 0 = vypnuto; 1 = upozornění; 2 = chyba)",
"description": "CSSLint rule config values"
},
"styleBeautifyIndentConditional": { "styleBeautifyIndentConditional": {
"message": "Odsadit @media, @supports", "message": "Odsadit @media, @supports",
"description": "CSS-beautifier option" "description": "CSS-beautifier option"
@ -484,6 +533,10 @@
"message": "Odstranit sekci", "message": "Odstranit sekci",
"description": "Label for the button to remove a section" "description": "Label for the button to remove a section"
}, },
"searchStylesTooltip": {
"message": "Pro zobrazení stylů pro konkrétní URL adresu použijte předponu „url:“\nPříklad: url:https://github.com/openstyles/stylus",
"description": "Label for the search filter textbox on the Manage styles page"
},
"disableAllStyles": { "disableAllStyles": {
"message": "Vypnout všechny styly", "message": "Vypnout všechny styly",
"description": "Label for the checkbox that turns all enabled styles off." "description": "Label for the checkbox that turns all enabled styles off."
@ -504,6 +557,10 @@
"message": "Aktalizace dokončena.", "message": "Aktalizace dokončena.",
"description": "Text that displays when an update completed" "description": "Text that displays when an update completed"
}, },
"dysfunctionalBackgroundConnection": {
"message": "Známá chyba v této verzi Firefoxu znemožňuje práci rozšíření. Chyba: chrome.extension.getBackgroundPage() nevrací platný výsledek",
"description": "Displayed in style manager when unable to connect to the background page"
},
"checkingForUpdate": { "checkingForUpdate": {
"message": "Kontrola…", "message": "Kontrola…",
"description": "Text to display when checking a style for an update" "description": "Text to display when checking a style for an update"
@ -516,6 +573,10 @@
"message": "Počet položek v části „Platí pro“", "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" "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page"
}, },
"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."
},
"manageFaviconsHelp": { "manageFaviconsHelp": {
"message": "Stylus používá externí službu https://www.google.com/s2/favicons", "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" "description": "Label for the checkbox that toggles applies-to favicons in the new UI on manage page"
@ -524,6 +585,10 @@
"message": "Tento styl byl upraven lokálně.", "message": "Tento styl byl upraven lokálně.",
"description": "Text that displays when an update check skipped updating the style to avoid losing local modifications" "description": "Text that displays when an update check skipped updating the style to avoid losing local modifications"
}, },
"linterRulesLink": {
"message": "Zobrazit celý seznam pravidel",
"description": "Stylelint or CSSLint rules label added immediately before a link"
},
"optionsResetButton": { "optionsResetButton": {
"message": "Obnovit nastavení", "message": "Obnovit nastavení",
"description": "" "description": ""
@ -536,6 +601,15 @@
"message": "Přidat tlačítko Smazat do kontextové nabídky v editoru", "message": "Přidat tlačítko Smazat do kontextové nabídky v editoru",
"description": "" "description": ""
}, },
"linterConfigPopupTitle": {
"message": "Nastavení $linter$ pravidel",
"description": "Stylelint or CSSLint popup header",
"placeholders": {
"linter": {
"content": "$1"
}
}
},
"importReportLegendUpdatedBoth": { "importReportLegendUpdatedBoth": {
"message": "meta informace a kód aktualizován", "message": "meta informace a kód aktualizován",
"description": "Text after the number of styles updated entirely in the report shown after importing styles" "description": "Text after the number of styles updated entirely in the report shown after importing styles"
@ -564,6 +638,10 @@
"message": "Automatické dokončování během psaní", "message": "Automatické dokončování během psaní",
"description": "Label for the checkbox in the style editor." "description": "Label for the checkbox in the style editor."
}, },
"manageOnlyDisabled": {
"message": "Pouze vypnuté styly",
"description": "Checkbox to show only disabled styles"
},
"stylusUnavailableForURLdetails": { "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).", "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" "description": "Sub-note in the toolbar pop-up when on a URL Stylus can't affect"
@ -596,6 +674,10 @@
"message": "Přepsat styl", "message": "Přepsat styl",
"description": "Label for the button to import and overwrite current style" "description": "Label for the button to import and overwrite current style"
}, },
"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."
},
"dbError": { "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?", "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" "description": "Prompt when a DB error is encountered"
@ -624,6 +706,10 @@
"message": "Neplatné regexp přeskočeny", "message": "Neplatné regexp přeskočeny",
"description": "RegExp test report: label for the invalid expressions" "description": "RegExp test report: label for the invalid expressions"
}, },
"manageOnlyExternal": {
"message": "Pouze externí styly",
"description": "Checkbox to show only externally installed styles i.e. updatable"
},
"replaceAll": { "replaceAll": {
"message": "Nahradit vše", "message": "Nahradit vše",
"description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey" "description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey"
@ -664,6 +750,10 @@
"message": "Šířka vyskakovacího okna [px]", "message": "Šířka vyskakovacího okna [px]",
"description": "" "description": ""
}, },
"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"
},
"confirmNo": { "confirmNo": {
"message": "Ne", "message": "Ne",
"description": "'No' button in a confirm dialog" "description": "'No' button in a confirm dialog"
@ -732,6 +822,10 @@
"message": "Schéma", "message": "Schéma",
"description": "Label for the style editor's CSS theme." "description": "Label for the style editor's CSS theme."
}, },
"popupOpenEditInWindow": {
"message": "Otevírat editor v novém okně",
"description": "Label for the checkbox controlling 'edit' action behavior in the popup."
},
"backupMessage": { "backupMessage": {
"message": "Vyberte soubor nebo ho přetáhněte na tuto stránku.", "message": "Vyberte soubor nebo ho přetáhněte na tuto stránku.",
"description": "Message for backup" "description": "Message for backup"
@ -744,6 +838,10 @@
"message": "Napište název příkazu", "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" "description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short"
}, },
"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"
},
"description": { "description": {
"message": "Změňte vzhled webů pomocí správce uživatelských stylů. Stylus umožňuje snadnou instalaci vzhledů a modifikací pro spoustu webů.", "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" "description": "Extension description"

View File

@ -68,7 +68,7 @@
"description": "Option to make the style apply to the entered string as a domain" "description": "Option to make the style apply to the entered string as a domain"
}, },
"checkForUpdate": { "checkForUpdate": {
"message": "Nach Aktualisierungen suchen", "message": "Nach Aktualisierung suchen",
"description": "Label for the button to check a single style for an update" "description": "Label for the button to check a single style for an update"
}, },
"styleNotAppliedRegexpProblemTooltip": { "styleNotAppliedRegexpProblemTooltip": {
@ -92,7 +92,7 @@
"description": "" "description": ""
}, },
"updateAllCheckSucceededNoUpdate": { "updateAllCheckSucceededNoUpdate": {
"message": "Keine Aktualisierung gefunden", "message": "Keine Aktualisierung gefunden.",
"description": "Text that displays when an update all check completed and no updates are available" "description": "Text that displays when an update all check completed and no updates are available"
}, },
"importReportLegendAdded": { "importReportLegendAdded": {
@ -385,7 +385,7 @@
"description": "Label after the search input field in the editor shown on Ctrl-F" "description": "Label after the search input field in the editor shown on Ctrl-F"
}, },
"updateCheckManualUpdateHint": { "updateCheckManualUpdateHint": {
"message": "Eine erzwungene Aktualisierung wird die Lokalen Änderungen überschreiben.", "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" "description": "Additional text displayed when an update check skipped updating the style to avoid losing local modifications"
}, },
"toggleStyle": { "toggleStyle": {
@ -478,7 +478,7 @@
"description": "" "description": ""
}, },
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ gefiltert von $numTotal$ gesamt", "message": "$numShown$ von $numTotal$ gesamt",
"description": "TL note - make this message short", "description": "TL note - make this message short",
"placeholders": { "placeholders": {
"numTotal": { "numTotal": {
@ -522,7 +522,7 @@
"description": "Label for the search filter textbox on the Manage styles page" "description": "Label for the search filter textbox on the Manage styles page"
}, },
"disableAllStyles": { "disableAllStyles": {
"message": "Schalte alle Stile aus", "message": "Alle Styles deaktivieren",
"description": "Label for the checkbox that turns all enabled styles off." "description": "Label for the checkbox that turns all enabled styles off."
}, },
"updateCheckSkippedMaybeLocallyEdited": { "updateCheckSkippedMaybeLocallyEdited": {
@ -558,7 +558,7 @@
"description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page" "description": "Label for the numeric input box to limit max number of applies-to targets in the new UI on manage page"
}, },
"popupManageTooltip": { "popupManageTooltip": {
"message": "Shift+Klick oder Rechtsklick öffnen den Stylemanager mit Filter für gültige Styles der aktuellen Seite", "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." "description": "Tooltip for the 'Manage' button in the popup."
}, },
"manageFaviconsHelp": { "manageFaviconsHelp": {
@ -631,7 +631,7 @@
"description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text" "description": "Style editor's 'highglight' drop-down list option: highlight the occurrences of currently selected text"
}, },
"updateAllCheckSucceededSomeEdited": { "updateAllCheckSucceededSomeEdited": {
"message": "Einige Styles wurden nicht aktualisiert, um dem Verlust von lokalen Bearbeitungen vorzubeugen. Die Aktualisierungen können entweder durch einzelne manuelle Überprüfung oder durch eine erneute Ausführung der Aktualisierung für alle Styles erzwungen werden (Lokale Bearbeitungen werden dann überschrieben).", "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 Aktualisierung 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" "description": "Text that displays when an update all check completed and no updates are available"
}, },
"stylusUnavailableForURL": { "stylusUnavailableForURL": {
@ -707,7 +707,7 @@
"description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable" "description": "Tooltip for the checkbox to show only locally created styles i.e. non-updatable"
}, },
"checkAllUpdates": { "checkAllUpdates": {
"message": "Nach Aktualisierungen für alle Styles suchen", "message": "Nach Aktualisierungen suchen",
"description": "Label for the button to check all styles for updates" "description": "Label for the button to check all styles for updates"
}, },
"openOptionsManage": { "openOptionsManage": {

View File

@ -16,7 +16,7 @@
"description": "RegExp test report: title of the report" "description": "RegExp test report: title of the report"
}, },
"bckpInstStyles": { "bckpInstStyles": {
"message": "Ekspordi stiile", "message": "Ekspordi stiilid",
"description": "" "description": ""
}, },
"optionsUpdateInterval": { "optionsUpdateInterval": {
@ -176,7 +176,7 @@
"description": "" "description": ""
}, },
"retrieveBckp": { "retrieveBckp": {
"message": "Impordi stiile", "message": "Impordi stiilid",
"description": "" "description": ""
}, },
"confirmStop": { "confirmStop": {

284
_locales/hu/messages.json Normal file
View File

@ -0,0 +1,284 @@
{
"appliesToEverything": {
"message": "Minden",
"description": "Text displayed for styles that apply to all sites"
},
"defaultTheme": {
"message": "alapértelmezett",
"description": "Default CodeMirror CSS theme option on the edit style page"
},
"exportLabel": {
"message": "Exportálás",
"description": "Label for the button to export a style ('edit' page) or all styles ('manage' page)"
},
"cm_tabSize": {
"message": "Tabulátorméret",
"description": "Label for the text box controlling tab size option for the style editor."
},
"enableStyleLabel": {
"message": "Engedélyezés",
"description": "Label for the button to enable a style"
},
"appliesDomainOption": {
"message": "URL-ek a doménon",
"description": "Option to make the style apply to the entered string as a domain"
},
"checkForUpdate": {
"message": "Frissítések ellenőrzése",
"description": "Label for the button to check a single style for an update"
},
"importAppendLabel": {
"message": "Hozzáadás stílushoz",
"description": "Label for the button to import a style and append to the existing sections"
},
"helpAlt": {
"message": "Segítség",
"description": "Alternate text for help buttons"
},
"search": {
"message": "Keresés",
"description": "Label before the search input field in the editor shown on Ctrl-F"
},
"confirmYes": {
"message": "Igen",
"description": "'Yes' button in a confirm dialog"
},
"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"
},
"manageHeading": {
"message": "Telepített stílusok",
"description": "Heading for the manage page"
},
"sectionAdd": {
"message": "Egy újabb szekció hozzáadása",
"description": "Label for the button to add a section"
},
"confirmStop": {
"message": "Állj",
"description": "'Stop' button in a confirm dialog"
},
"appliesAdd": {
"message": "Hozzáadás",
"description": "Label for the button to add an 'applies' entry"
},
"appliesRegexpOption": {
"message": "Reguláris kifejezésekre (regexp) illeszkedő URL-ek",
"description": "Option to make the style apply to the entered string as a regular expression"
},
"manageText": {
"message": "<a href='https://userstyles.org'>Szerezz be stílusokat a userstyles.org-on</a> | <a href='http://add0n.com/stylus.html'>Kérj segítséget</a>",
"description": "Help text on the manage page"
},
"searchStyles": {
"message": "Tartalom keresése",
"description": "Label for the search filter textbox on the Manage styles page"
},
"disableStyleLabel": {
"message": "Letiltás",
"description": "Label for the button to disable a style"
},
"prefShowBadge": {
"message": "A jelenlegi oldalon aktív stílusok száma",
"description": "Label for the checkbox controlling toolbar badge text."
},
"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."
},
"cm_lineWrapping": {
"message": "Automatikus sortörés",
"description": "Label for the checkbox controlling word wrap option for the style editor."
},
"importLabel": {
"message": "Importálás",
"description": "Label for the button to import a style ('edit' page) or all styles ('manage' page)"
},
"manageFilters": {
"message": "Szűrők",
"description": "Label for filters container"
},
"applyAllUpdates": {
"message": "Minden módosítás alkalmazása",
"description": "Label for the button to apply all detected updates"
},
"deleteStyleConfirm": {
"message": "Biztos, hogy törölni akarod ezt a stílust?",
"description": "Confirmation before deleting a style"
},
"optionsHeading": {
"message": "Beállítások",
"description": "Heading for options section on manage page."
},
"appliesDisplay": {
"message": "A következőre érvényesül:$applies$",
"description": "Text on the manage screen to describe what the style applies to",
"placeholders": {
"applies": {
"content": "$1"
}
}
},
"editStyleTitle": {
"message": "A(z) $stylename$ stílus szerkesztése",
"description": "Title of the page for editing styles",
"placeholders": {
"stylename": {
"content": "$1"
}
}
},
"appliesUrlPrefixOption": {
"message": "URL-ek adott kezdettel",
"description": "Option to make the style apply to the entered string as a URL prefix"
},
"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"
},
"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"
},
"popupStylesFirst": {
"message": "Parancsok előtti stílusok",
"description": "Label for the checkbox controlling section order in the popup."
},
"sectionHelp": {
"message": "A szekciók segítenek egy stílus kódrészleteit különböző URL-ekre alkalmazni. Például egyetlen stílus megváltoztathatja egy oldal honlapját egy bizonyos módon, míg az oldal többi részét máshogyan.",
"description": "Help text for sections"
},
"noStylesForSite": {
"message": "Nincs telepítve stílus ehhez az oldalhoz.",
"description": "Text displayed when no styles are installed for the current site"
},
"appliesDisplayTruncatedSuffix": {
"message": "és ennél is több",
"description": "Text added to appliesDisplay when there are more sites for the style than are displayed"
},
"appliesRemove": {
"message": "Eltávolítás",
"description": "Label for the button to remove an 'applies' entry"
},
"replace": {
"message": "Csere",
"description": "Label before the replace input field in the editor shown on Ctrl-H"
},
"appliesLabel": {
"message": "Amire érvényesül",
"description": "Label for 'applies to' fields on the edit/add screen"
},
"openManage": {
"message": "Kezelés",
"description": "Link to open the manage page."
},
"appliesSpecify": {
"message": "Szűkítés",
"description": "Label for the button to make a style apply only to specific sites"
},
"installUpdate": {
"message": "Frissítés telepítése",
"description": "Label for the button to install an update for a single style"
},
"disableAllStyles": {
"message": "Az összes stílus kikapcsolása",
"description": "Label for the checkbox that turns all enabled styles off."
},
"checkingForUpdate": {
"message": "Ellenőrzés...",
"description": "Text to display when checking a style for an update"
},
"sectionCode": {
"message": "Kód",
"description": "Label for the code for a section"
},
"cm_smartIndent": {
"message": "Intelligens behúzás használata",
"description": "Label for the checkbox controlling smart indentation option for the style editor."
},
"appliesHelp": {
"message": "Használd az \"A következőre érvényesül\" részt, hogy korlátozd, milyen URL-ekre vonatkozzon az itt lévő kód!",
"description": "Help text for 'applies to' section"
},
"editStyleHeading": {
"message": "Stílus szerkesztése",
"description": "Title of the page for editing styles"
},
"addStyleTitle": {
"message": "Stílus hozzáadása",
"description": "Title of the page for adding styles"
},
"importReplaceLabel": {
"message": "Stílus felülírása",
"description": "Label for the button to import and overwrite current style"
},
"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"
},
"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"
},
"helpKeyMapHotkey": {
"message": "Gyorsgomb",
"description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short"
},
"replaceAll": {
"message": "Az összes cseréje",
"description": "Label before the replace input field in the editor shown on 'replaceAll' hotkey"
},
"editGotoLine": {
"message": "Sorra (vagy sor:oszlopra) ugrás",
"description": "Go to line or line:column on Ctrl-G in style code editor"
},
"checkAllUpdates": {
"message": "Az összes stílus frissítésének ellenőrzése",
"description": "Label for the button to check all styles for updates"
},
"confirmNo": {
"message": "Nem",
"description": "'No' button in a confirm dialog"
},
"cm_keyMap": {
"message": "Billentyűműveletek",
"description": "Label for the drop-down list controlling the keymap 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."
},
"replaceWith": {
"message": "Csere a következővel",
"description": "Label before the replace-with input field in the editor shown on Ctrl-H etc."
},
"deleteStyleLabel": {
"message": "Törlés",
"description": "Label for the button to delete a style"
},
"addStyleLabel": {
"message": "Új stílus írása",
"description": "Label for the button to go to the add style page"
},
"manageOnlyEnabled": {
"message": "Csak a telepített stílusok",
"description": "Checkbox to show only enabled styles"
},
"editStyleLabel": {
"message": "Szerkesztés",
"description": "Label for the button to go to the edit style page"
},
"cm_theme": {
"message": "Téma",
"description": "Label for the style editor's CSS theme."
},
"helpKeyMapCommand": {
"message": "Írj be egy parancsot",
"description": "Placeholder text of inputbox in keymap help popup on the edit style page. Must be very short"
},
"description": {
"message": "Tervezd újra a webet a Stylus-szal, ami egy stíluskezelő. 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"
}
}

View File

@ -229,7 +229,7 @@
"description": "Help text on the manage page" "description": "Help text on the manage page"
}, },
"manageOnlyLocal": { "manageOnlyLocal": {
"message": "ローカル作成されたスタイルのみ", "message": "ローカル作成スタイルのみ",
"description": "Checkbox to show only locally created styles i.e. non-updatable" "description": "Checkbox to show only locally created styles i.e. non-updatable"
}, },
"linterIssuesHelp": { "linterIssuesHelp": {
@ -699,7 +699,7 @@
"description": "RegExp test report: label for the invalid expressions" "description": "RegExp test report: label for the invalid expressions"
}, },
"manageOnlyExternal": { "manageOnlyExternal": {
"message": "外部から取得したスタイルのみ", "message": "外部取得スタイルのみ",
"description": "Checkbox to show only externally installed styles i.e. updatable" "description": "Checkbox to show only externally installed styles i.e. updatable"
}, },
"replaceAll": { "replaceAll": {

View File

@ -3,6 +3,10 @@
"message": "Alles", "message": "Alles",
"description": "Text displayed for styles that apply to all sites" "description": "Text displayed for styles that apply to all sites"
}, },
"linterIssues": {
"message": "Problemen",
"description": "Label for the CSS linter issues block on the style edit page"
},
"defaultTheme": { "defaultTheme": {
"message": "standaard", "message": "standaard",
"description": "Default CodeMirror CSS theme option on the edit style page" "description": "Default CodeMirror CSS theme option on the edit style page"
@ -112,6 +116,15 @@
"message": "<a href='https://userstyles.org'>Verkrijg stijlen op userstyles.org</a> | <a href='http://add0n.com/stylus.html'>Verkrijg hulp</a>", "message": "<a href='https://userstyles.org'>Verkrijg stijlen op userstyles.org</a> | <a href='http://add0n.com/stylus.html'>Verkrijg hulp</a>",
"description": "Help text on the manage page" "description": "Help text on the manage 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"
}
}
},
"searchStyles": { "searchStyles": {
"message": "Inhoud doorzoeken", "message": "Inhoud doorzoeken",
"description": "Label for the search filter textbox on the Manage styles page" "description": "Label for the search filter textbox on the Manage styles page"

View File

@ -3,6 +3,10 @@
"message": "Све", "message": "Све",
"description": "Text displayed for styles that apply to all sites" "description": "Text displayed for styles that apply to all sites"
}, },
"linterIssues": {
"message": "Проблеми",
"description": "Label for the CSS linter issues block on the style edit page"
},
"defaultTheme": { "defaultTheme": {
"message": "подразумевано", "message": "подразумевано",
"description": "Default CodeMirror CSS theme option on the edit style page" "description": "Default CodeMirror CSS theme option on the edit style page"
@ -112,6 +116,15 @@
"message": "<a href='https://userstyles.org'>Преузмите стилове са userstyles.org</a> | <a href='http://add0n.com/stylus.html'>Помоћ</a>", "message": "<a href='https://userstyles.org'>Преузмите стилове са userstyles.org</a> | <a href='http://add0n.com/stylus.html'>Помоћ</a>",
"description": "Help text on the manage page" "description": "Help text on the manage page"
}, },
"linterIssuesHelp": {
"message": "Проблем пронађен од стране $link$:",
"description": "Help popup message for the selected CSS linter issues block on the style edit page",
"placeholders": {
"link": {
"content": "$1"
}
}
},
"searchStyles": { "searchStyles": {
"message": "Претражи садржај", "message": "Претражи садржај",
"description": "Label for the search filter textbox on the Manage styles page" "description": "Label for the search filter textbox on the Manage styles page"

View File

@ -3,6 +3,10 @@
"message": "全部", "message": "全部",
"description": "Text displayed for styles that apply to all sites" "description": "Text displayed for styles that apply to all sites"
}, },
"linterIssues": {
"message": "问题",
"description": "Label for the CSS linter issues block on the style edit page"
},
"defaultTheme": { "defaultTheme": {
"message": "默认", "message": "默认",
"description": "Default CodeMirror CSS theme option on the edit style page" "description": "Default CodeMirror CSS theme option on the edit style page"
@ -220,6 +224,15 @@
"message": "只显示在本地创建的样式", "message": "只显示在本地创建的样式",
"description": "Checkbox to show only locally created styles i.e. non-updatable" "description": "Checkbox to show only locally created styles i.e. non-updatable"
}, },
"linterIssuesHelp": {
"message": "$link$ 在已启用的这些规则中找到问题:",
"description": "Help popup message for the selected CSS linter issues block on the style edit page",
"placeholders": {
"link": {
"content": "$1"
}
}
},
"searchStyles": { "searchStyles": {
"message": "搜索内容", "message": "搜索内容",
"description": "Label for the search filter textbox on the Manage styles page" "description": "Label for the search filter textbox on the Manage styles page"

View File

@ -24,7 +24,8 @@ var cachedStyles = {
urlDomains: new Map(), // getDomain() results for 100 last checked urls urlDomains: new Map(), // getDomain() results for 100 last checked urls
needTransitionPatch: new Map(), // FF bug workaround needTransitionPatch: new Map(), // FF bug workaround
mutex: { mutex: {
inProgress: false, // while getStyles() is reading IndexedDB all subsequent calls inProgress: true, // while getStyles() is reading IndexedDB all subsequent calls
// (initially 'true' to prevent rogue getStyles before dbExec.initialized)
onDone: [], // to getStyles() are queued and resolved when the first one finishes onDone: [], // to getStyles() are queued and resolved when the first one finishes
}, },
}; };
@ -93,6 +94,7 @@ dbExec.initialized = false;
// (FF may block localStorage depending on its privacy options) // (FF may block localStorage depending on its privacy options)
do { do {
const done = () => { const done = () => {
cachedStyles.mutex.inProgress = false;
getStyles().then(() => { getStyles().then(() => {
dbExec.initialized = true; dbExec.initialized = true;
window.dispatchEvent(new Event('storageReady')); window.dispatchEvent(new Event('storageReady'));
@ -763,19 +765,18 @@ function handleCssTransitionBug({tabId, frameId, url, styles}) {
} }
function patchFirefox() { function patchFirefox() {
browser.tabs.insertCSS(tabId, { const options = {
frameId, frameId,
code: CSS_TRANSITION_SUPPRESSOR, code: CSS_TRANSITION_SUPPRESSOR,
cssOrigin: 'user', matchAboutBlank: true,
};
if (FIREFOX >= 53) {
options.cssOrigin = 'user';
}
browser.tabs.insertCSS(tabId, Object.assign(options, {
runAt: 'document_start', runAt: 'document_start',
matchAboutBlank: true, })).then(() => setTimeout(() => {
}).then(() => setTimeout(() => { browser.tabs.removeCSS(tabId, options).catch(ignoreChromeError);
browser.tabs.removeCSS(tabId, {
frameId,
code: CSS_TRANSITION_SUPPRESSOR,
cssOrigin: 'user',
matchAboutBlank: true,
}).catch(ignoreChromeError);
})).catch(ignoreChromeError); })).catch(ignoreChromeError);
} }

View File

@ -249,10 +249,11 @@ function applySections(styleId, code) {
} }
Object.assign(el, { Object.assign(el, {
id: ID_PREFIX + styleId, id: ID_PREFIX + styleId,
className: 'stylus',
type: 'text/css', type: 'text/css',
textContent: code, textContent: code,
}); });
// SVG className is not a string, but an instance of SVGAnimatedString
el.classList.add('stylus');
addStyleElement(el); addStyleElement(el);
styleElements.set(el.id, el); styleElements.set(el.id, el);
disabledElements.delete(Number(styleId)); disabledElements.delete(Number(styleId));

View File

@ -114,7 +114,7 @@ new MutationObserver((mutations, observer) => {
if (document.body) { if (document.body) {
observer.disconnect(); observer.disconnect();
// TODO: remove the following statement when USO pagination title is fixed // TODO: remove the following statement when USO pagination title is fixed
document.title = document.title.replace(/^\d+&category=/, ''); document.title = document.title.replace(/^(\d+)&\w+=/, '#$1: ');
chrome.runtime.sendMessage({ chrome.runtime.sendMessage({
method: 'getStyles', method: 'getStyles',
url: getMeta('stylish-id-url') || location.href url: getMeta('stylish-id-url') || location.href

View File

@ -134,6 +134,12 @@ h2 .svg-icon, label .svg-icon {
#options .option > * { #options .option > * {
padding-right: 0.25rem; padding-right: 0.25rem;
} }
.set-option-progress {
position: absolute;
background-color: currentColor;
content: "";
opacity: .15;
}
/* footer */ /* footer */
#footer { #footer {
margin-top: 1em; margin-top: 1em;

View File

@ -178,6 +178,10 @@ function initCodeMirror() {
CM.getOption = o => CodeMirror.defaults[o]; CM.getOption = o => CodeMirror.defaults[o];
CM.setOption = (o, v) => { CM.setOption = (o, v) => {
CodeMirror.defaults[o] = v; CodeMirror.defaults[o] = v;
if (editors.length > 4 && (o === 'theme' || o === 'lineWrapping')) {
throttleSetOption({key: o, value: v, index: 0});
return;
}
editors.forEach(editor => { editors.forEach(editor => {
editor.setOption(o, v); editor.setOption(o, v);
}); });
@ -215,6 +219,83 @@ function initCodeMirror() {
setupLivePrefs(); setupLivePrefs();
hotkeyRerouter.setState(true); hotkeyRerouter.setState(true);
const THROTTLE_AFTER_MS = 100;
const THROTTLE_SHOW_PROGRESS_AFTER_MS = 100;
function throttleSetOption({
key,
value,
index,
timeStart = performance.now(),
cmStart = editors.lastActive || editors[0],
editorsCopy = editors.slice(),
progress,
}) {
if (index === 0) {
if (!cmStart) {
return;
}
cmStart.setOption(key, value);
}
const t0 = performance.now();
const total = editorsCopy.length;
while (index < total) {
const cm = editorsCopy[index++];
if (cm === cmStart ||
cm !== editors[index] && !editors.includes(cm)) {
continue;
}
cm.setOption(key, value);
if (performance.now() - t0 > THROTTLE_AFTER_MS) {
break;
}
}
if (index >= total) {
if (progress) {
progress.remove();
}
return;
}
if (!progress &&
index < total / 2 &&
t0 - timeStart > THROTTLE_SHOW_PROGRESS_AFTER_MS) {
let option = $('#editor.' + key);
if (option) {
if (option.type === 'checkbox') {
option = (option.labels || [])[0] || option.nextElementSibling || option;
}
progress = document.body.appendChild($element({
className: 'set-option-progress',
targetElement: option,
}));
}
}
if (progress) {
const optionBounds = progress.targetElement.getBoundingClientRect();
const bounds = {
top: optionBounds.top + window.scrollY + 1,
left: optionBounds.left + window.scrollX + 1,
width: (optionBounds.width - 2) * index / total | 0,
height: optionBounds.height - 2,
};
const style = progress.style;
for (const prop in bounds) {
if (bounds[prop] !== parseFloat(style[prop])) {
style[prop] = bounds[prop] + 'px';
}
}
}
setTimeout(throttleSetOption, 0, {
key,
value,
index,
timeStart,
cmStart,
editorsCopy,
progress,
});
}
} }
function acmeEventListener(event) { function acmeEventListener(event) {
@ -426,12 +507,6 @@ queryTabs({currentWindow: true}).then(tabs => {
saveSizeOnClose = sessionStorageHash('saveSizeOnClose').value[windowId]; saveSizeOnClose = sessionStorageHash('saveSizeOnClose').value[windowId];
} }
} }
chrome.tabs.onRemoved.addListener((tabId, info) => {
sessionStorageHash('manageStylesHistory').unset(tabId);
if (info.windowId === windowId && info.isWindowClosing) {
sessionStorageHash('saveSizeOnClose').unset(windowId);
}
});
}); });
getOwnTab().then(tab => { getOwnTab().then(tab => {

View File

@ -4,8 +4,8 @@
// keep message channel open for sendResponse in chrome.runtime.onMessage listener // keep message channel open for sendResponse in chrome.runtime.onMessage listener
const KEEP_CHANNEL_OPEN = true; const KEEP_CHANNEL_OPEN = true;
const FIREFOX = /Firefox/.test(navigator.userAgent); const FIREFOX = parseFloat(navigator.userAgent.match(/\bFirefox\/(\d+\.\d+)|$/)[1]);
const OPERA = /OPR/.test(navigator.userAgent); const OPERA = parseFloat(navigator.userAgent.match(/\bOPR\/(\d+\.\d+)|$/)[1]);
const URLS = { const URLS = {
ownOrigin: chrome.runtime.getURL(''), ownOrigin: chrome.runtime.getURL(''),
@ -192,8 +192,10 @@ function openURL({url, currentWindow = true}) {
chrome.tabs.update({url}, resolve); chrome.tabs.update({url}, resolve);
} else { } else {
// create a new tab // create a new tab
const openerSupported = !FIREFOX && tab && !chromeInIncognito; const options = {url};
const options = openerSupported ? {url, openerTabId: tab.id} : {url}; if (tab && (!FIREFOX || FIREFOX >= 57) && !chromeInIncognito) {
options.openerTabId = tab.id;
}
chrome.tabs.create(options, resolve); chrome.tabs.create(options, resolve);
} }
}); });

View File

@ -114,7 +114,7 @@ select {
.style-name { .style-name {
margin-top: .25em; margin-top: .25em;
word-break: break-word; overflow-wrap: break-word;
} }
.style-name a, .style-edit-link { .style-name a, .style-edit-link {
@ -127,7 +127,7 @@ select {
} }
.applies-to { .applies-to {
word-break: break-word; overflow-wrap: break-word;
} }
.applies-to, .applies-to,
@ -365,7 +365,7 @@ summary {
} }
.newUI .applies-to.expanded .targets { .newUI .applies-to.expanded .targets {
max-height: 100vh; max-height: none;
} }
.newUI .target { .newUI .target {

View File

@ -105,7 +105,7 @@
padding: 1.5rem .75rem; padding: 1.5rem .75rem;
position: relative; position: relative;
flex-grow: 9; flex-grow: 9;
word-break: break-word; overflow-wrap: break-word;
} }
#message-box-buttons { #message-box-buttons {

View File

@ -1,6 +1,7 @@
<!DOCTYPE html> <!DOCTYPE html>
<html id="stylus"> <html id="stylus">
<head> <head>
<meta charset="utf-8">
<title i18n-text-append="optionsHeading">Stylus </title> <title i18n-text-append="optionsHeading">Stylus </title>
<link rel="stylesheet" href="options/options.css"> <link rel="stylesheet" href="options/options.css">
<link rel="stylesheet" href="options/onoffswitch.css"> <link rel="stylesheet" href="options/onoffswitch.css">

View File

@ -18,6 +18,7 @@ html.firefox #notes {
} }
body { body {
background: #fff;
margin: 0; margin: 0;
font-family: "Helvetica Neue", Helvetica, sans-serif; font-family: "Helvetica Neue", Helvetica, sans-serif;
font-size: 12px; font-size: 12px;
@ -65,7 +66,7 @@ h1 {
font-weight: bold; font-weight: bold;
padding-right: 8px; padding-right: 8px;
box-sizing: border-box; box-sizing: border-box;
word-wrap: break-word; overflow-wrap: break-word;
} }
.items { .items {
@ -183,7 +184,7 @@ input[type="color"] {
background-color: #f4f4f4; background-color: #f4f4f4;
padding: 1.5ex 16px 1ex calc(16px + 2ex); padding: 1.5ex 16px 1ex calc(16px + 2ex);
font-size: 90%; font-size: 90%;
color: #999; color: #777;
} }
#notes ol { #notes ol {

View File

@ -114,7 +114,8 @@
<div class="left-gutter"></div> <div class="left-gutter"></div>
<div class="main-controls"> <div class="main-controls">
<div id="find-styles"> <div id="find-styles">
<a id="find-styles-link" href="#" i18n-text="findStylesForSite"></a> <a id="find-styles-link" href="https://userstyles.org/styles/browse/"
i18n-text="findStylesForSite"></a>
</div> </div>
<div id="write-style"> <div id="write-style">
<span id="write-style-for" i18n-text="writeStyleFor"></span> <span id="write-style-for" i18n-text="writeStyleFor"></span>

View File

@ -74,7 +74,6 @@ function initPopup(url) {
}; };
setupLivePrefs(); setupLivePrefs();
$('#find-styles-link').onclick = handleEvent.openURLandHide;
Object.assign($('#popup-manage-button'), { Object.assign($('#popup-manage-button'), {
onclick: handleEvent.openManager, onclick: handleEvent.openManager,
onmouseup: handleEvent.openManager, onmouseup: handleEvent.openManager,
@ -96,10 +95,11 @@ function initPopup(url) {
installed); installed);
} }
// find styles link $('#find-styles-link').onclick = handleEvent.openURLandHide;
$('#find-styles a').href = $('#find-styles-link').href +=
'https://userstyles.org/styles/browse/all/' + url.startsWith(location.protocol) ?
encodeURIComponent(url.startsWith('file:') ? 'file:' : url); '?search_terms=Stylus' :
'all/' + encodeURIComponent(url.startsWith('file:') ? 'file:' : url);
if (!url) { if (!url) {
document.body.classList.add('blocked'); document.body.classList.add('blocked');

View File

@ -3715,7 +3715,7 @@ var Properties = module.exports = {
"pitch-range" : 1, "pitch-range" : 1,
"play-during" : 1, "play-during" : 1,
"pointer-events" : "auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all", "pointer-events" : "auto | none | visiblePainted | visibleFill | visibleStroke | visible | painted | fill | stroke | all",
"position" : "static | relative | absolute | fixed | sticky", "position" : "static | relative | absolute | fixed | sticky | -webkit-sticky",
"presentation-level" : 1, "presentation-level" : 1,
"punctuation-trim" : 1, "punctuation-trim" : 1,