From 151ff5326a60aba2703de3279f07fcf9d883aef1 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Tue, 24 Mar 2020 12:18:33 -0400 Subject: [PATCH] Import translation work from https://crowdin.com/project/ublock --- dist/description/description-oc.txt | 49 ++ src/_locales/hi/messages.json | 26 +- src/_locales/oc/messages.json | 1010 +++++++++++++++++++++++++++ tools/import-crowdin.sh | 2 + 4 files changed, 1074 insertions(+), 13 deletions(-) create mode 100644 dist/description/description-oc.txt create mode 100644 src/_locales/oc/messages.json diff --git a/dist/description/description-oc.txt b/dist/description/description-oc.txt new file mode 100644 index 000000000..43af9b585 --- /dev/null +++ b/dist/description/description-oc.txt @@ -0,0 +1,49 @@ +An efficient blocker: easy on memory and CPU footprint, and yet can load and enforce thousands more filters than other popular blockers out there. + +Illustrated overview of its efficiency: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared + +Usage: The big power button in the popup is to permanently disable/enable uBlock for the current web site. It applies to the current web site only, it is not a global power button. + +*** + +Flexible, it's more than an "ad blocker": it can also read and create filters from hosts files. + +Out of the box, these lists of filters are loaded and enforced: + +- EasyList +- Peter Lowe’s Ad server list +- EasyPrivacy +- Malware domains + +More lists are available for you to select if you wish: + +- Fanboy’s Enhanced Tracking List +- Dan Pollock’s hosts file +- hpHosts’s Ad and tracking servers +- MVPS HOSTS +- Spam404 +- And many others + +Of course, the more filters enabled, the higher the memory footprint. Yet, even after adding Fanboy's two extra lists, hpHosts’s Ad and tracking servers, uBlock still has a lower memory footprint than other very popular blockers out there. + +Also, be aware that selecting some of these extra lists may lead to higher likelihood of web site breakage -- especially those lists which are normally used as hosts file. + +*** + +Without the preset lists of filters, this extension is nothing. So if ever you really do want to contribute something, think about the people working hard to maintain the filter lists you are using, which were made available to use by all for free. + +*** + +Free. +Open source with public license (GPLv3) +For users by users. + +Contributors @ Github: https://github.com/gorhill/uBlock/graphs/contributors +Contributors @ Crowdin: https://crowdin.net/project/ublock + +*** + +It's quite an early version, keep this in mind when you review. + +Project change log: +https://github.com/gorhill/uBlock/releases diff --git a/src/_locales/hi/messages.json b/src/_locales/hi/messages.json index a3fddaaa9..df9e41d77 100644 --- a/src/_locales/hi/messages.json +++ b/src/_locales/hi/messages.json @@ -16,11 +16,11 @@ "description": "A warning in the dashboard when navigating away from unsaved changes" }, "dashboardUnsavedWarningStay": { - "message": "Stay", + "message": "रुको", "description": "Label for button to prevent navigating away from unsaved changes" }, "dashboardUnsavedWarningIgnore": { - "message": "Ignore", + "message": "नज़रअंदाज़ करो ", "description": "Label for button to ignore unsaved changes" }, "settingsPageName": { @@ -100,7 +100,7 @@ "description": "For the new mobile-friendly popup design" }, "popupBlockedSinceInstall_v2": { - "message": "Blocked since install", + "message": "इंस्टाल के समय से ब्लॉक किया हुआ ", "description": "For the new mobile-friendly popup design" }, "popupDomainsConnected_v2": { @@ -184,19 +184,19 @@ "description": "Tip for the no-large-media per-site switch" }, "popupNoCosmeticFiltering_v2": { - "message": "Cosmetic filtering", + "message": "कॉस्मेटिक फिल्टर", "description": "Tip for the no-cosmetic-filtering per-site switch" }, "popupNoRemoteFonts_v2": { - "message": "Remote fonts", + "message": "रिमोट फोंट्स\n", "description": "Tip for the no-remote-fonts per-site switch" }, "popupNoScripting_v2": { - "message": "JavaScript", + "message": "जावास्क्रिप्ट ", "description": "Tip for the no-scripting per-site switch" }, "popupMoreButton_v2": { - "message": "More", + "message": "और", "description": "Label to be used to toggle overview panel" }, "popupTipGlobalRules": { @@ -352,11 +352,11 @@ "description": "" }, "settingsNoScriptingPrompt": { - "message": "Disable JavaScript", + "message": "जावास्क्रिप्ट को बंद करें ", "description": "The default state for the per-site no-scripting switch" }, "settingsNoCSPReportsPrompt": { - "message": "Block CSP reports", + "message": " CSP रिपोर्ट्स को ब्लॉक करें ", "description": "background information: https://github.com/gorhill/uBlock/issues/3150" }, "settingsStorageUsed": { @@ -596,19 +596,19 @@ "description": "Tooltip for the DOM inspector button in the logger page" }, "loggerPopupPanelTip": { - "message": "Toggle the popup panel", + "message": "पॉप-उप पैनल को टॉगल करें ", "description": "Tooltip for the popup panel button in the logger page" }, "loggerInfoTip": { - "message": "uBlock Origin wiki: The logger", + "message": "uBlock Origin विकी: लॉग्गर ", "description": "Tooltip for the top-right info label in the logger page" }, "loggerClearTip": { - "message": "Clear logger", + "message": "लॉग्गर क्लियर करें ", "description": "Tooltip for the eraser in the logger page; used to blank the content of the logger" }, "loggerPauseTip": { - "message": "Pause logger (discard all incoming data)", + "message": "लॉग्गर क्लियर करें", "description": "Tooltip for the pause button in the logger page" }, "loggerUnpauseTip": { diff --git a/src/_locales/oc/messages.json b/src/_locales/oc/messages.json new file mode 100644 index 000000000..fa0cf56bf --- /dev/null +++ b/src/_locales/oc/messages.json @@ -0,0 +1,1010 @@ +{ + "extName": { + "message": "uBlock Origin", + "description": "extension name." + }, + "extShortDesc": { + "message": "Finally, an efficient blocker. Easy on CPU and memory.", + "description": "this will be in the Chrome web store: must be 132 characters or less" + }, + "dashboardName": { + "message": "uBlock₀ — Tablèu de bòrd", + "description": "English: uBlock₀ — Dashboard" + }, + "dashboardUnsavedWarning": { + "message": "Atencion ! Avètz de modificacions pas enregistradas", + "description": "A warning in the dashboard when navigating away from unsaved changes" + }, + "dashboardUnsavedWarningStay": { + "message": "Demorar", + "description": "Label for button to prevent navigating away from unsaved changes" + }, + "dashboardUnsavedWarningIgnore": { + "message": "Ignorar", + "description": "Label for button to ignore unsaved changes" + }, + "settingsPageName": { + "message": "Paramètres", + "description": "appears as tab name in dashboard" + }, + "3pPageName": { + "message": "Listas de filtre", + "description": "appears as tab name in dashboard" + }, + "1pPageName": { + "message": "Mos filtres", + "description": "appears as tab name in dashboard" + }, + "rulesPageName": { + "message": "Mas règlas", + "description": "appears as tab name in dashboard" + }, + "whitelistPageName": { + "message": "Lista blanca", + "description": "appears as tab name in dashboard" + }, + "shortcutsPageName": { + "message": "Acorchis", + "description": "appears as tab name in dashboard" + }, + "statsPageName": { + "message": "uBlock₀ — Jornals d’eveniments", + "description": "Title for the logger window" + }, + "aboutPageName": { + "message": "A prepaus", + "description": "appears as tab name in dashboard" + }, + "assetViewerPageName": { + "message": "uBlock₀ — Visualizaira d’elements", + "description": "Title for the asset viewer page" + }, + "advancedSettingsPageName": { + "message": "Paramètres avançats", + "description": "Title for the advanced settings page" + }, + "popupPowerSwitchInfo": { + "message": "Click: disable/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page.", + "description": "English: Click: disable/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page." + }, + "popupPowerSwitchInfo1": { + "message": "Click to disable uBlock₀ for this site.\n\nCtrl+click to disable uBlock₀ only on this page.", + "description": "Message to be read by screen readers" + }, + "popupPowerSwitchInfo2": { + "message": "Click to enable uBlock₀ for this site.", + "description": "Message to be read by screen readers" + }, + "popupBlockedRequestPrompt": { + "message": "requèstas blocadas", + "description": "English: requests blocked" + }, + "popupBlockedOnThisPagePrompt": { + "message": "sus aquesta pagina", + "description": "English: on this page" + }, + "popupBlockedStats": { + "message": "{{count}} o {{percent}}%", + "description": "Example: 15 or 13%" + }, + "popupBlockedSinceInstallPrompt": { + "message": "dempuèi l’installacion", + "description": "English: since install" + }, + "popupOr": { + "message": "o", + "description": "English: or" + }, + "popupBlockedOnThisPage_v2": { + "message": "Blocats sus aquesta pagina", + "description": "For the new mobile-friendly popup design" + }, + "popupBlockedSinceInstall_v2": { + "message": "Blocats dempuèi l’installacion", + "description": "For the new mobile-friendly popup design" + }, + "popupDomainsConnected_v2": { + "message": "Domenis connectats", + "description": "For the new mobile-friendly popup design" + }, + "popupTipDashboard": { + "message": "Dobrir lo tablèu de bòrd", + "description": "English: Click to open the dashboard" + }, + "popupTipZapper": { + "message": "Enter element zapper mode", + "description": "Tooltip for the element-zapper icon in the popup panel" + }, + "popupTipPicker": { + "message": "Enter element picker mode", + "description": "English: Enter element picker mode" + }, + "popupTipLog": { + "message": "Dobrir la visualizaira d’eveniments", + "description": "Tooltip used for the logger icon in the panel" + }, + "popupTipNoPopups": { + "message": "Toggle the blocking of all popups for this site", + "description": "Tooltip for the no-popups per-site switch" + }, + "popupTipNoPopups1": { + "message": "Click to block all popups on this site", + "description": "Tooltip for the no-popups per-site switch" + }, + "popupTipNoPopups2": { + "message": "Click to no longer block all popups on this site", + "description": "Tooltip for the no-popups per-site switch" + }, + "popupTipNoLargeMedia": { + "message": "Toggle the blocking of large media elements for this site", + "description": "Tooltip for the no-large-media per-site switch" + }, + "popupTipNoLargeMedia1": { + "message": "Click to block large media elements on this site", + "description": "Tooltip for the no-large-media per-site switch" + }, + "popupTipNoLargeMedia2": { + "message": "Click to no longer block large media elements on this site", + "description": "Tooltip for the no-large-media per-site switch" + }, + "popupTipNoCosmeticFiltering": { + "message": "Toggle cosmetic filtering for this site", + "description": "Tooltip for the no-cosmetic-filtering per-site switch" + }, + "popupTipNoCosmeticFiltering1": { + "message": "Click to disable cosmetic filtering on this site", + "description": "Tooltip for the no-cosmetic-filtering per-site switch" + }, + "popupTipNoCosmeticFiltering2": { + "message": "Click to enable cosmetic filtering on this site", + "description": "Tooltip for the no-cosmetic-filtering per-site switch" + }, + "popupTipNoRemoteFonts": { + "message": "Toggle the blocking of remote fonts for this site", + "description": "Tooltip for the no-remote-fonts per-site switch" + }, + "popupTipNoRemoteFonts1": { + "message": "Click to block remote fonts on this site", + "description": "Tooltip for the no-remote-fonts per-site switch" + }, + "popupTipNoRemoteFonts2": { + "message": "Click to no longer block remote fonts on this site", + "description": "Tooltip for the no-remote-fonts per-site switch" + }, + "popupTipNoScripting1": { + "message": "Click to disable JavaScript on this site", + "description": "Tooltip for the no-scripting per-site switch" + }, + "popupTipNoScripting2": { + "message": "Click to no longer disable JavaScript on this site", + "description": "Tooltip for the no-scripting per-site switch" + }, + "popupNoLargeMedia_v2": { + "message": "Large media elements", + "description": "Tip for the no-large-media per-site switch" + }, + "popupNoCosmeticFiltering_v2": { + "message": "Cosmetic filtering", + "description": "Tip for the no-cosmetic-filtering per-site switch" + }, + "popupNoRemoteFonts_v2": { + "message": "Poliças distantas", + "description": "Tip for the no-remote-fonts per-site switch" + }, + "popupNoScripting_v2": { + "message": "JavaScript", + "description": "Tip for the no-scripting per-site switch" + }, + "popupMoreButton_v2": { + "message": "Mai", + "description": "Label to be used to toggle overview panel" + }, + "popupTipGlobalRules": { + "message": "Global rules: this column is for rules which apply to all sites.", + "description": "Tooltip when hovering the top-most cell of the global-rules column." + }, + "popupTipLocalRules": { + "message": "Local rules: this column is for rules which apply to the current site only.\nLocal rules override global rules.", + "description": "Tooltip when hovering the top-most cell of the local-rules column." + }, + "popupTipSaveRules": { + "message": "Click to make your changes permanent.", + "description": "Tooltip when hovering over the padlock in the dynamic filtering pane." + }, + "popupTipRevertRules": { + "message": "Click to revert your changes.", + "description": "Tooltip when hovering over the eraser in the dynamic filtering pane." + }, + "popupAnyRulePrompt": { + "message": "all", + "description": "" + }, + "popupImageRulePrompt": { + "message": "imatges", + "description": "" + }, + "popup3pAnyRulePrompt": { + "message": "3rd-party", + "description": "" + }, + "popup3pPassiveRulePrompt": { + "message": "3rd-party CSS/images", + "description": "" + }, + "popupInlineScriptRulePrompt": { + "message": "inline scripts", + "description": "" + }, + "popup1pScriptRulePrompt": { + "message": "1st-party scripts", + "description": "" + }, + "popup3pScriptRulePrompt": { + "message": "3rd-party scripts", + "description": "" + }, + "popup3pFrameRulePrompt": { + "message": "3rd-party frames", + "description": "" + }, + "popupHitDomainCountPrompt": { + "message": "domains connected", + "description": "appears in popup" + }, + "popupHitDomainCount": { + "message": "{{count}} out of {{total}}", + "description": "appears in popup" + }, + "pickerCreate": { + "message": "Create", + "description": "English: Create" + }, + "pickerPick": { + "message": "Pick", + "description": "English: Pick" + }, + "pickerQuit": { + "message": "Quitar", + "description": "English: Quit" + }, + "pickerPreview": { + "message": "Preview", + "description": "Element picker preview mode: will cause the elements matching the current filter to be removed from the page" + }, + "pickerNetFilters": { + "message": "Network filters", + "description": "English: header for a type of filter in the element picker dialog" + }, + "pickerCosmeticFilters": { + "message": "Cosmetic filters", + "description": "English: Cosmetic filters" + }, + "pickerCosmeticFiltersHint": { + "message": "Click, Ctrl-click", + "description": "English: Click, Ctrl-click" + }, + "pickerContextMenuEntry": { + "message": "Block element...", + "description": "An entry in the browser's contextual menu" + }, + "settingsCollapseBlockedPrompt": { + "message": "Hide placeholders of blocked elements", + "description": "English: Hide placeholders of blocked elements" + }, + "settingsIconBadgePrompt": { + "message": "Show the number of blocked requests on the icon", + "description": "English: Show the number of blocked requests on the icon" + }, + "settingsTooltipsPrompt": { + "message": "Disable tooltips", + "description": "A checkbox in the Settings pane" + }, + "settingsContextMenuPrompt": { + "message": "Make use of context menu where appropriate", + "description": "English: Make use of context menu where appropriate" + }, + "settingsColorBlindPrompt": { + "message": "Color-blind friendly", + "description": "English: Color-blind friendly" + }, + "settingsCloudStorageEnabledPrompt": { + "message": "Enable cloud storage support", + "description": "" + }, + "settingsAdvancedUserPrompt": { + "message": "I am an advanced user (required reading)", + "description": "" + }, + "settingsAdvancedUserSettings": { + "message": "advanced settings", + "description": "For the tooltip of a link which gives access to advanced settings" + }, + "settingsPrefetchingDisabledPrompt": { + "message": "Disable pre-fetching (to prevent any connection for blocked network requests)", + "description": "English: " + }, + "settingsHyperlinkAuditingDisabledPrompt": { + "message": "Disable hyperlink auditing", + "description": "English: " + }, + "settingsWebRTCIPAddressHiddenPrompt": { + "message": "Prevent WebRTC from leaking local IP addresses", + "description": "English: " + }, + "settingPerSiteSwitchGroup": { + "message": "Default behavior", + "description": "" + }, + "settingPerSiteSwitchGroupSynopsis": { + "message": "These default behaviors can be overridden on a per-site basis", + "description": "" + }, + "settingsNoCosmeticFilteringPrompt": { + "message": "Disable cosmetic filtering", + "description": "" + }, + "settingsNoLargeMediaPrompt": { + "message": "Block media elements larger than {{input}} KB", + "description": "" + }, + "settingsNoRemoteFontsPrompt": { + "message": "Block remote fonts", + "description": "" + }, + "settingsNoScriptingPrompt": { + "message": "Disable JavaScript", + "description": "The default state for the per-site no-scripting switch" + }, + "settingsNoCSPReportsPrompt": { + "message": "Block CSP reports", + "description": "background information: https://github.com/gorhill/uBlock/issues/3150" + }, + "settingsStorageUsed": { + "message": "Storage used: {{value}} bytes", + "description": "English: Storage used: {{}} bytes" + }, + "settingsLastRestorePrompt": { + "message": "Last restore:", + "description": "English: Last restore:" + }, + "settingsLastBackupPrompt": { + "message": "Last backup:", + "description": "English: Last backup:" + }, + "3pListsOfBlockedHostsPrompt": { + "message": "{{netFilterCount}} network filters + {{cosmeticFilterCount}} cosmetic filters from:", + "description": "Appears at the top of the _3rd-party filters_ pane" + }, + "3pListsOfBlockedHostsPerListStats": { + "message": "{{used}} used out of {{total}}", + "description": "Appears aside each filter list in the _3rd-party filters_ pane" + }, + "3pAutoUpdatePrompt1": { + "message": "Auto-update filter lists", + "description": "A checkbox in the _3rd-party filters_ pane" + }, + "3pUpdateNow": { + "message": "Metre a jorn ara", + "description": "A button in the in the _3rd-party filters_ pane" + }, + "3pPurgeAll": { + "message": "Purge all caches", + "description": "A button in the in the _3rd-party filters_ pane" + }, + "3pParseAllABPHideFiltersPrompt1": { + "message": "Parse and enforce cosmetic filters", + "description": "English: Parse and enforce Adblock+ element hiding filters." + }, + "3pParseAllABPHideFiltersInfo": { + "message": "

This option enables the parsing and enforcing of Adblock Plus-compatible “element hiding” filters. These filters are essentially cosmetic, they serve to hide elements in a web page which are deemed to be a visual nuisance, and which can't be blocked by the net request-based filtering engine.

Enabling this feature increases uBlock₀'s memory footprint.

", + "description": "Describes the purpose of the 'Parse and enforce cosmetic filters' feature." + }, + "3pIgnoreGenericCosmeticFilters": { + "message": "Ignore generic cosmetic filters", + "description": "This will cause uBO to ignore all generic cosmetic filters." + }, + "3pIgnoreGenericCosmeticFiltersInfo": { + "message": "

Generic cosmetic filters are those cosmetic filters which are meant to apply on all web sites.

Though handled efficiently by uBlock₀, generic cosmetic filters may still contribute measurable memory and CPU overhead on some web pages, especially for large and long-lived ones.

Enabling this option will eliminate the memory and CPU overhead added to web pages as a result of handling generic cosmetic filters, and also lower the memory footprint of uBlock₀ itself.

It is recommended to enable this option on less powerful devices.", + "description": "Describes the purpose of the 'Ignore generic cosmetic filters' feature." + }, + "3pListsOfBlockedHostsHeader": { + "message": "Lists of blocked hosts", + "description": "English: Lists of blocked hosts" + }, + "3pApplyChanges": { + "message": "Apply changes", + "description": "English: Apply changes" + }, + "3pGroupDefault": { + "message": "Built-in", + "description": "Header for the uBlock filters section in 'Filter lists pane'" + }, + "3pGroupAds": { + "message": "Ads", + "description": "English: Ads" + }, + "3pGroupPrivacy": { + "message": "Privacy", + "description": "English: Privacy" + }, + "3pGroupMalware": { + "message": "Malware domains", + "description": "English: Malware domains" + }, + "3pGroupAnnoyances": { + "message": "Annoyances", + "description": "The header identifying the filter lists in the category 'annoyances'" + }, + "3pGroupMultipurpose": { + "message": "Multipurpose", + "description": "English: Multipurpose" + }, + "3pGroupRegions": { + "message": "Regions, lengas", + "description": "English: Regions, languages" + }, + "3pGroupCustom": { + "message": "Custom", + "description": "English: Custom" + }, + "3pImport": { + "message": "Import...", + "description": "The label for the checkbox used to import external filter lists" + }, + "3pExternalListsHint": { + "message": "One URL per line. Invalid URLs will be silently ignored.", + "description": "Short information about how to use the textarea to import external filter lists by URL" + }, + "3pExternalListObsolete": { + "message": "Out of date.", + "description": "used as a tooltip for the out-of-date icon beside a list" + }, + "3pLastUpdate": { + "message": "Last update: {{ago}}.\nClick to force an update.", + "description": "used as a tooltip for the clock icon beside a list" + }, + "3pUpdating": { + "message": "Mesa a jorn...", + "description": "used as a tooltip for the spinner icon beside a list" + }, + "3pNetworkError": { + "message": "A network error prevented the resource from being updated.", + "description": "used as a tooltip for error icon beside a list" + }, + "1pFormatHint": { + "message": "One filter per line. A filter can be a plain hostname, or an Adblock Plus-compatible filter. Lines prefixed with ! will be ignored.", + "description": "Short information about how to create custom filters" + }, + "1pImport": { + "message": "Import and append", + "description": "English: Import and append" + }, + "1pExport": { + "message": "Export", + "description": "English: Export" + }, + "1pExportFilename": { + "message": "my-ublock-static-filters_{{datetime}}.txt", + "description": "English: my-ublock-static-filters_{{datetime}}.txt" + }, + "1pApplyChanges": { + "message": "Apply changes", + "description": "English: Apply changes" + }, + "rulesPermanentHeader": { + "message": "Permanent rules", + "description": "header" + }, + "rulesTemporaryHeader": { + "message": "Temporary rules", + "description": "header" + }, + "rulesRevert": { + "message": "Revert", + "description": "This will remove all temporary rules" + }, + "rulesCommit": { + "message": "Commit", + "description": "This will persist temporary rules" + }, + "rulesEdit": { + "message": "Edit", + "description": "Will enable manual-edit mode (textarea)" + }, + "rulesEditSave": { + "message": "Enregistrar", + "description": "Will save manually-edited content and exit manual-edit mode" + }, + "rulesEditDiscard": { + "message": "Anullar", + "description": "Will discard manually-edited content and exit manual-edit mode" + }, + "rulesImport": { + "message": "Import from file...", + "description": "" + }, + "rulesExport": { + "message": "Export to file", + "description": "" + }, + "rulesDefaultFileName": { + "message": "my-ublock-dynamic-rules_{{datetime}}.txt", + "description": "default file name to use" + }, + "rulesHint": { + "message": "List of your dynamic filtering rules.", + "description": "English: List of your dynamic filtering rules." + }, + "rulesFormatHint": { + "message": "Rule syntax: source destination type action (full documentation).", + "description": "English: dynamic rule syntax and full documentation." + }, + "whitelistPrompt": { + "message": "The whitelist directives dictate on which web pages uBlock Origin should be disabled. One entry per line. Invalid directives will be silently ignored and commented out.", + "description": "English: An overview of the content of the dashboard's Whitelist pane." + }, + "whitelistImport": { + "message": "Import and append", + "description": "English: Import and append" + }, + "whitelistExport": { + "message": "Export", + "description": "English: Export" + }, + "whitelistExportFilename": { + "message": "my-ublock-whitelist_{{datetime}}.txt", + "description": "English: my-ublock-whitelist_{{datetime}}.txt" + }, + "whitelistApply": { + "message": "Apply changes", + "description": "English: Apply changes" + }, + "logRequestsHeaderType": { + "message": "Tipe", + "description": "English: Type" + }, + "logRequestsHeaderDomain": { + "message": "Domeni", + "description": "English: Domain" + }, + "logRequestsHeaderURL": { + "message": "URL", + "description": "English: URL" + }, + "logRequestsHeaderFilter": { + "message": "Filter", + "description": "English: Filter" + }, + "logAll": { + "message": "All", + "description": "Appears in the logger's tab selector" + }, + "logBehindTheScene": { + "message": "Tabless", + "description": "Pretty name for behind-the-scene network requests" + }, + "loggerCurrentTab": { + "message": "Current tab", + "description": "Appears in the logger's tab selector" + }, + "loggerReloadTip": { + "message": "Reload the tab content", + "description": "Tooltip for the reload button in the logger page" + }, + "loggerDomInspectorTip": { + "message": "Toggle the DOM inspector", + "description": "Tooltip for the DOM inspector button in the logger page" + }, + "loggerPopupPanelTip": { + "message": "Toggle the popup panel", + "description": "Tooltip for the popup panel button in the logger page" + }, + "loggerInfoTip": { + "message": "uBlock Origin wiki: The logger", + "description": "Tooltip for the top-right info label in the logger page" + }, + "loggerClearTip": { + "message": "Clear logger", + "description": "Tooltip for the eraser in the logger page; used to blank the content of the logger" + }, + "loggerPauseTip": { + "message": "Pause logger (discard all incoming data)", + "description": "Tooltip for the pause button in the logger page" + }, + "loggerUnpauseTip": { + "message": "Unpause logger", + "description": "Tooltip for the play button in the logger page" + }, + "loggerRowFiltererButtonTip": { + "message": "Toggle logger filtering", + "description": "Tooltip for the row filterer button in the logger page" + }, + "logFilterPrompt": { + "message": "filter logger content", + "description": "Placeholder string for logger output filtering input field" + }, + "loggerRowFiltererBuiltinTip": { + "message": "Logger filtering options", + "description": "Tooltip for the button to bring up logger output filtering options" + }, + "loggerRowFiltererBuiltinNot": { + "message": "Not", + "description": "A keyword in the built-in row filtering expression" + }, + "loggerRowFiltererBuiltinEventful": { + "message": "eventful", + "description": "A keyword in the built-in row filtering expression: all items corresponding to uBO doing something (blocked, allowed, redirected, etc.)" + }, + "loggerRowFiltererBuiltinBlocked": { + "message": "blocked", + "description": "A keyword in the built-in row filtering expression" + }, + "loggerRowFiltererBuiltinAllowed": { + "message": "allowed", + "description": "A keyword in the built-in row filtering expression" + }, + "loggerRowFiltererBuiltin1p": { + "message": "1st-party", + "description": "A keyword in the built-in row filtering expression" + }, + "loggerRowFiltererBuiltin3p": { + "message": "3rd-party", + "description": "A keyword in the built-in row filtering expression" + }, + "loggerEntryDetailsHeader": { + "message": "Details", + "description": "Small header to identify the 'Details' pane for a specific logger entry" + }, + "loggerEntryDetailsFilter": { + "message": "Filter", + "description": "Label to identify a filter field" + }, + "loggerEntryDetailsFilterList": { + "message": "Filter list", + "description": "Label to identify a filter list field" + }, + "loggerEntryDetailsRule": { + "message": "Rule", + "description": "Label to identify a rule field" + }, + "loggerEntryDetailsContext": { + "message": "Context", + "description": "Label to identify a context field (typically a hostname)" + }, + "loggerEntryDetailsRootContext": { + "message": "Root context", + "description": "Label to identify a root context field (typically a hostname)" + }, + "loggerEntryDetailsPartyness": { + "message": "Partyness", + "description": "Label to identify a field providing partyness information" + }, + "loggerEntryDetailsType": { + "message": "Tipe", + "description": "Label to identify the type of an entry" + }, + "loggerEntryDetailsURL": { + "message": "URL", + "description": "Label to identify the URL of an entry" + }, + "loggerURLFilteringHeader": { + "message": "URL rule", + "description": "Small header to identify the dynamic URL filtering section" + }, + "loggerURLFilteringContextLabel": { + "message": "Context:", + "description": "Label for the context selector" + }, + "loggerURLFilteringTypeLabel": { + "message": "Type:", + "description": "Label for the type selector" + }, + "loggerStaticFilteringHeader": { + "message": "Static filter", + "description": "Small header to identify the static filtering section" + }, + "loggerStaticFilteringSentence": { + "message": "{{action}} network requests of {{type}} {{br}}which URL address matches {{url}} {{br}}and which originates {{origin}},{{br}}{{importance}} there is a matching exception filter.", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartBlock": { + "message": "Blocar", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartAllow": { + "message": "Autorizar", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartType": { + "message": "type “{{type}}”", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartAnyType": { + "message": "any type", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartOrigin": { + "message": "from “{{origin}}”", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartAnyOrigin": { + "message": "from anywhere", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartNotImportant": { + "message": "except when", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringSentencePartImportant": { + "message": "even if", + "description": "Used in the static filtering wizard" + }, + "loggerStaticFilteringFinderSentence1": { + "message": "Static filter {{filter}} found in:", + "description": "Below this sentence, the filter list(s) in which the filter was found" + }, + "loggerStaticFilteringFinderSentence2": { + "message": "Static filter could not be found in any of the currently enabled filter lists", + "description": "Message to show when a filter cannot be found in any filter lists" + }, + "loggerSettingDiscardPrompt": { + "message": "Logger entries which do not fulfill all three conditions below will be automatically discarded:", + "description": "Logger setting: A sentence to describe the purpose of the settings below" + }, + "loggerSettingPerEntryMaxAge": { + "message": "Preserve entries from the last {{input}} minutes", + "description": "A logger setting" + }, + "loggerSettingPerTabMaxLoads": { + "message": "Preserve at most {{input}} page loads per tab", + "description": "A logger setting" + }, + "loggerSettingPerTabMaxEntries": { + "message": "Preserve at most {{input}} entries per tab", + "description": "A logger setting" + }, + "loggerSettingPerEntryLineCount": { + "message": "Use {{input}} lines per entry in vertically expanded mode", + "description": "A logger setting" + }, + "loggerSettingHideColumnsPrompt": { + "message": "Hide columns:", + "description": "Logger settings: a sentence to describe the purpose of the checkboxes below" + }, + "loggerSettingHideColumnTime": { + "message": "{{input}} Time", + "description": "A label for the time column" + }, + "loggerSettingHideColumnFilter": { + "message": "{{input}} Filter/rule", + "description": "A label for the filter or rule column" + }, + "loggerSettingHideColumnContext": { + "message": "{{input}} Context", + "description": "A label for the context column" + }, + "loggerSettingHideColumnPartyness": { + "message": "{{input}} Partyness", + "description": "A label for the partyness column" + }, + "loggerExportFormatList": { + "message": "List", + "description": "Label for radio-button to pick export format" + }, + "loggerExportFormatTable": { + "message": "Table", + "description": "Label for radio-button to pick export format" + }, + "loggerExportEncodePlain": { + "message": "Plain", + "description": "Label for radio-button to pick export text format" + }, + "loggerExportEncodeMarkdown": { + "message": "Markdown", + "description": "Label for radio-button to pick export text format" + }, + "aboutChangelog": { + "message": "Changelog", + "description": "" + }, + "aboutWiki": { + "message": "Wiki", + "description": "English: project' wiki on GitHub" + }, + "aboutSupport": { + "message": "Support", + "description": "A link for where to get support" + }, + "aboutIssues": { + "message": "Issue tracker", + "description": "Text for a link to official issue tracker" + }, + "aboutCode": { + "message": "Source code (GPLv3)", + "description": "English: Source code (GPLv3)" + }, + "aboutContributors": { + "message": "Contributors", + "description": "English: Contributors" + }, + "aboutDependencies": { + "message": "External dependencies (GPLv3-compatible):", + "description": "Shown in the About pane" + }, + "aboutBackupDataButton": { + "message": "Back up to file", + "description": "Text for button to create a backup of all settings" + }, + "aboutBackupFilename": { + "message": "my-ublock-backup_{{datetime}}.txt", + "description": "English: my-ublock-backup_{{datetime}}.txt" + }, + "aboutRestoreDataButton": { + "message": "Restore from file...", + "description": "English: Restore from file..." + }, + "aboutResetDataButton": { + "message": "Reset to default settings...", + "description": "English: Reset to default settings..." + }, + "aboutRestoreDataConfirm": { + "message": "All your settings will be overwritten using data backed up on {{time}}, and uBlock₀ will restart.\n\nOverwrite all existing settings using backed up data?", + "description": "Message asking user to confirm restore" + }, + "aboutRestoreDataError": { + "message": "The data could not be read or is invalid", + "description": "Message to display when an error occurred during restore" + }, + "aboutResetDataConfirm": { + "message": "All your settings will be removed, and uBlock₀ will restart.\n\nReset uBlock₀ to factory settings?", + "description": "Message asking user to confirm reset" + }, + "errorCantConnectTo": { + "message": "Network error: {{msg}}", + "description": "English: Network error: {{msg}}" + }, + "subscriberConfirm": { + "message": "uBlock₀: Add the following URL to your custom filter lists?\n\nTitle: \"{{title}}\"\nURL: {{url}}", + "description": "English: The message seen by the user to confirm subscription to a ABP filter list" + }, + "elapsedOneMinuteAgo": { + "message": "a minute ago", + "description": "English: a minute ago" + }, + "elapsedManyMinutesAgo": { + "message": "{{value}} minutes ago", + "description": "English: {{value}} minutes ago" + }, + "elapsedOneHourAgo": { + "message": "an hour ago", + "description": "English: an hour ago" + }, + "elapsedManyHoursAgo": { + "message": "{{value}} hours ago", + "description": "English: {{value}} hours ago" + }, + "elapsedOneDayAgo": { + "message": "a day ago", + "description": "English: a day ago" + }, + "elapsedManyDaysAgo": { + "message": "{{value}} days ago", + "description": "English: {{value}} days ago" + }, + "showDashboardButton": { + "message": "Show Dashboard", + "description": "Firefox/Fennec-specific: Show Dashboard" + }, + "showNetworkLogButton": { + "message": "Show Logger", + "description": "Firefox/Fennec-specific: Show Logger" + }, + "fennecMenuItemBlockingOff": { + "message": "off", + "description": "Firefox-specific: appears as 'uBlock₀ (off)'" + }, + "docblockedPrompt1": { + "message": "uBlock Origin has prevented the following page from loading:", + "description": "English: uBlock₀ has prevented the following page from loading:" + }, + "docblockedPrompt2": { + "message": "Because of the following filter", + "description": "English: Because of the following filter" + }, + "docblockedNoParamsPrompt": { + "message": "without parameters", + "description": "label to be used for the parameter-less URL: https://cloud.githubusercontent.com/assets/585534/9832014/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png" + }, + "docblockedFoundIn": { + "message": "Found in:", + "description": "English: List of filter list names follows" + }, + "docblockedBack": { + "message": "Go back", + "description": "English: Go back" + }, + "docblockedClose": { + "message": "Close this window", + "description": "English: Close this window" + }, + "docblockedProceed": { + "message": "Disable strict blocking for {{hostname}}", + "description": "English: Disable strict blocking for {{hostname}} ..." + }, + "docblockedDisableTemporary": { + "message": "Temporarily", + "description": "English: Temporarily" + }, + "docblockedDisablePermanent": { + "message": "Permanently", + "description": "English: Permanently" + }, + "cloudPush": { + "message": "Export to cloud storage", + "description": "tooltip" + }, + "cloudPull": { + "message": "Import from cloud storage", + "description": "tooltip" + }, + "cloudPullAndMerge": { + "message": "Import from cloud storage and merge with current settings", + "description": "tooltip" + }, + "cloudNoData": { + "message": "...\n...", + "description": "" + }, + "cloudDeviceNamePrompt": { + "message": "This device name:", + "description": "used as a prompt for the user to provide a custom device name" + }, + "advancedSettingsWarning": { + "message": "Warning! Change these advanced settings at your own risk.", + "description": "A warning to users at the top of 'Advanced settings' page" + }, + "genericSubmit": { + "message": "Submit", + "description": "for generic 'Submit' buttons" + }, + "genericApplyChanges": { + "message": "Apply changes", + "description": "for generic 'Apply changes' buttons" + }, + "genericRevert": { + "message": "Revert", + "description": "for generic 'Revert' buttons" + }, + "genericBytes": { + "message": "bytes", + "description": "" + }, + "contextMenuTemporarilyAllowLargeMediaElements": { + "message": "Temporarily allow large media elements", + "description": "A context menu entry, present when large media elements have been blocked on the current site" + }, + "shortcutCapturePlaceholder": { + "message": "Type a shortcut", + "description": "Placeholder string for input field used to capture a keyboard shortcut" + }, + "genericMergeViewScrollLock": { + "message": "Toggle locked scrolling", + "description": "Tooltip for the button used to lock scrolling between the views in the 'My rules' pane" + }, + "genericCopyToClipboard": { + "message": "Copy to clipboard", + "description": "Label for buttons used to copy something to the clipboard" + }, + "toggleBlockingProfile": { + "message": "Toggle blocking profile", + "description": "Label for keyboard shortcut used to toggle blocking profile" + }, + "relaxBlockingMode": { + "message": "Relax blocking mode", + "description": "Label for keyboard shortcut used to relax blocking mode (meant to replace 'Toggle blocking profile')" + }, + "dummy": { + "message": "This entry must be the last one", + "description": "so we dont need to deal with comma for last entry" + } +} diff --git a/tools/import-crowdin.sh b/tools/import-crowdin.sh index dc02f176e..8e01c6af1 100755 --- a/tools/import-crowdin.sh +++ b/tools/import-crowdin.sh @@ -49,6 +49,7 @@ cp $SRC/mr/messages.json $DES/mr/messages.json cp $SRC/ms/messages.json $DES/ms/messages.json cp $SRC/nb/messages.json $DES/nb/messages.json cp $SRC/nl/messages.json $DES/nl/messages.json +cp $SRC/oc/messages.json $DES/oc/messages.json cp $SRC/pl/messages.json $DES/pl/messages.json cp $SRC/pt-BR/messages.json $DES/pt_BR/messages.json cp $SRC/pt-PT/messages.json $DES/pt_PT/messages.json @@ -118,6 +119,7 @@ cp $SRC/ms/description.txt $DES/description-ms.txt cp $SRC/mr/description.txt $DES/description-mr.txt cp $SRC/nb/description.txt $DES/description-nb.txt cp $SRC/nl/description.txt $DES/description-nl.txt +cp $SRC/oc/description.txt $DES/description-oc.txt cp $SRC/pl/description.txt $DES/description-pl.txt cp $SRC/pt-BR/description.txt $DES/description-pt_BR.txt cp $SRC/pt-PT/description.txt $DES/description-pt_PT.txt