From 32bde274b959cc4054dca9b562a7c11d5a1e84af Mon Sep 17 00:00:00 2001 From: Babak Farrokhi Date: Mon, 15 Jan 2018 16:54:43 +0330 Subject: [PATCH 1/5] Use rawgit.com to download filter list (#3438) - (githubusercontent.com cannot be accessed from iran --- assets/assets.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assets/assets.json b/assets/assets.json index edbba5e5a1803..9fd1a81645120 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -424,7 +424,7 @@ "off": true, "title": "IRN: Adblock-Iran", "lang": "fa", - "contentURL": "https://raw.githubusercontent.com/farrokhi/adblock-iran/master/filter.txt", + "contentURL": "https://cdn.rawgit.com/farrokhi/adblock-iran/master/filter.txt", "supportURL": "https://github.com/farrokhi/adblock-iran" }, "ISL-0": { From 1c468035ddfbac527306a4522cec764356b72871 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Tue, 16 Jan 2018 09:13:51 -0500 Subject: [PATCH 2/5] fix #3441 --- platform/webext/vapi-webrequest.js | 47 +++++++++++++----------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/platform/webext/vapi-webrequest.js b/platform/webext/vapi-webrequest.js index c2551ffbc366a..e25b8d164e7c9 100644 --- a/platform/webext/vapi-webrequest.js +++ b/platform/webext/vapi-webrequest.js @@ -61,46 +61,41 @@ vAPI.net.registerListeners = function() { var wrApi = browser.webRequest; // legacy Chromium understands only these network request types. - var validTypes = { - main_frame: true, - sub_frame: true, - stylesheet: true, - script: true, - image: true, - object: true, - xmlhttprequest: true, - other: true - }; + var validTypes = new Set([ + 'image', + 'main_frame', + 'object', + 'other', + 'script', + 'stylesheet', + 'sub_frame', + 'xmlhttprequest', + ]); // modern Chromium/WebExtensions: more types available. if ( wrApi.ResourceType ) { for ( let typeKey in wrApi.ResourceType ) { if ( wrApi.ResourceType.hasOwnProperty(typeKey) ) { - validTypes[wrApi.ResourceType[typeKey]] = true; + validTypes.add(wrApi.ResourceType[typeKey]); } } } var denormalizeTypes = function(aa) { if ( aa.length === 0 ) { - return Object.keys(validTypes); + return Array.from(validTypes); } - var out = []; - var i = aa.length, - type, - needOther = true; + var out = new Set(), + i = aa.length; while ( i-- ) { - type = aa[i]; - if ( validTypes[type] ) { - out.push(type); + var type = aa[i]; + if ( validTypes.has(type) ) { + out.add(type); } - if ( type === 'other' ) { - needOther = false; + if ( type === 'image' && validTypes.has('imageset') ) { + out.add('imageset'); } } - if ( needOther ) { - out.push('other'); - } - return out; + return Array.from(out); }; var punycode = self.punycode; @@ -144,7 +139,7 @@ vAPI.net.registerListeners = function() { let urls = this.onBeforeRequest.urls || ['']; let types = this.onBeforeRequest.types || undefined; if ( - (validTypes.websocket) && + (validTypes.has('websocket')) && (types === undefined || types.indexOf('websocket') !== -1) && (urls.indexOf('') === -1) ) { From 568c1d46e49f68f6be904eb187badd03ee836d5b Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Tue, 16 Jan 2018 09:20:39 -0500 Subject: [PATCH 3/5] new revision for release candidate --- platform/chromium/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/chromium/manifest.json b/platform/chromium/manifest.json index e5f41c79106a3..0e637577433ec 100644 --- a/platform/chromium/manifest.json +++ b/platform/chromium/manifest.json @@ -2,7 +2,7 @@ "manifest_version": 2, "name": "uBlock Origin", - "version": "1.14.25.100", + "version": "1.14.25.101", "commands": { "launch-element-zapper": { From 55be87223eb9ba5cb8183f345b2ba1b3cd597ed6 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Tue, 16 Jan 2018 09:22:37 -0500 Subject: [PATCH 4/5] import translation work from https://crowdin.com/project/ublock --- src/_locales/cs/messages.json | 22 +++++++++++----------- src/_locales/fa/messages.json | 12 ++++++------ src/_locales/tr/messages.json | 26 +++++++++++++------------- 3 files changed, 30 insertions(+), 30 deletions(-) diff --git a/src/_locales/cs/messages.json b/src/_locales/cs/messages.json index b75365c96c411..d928a65981c48 100644 --- a/src/_locales/cs/messages.json +++ b/src/_locales/cs/messages.json @@ -4,7 +4,7 @@ "description": "extension name." }, "extShortDesc": { - "message": "Konečně efektivní blokovač, který nezatěžuje CPU a paměť.", + "message": "Konečně efektivní blokovač. Nezatěžuje CPU a paměť.", "description": "this will be in the chrome web store: must be 132 characters or less" }, "dashboardName": { @@ -52,7 +52,7 @@ "description": "Message to be read by screen readers" }, "popupPowerSwitchInfo2": { - "message": "Click to enable uBlock₀ for this site.", + "message": "Kliknutím povolíte uBlock₀ pro tento web.", "description": "Message to be read by screen readers" }, "popupBlockedRequestPrompt": { @@ -96,11 +96,11 @@ "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoPopups1": { - "message": "Click to block all popups on this site", + "message": "Kliknutím zablokujete všechny popupy pro tento web", "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoPopups2": { - "message": "Zhbllokoj të gjitha dritaret automatike të faqes", + "message": "Kliknutím vypnete blokování všech popupů pro tento web", "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoLargeMedia": { @@ -108,11 +108,11 @@ "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia1": { - "message": "Click to block large media elements on this site", + "message": "Kliknutím zablokujete velké multimediální prvky na tomto webu", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia2": { - "message": "Click to no longer block large media elements on this site", + "message": "Kliknutím vypnete blokování velkých multimediálních prvků na tomto webu", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoCosmeticFiltering": { @@ -120,11 +120,11 @@ "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoCosmeticFiltering1": { - "message": "Click to disable cosmetic filtering on this site", + "message": "Kliknutím zakážete kosmetické filtrování na tomto webu", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoCosmeticFiltering2": { - "message": "Click to enable cosmetic filtering on this site", + "message": "Kliknutím povolíte kosmetické filtrování na tomto webu", "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoRemoteFonts": { @@ -132,11 +132,11 @@ "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipNoRemoteFonts1": { - "message": "Click to block remote fonts on this site", + "message": "Kliknutím zablokujete externí\/vzdálené fonty na tomto webu", "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipNoRemoteFonts2": { - "message": "Click to no longer block remote fonts on this site", + "message": "Kliknutím vypnete blokování externích\/vzdálených fontů na tomto webu", "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipGlobalRules": { @@ -512,7 +512,7 @@ "description": "Pretty name for behind-the-scene network requests" }, "loggerCurrentTab": { - "message": "Current tab", + "message": "Aktivní list", "description": "Appears in the logger's tab selector" }, "logFilterPrompt": { diff --git a/src/_locales/fa/messages.json b/src/_locales/fa/messages.json index 342f62e0d597a..29c580a7ce57d 100644 --- a/src/_locales/fa/messages.json +++ b/src/_locales/fa/messages.json @@ -268,7 +268,7 @@ "description": "English: " }, "settingsWebRTCIPAddressHiddenPrompt": { - "message": "ممنوع کردن WebRTC از افشاسازی آدرس های IP محلی", + "message": "جلوگیری کردن از WebRTC از افشاسازی آدرس های IP محلی", "description": "English: " }, "settingPerSiteSwitchGroup": { @@ -292,7 +292,7 @@ "description": "" }, "settingsNoCSPReportsPrompt": { - "message": "مسدود کردن گزارشات سیاست امنیت محتوا", + "message": "مسدود کردن براساس گزارشات سیاست امنیت محتوا", "description": "background information: https:\/\/github.com\/gorhill\/uBlock\/issues\/3150" }, "settingsStorageUsed": { @@ -332,7 +332,7 @@ "description": "English: Parse and enforce Adblock+ element hiding filters." }, "3pParseAllABPHideFiltersInfo": { - "message": "

این گزینه Adblock Plus-compatible “element hiding” filters<\/a> را تجزیه و اجرا میکند. این فیلتر ها اساساً فنی هستند، آنها اشیاء موجود در صفحه وب را که مزاحم تلقی میشوند و با موتور فیلترینگ شبکه قابل بلاک کردن نیستند را حذف میکنند.<\/p>

فعال کردن این قابلیت مصرف حافظه ی uBlock<\/i>را افزایش میدهد.<\/p>", + "message": "

این گزینه فیلترهای “مخفی‌کردن اشیا” سازگار با ادبلاک پلاس<\/a> را تجزیه و اجرا میکند. این فیلتر ها اساساً فنی هستند، آنها اشیاء موجود در صفحه وب را که مزاحم تلقی میشوند و با موتور فیلترینگ شبکه قابل بلاک کردن نیستند را حذف میکنند.<\/p>

فعال کردن این قابلیت مصرف حافظه ی uBlock را افزایش میدهد.<\/p>", "description": "Describes the purpose of the 'Parse and enforce cosmetic filters' feature." }, "3pIgnoreGenericCosmeticFilters": { @@ -524,7 +524,7 @@ "description": "Tooltip informaing that the input field is to set the maximum number of entries in the log" }, "loggerURLFilteringContextLabel": { - "message": "محتوی:", + "message": "زمینه:", "description": "Label for the context selector" }, "loggerURLFilteringTypeLabel": { @@ -624,7 +624,7 @@ "description": "Message to display when an error occurred during restore" }, "aboutResetDataConfirm": { - "message": "تمام تنظیمات شده حذف و uBlock₀ دوباره راه اندازی خواهد شد.\n\nتنظیم مجدد uBlock₀ به تنظیمات کارخانه؟", + "message": "تمام تنظیمات شما حذف شده و uBlock₀ دوباره راه اندازی خواهد شد.\n\nتنظیم مجدد uBlock₀ به تنظیمات کارخانه؟", "description": "Message asking user to confirm reset" }, "errorCantConnectTo": { @@ -632,7 +632,7 @@ "description": "English: Network error: {{msg}}" }, "subscriberConfirm": { - "message": "uBlock₀: لینک زیر به لیست فیلتر ها اضافه شود؟\n\nعنوان: \"{{title}}\"\nآدرس: {{url}}", + "message": "uBlock₀: آدرس اینترنتی زیر به فهرست فیلتر های سفارشی شما اضافه شود؟\n\nعنوان: \"{{title}}\"\nآدرس: {{url}}", "description": "English: The message seen by the user to confirm subscription to a ABP filter list" }, "elapsedOneMinuteAgo": { diff --git a/src/_locales/tr/messages.json b/src/_locales/tr/messages.json index ca981561212c4..c68fa1c7daf1d 100644 --- a/src/_locales/tr/messages.json +++ b/src/_locales/tr/messages.json @@ -44,7 +44,7 @@ "description": "Title for the advanced settings page" }, "popupPowerSwitchInfo": { - "message": "Tıklama: uBlock₀'i bu site için devre dışı bırak\/etkinleştir.\n\nCtrl+tıklama: uBlock₀'i sadece bu sayfa için devre dışı bırak.", + "message": "Tıklama: uBlock₀'i bu site için devre dışı bırak\/etkinleştir.\n\nCtrl+tıklama: uBlock₀'i yalnızca bu sayfada devre dışı bırak.", "description": "English: Click: disable\/enable uBlock₀ for this site.\n\nCtrl+click: disable uBlock₀ only on this page." }, "popupPowerSwitchInfo1": { @@ -68,7 +68,7 @@ "description": "Example: 15 or 13%" }, "popupBlockedSinceInstallPrompt": { - "message": "yüklendiğinden beri", + "message": "kurulumdan bu yana", "description": "English: since install" }, "popupOr": { @@ -228,11 +228,11 @@ "description": "English: Block element" }, "settingsCollapseBlockedPrompt": { - "message": "Engellenen reklamların yerlerini gizle", + "message": "Engellenmiş ögelerin yertutucularını gizle", "description": "English: Hide placeholders of blocked elements" }, "settingsIconBadgePrompt": { - "message": "Engellenmiş reklam sayısını simge üzerinde göster", + "message": "Engellenen istek sayısını simge üstünde göster", "description": "English: Show the number of blocked requests on the icon" }, "settingsTooltipsPrompt": { @@ -252,7 +252,7 @@ "description": "" }, "settingsAdvancedUserPrompt": { - "message": "Deneyimli kullanıcıyım (Okunması gerekir<\/a>)", + "message": "Deneyimli kullanıcıyım (okunması gerekir<\/a>)", "description": "" }, "settingsAdvancedUserSettings": { @@ -284,7 +284,7 @@ "description": "" }, "settingsNoLargeMediaPrompt": { - "message": "Belirlenenden büyük medya ögelerini engelle {{input:number}} kB", + "message": "{{input:number}} kB'tan büyük medya ögelerini engelle", "description": "" }, "settingsNoRemoteFontsPrompt": { @@ -328,7 +328,7 @@ "description": "A button in the in the _3rd-party filters_ pane" }, "3pParseAllABPHideFiltersPrompt1": { - "message": "Kozmetik süzgeçleri incele ve uygula.", + "message": "Kozmetik süzgeçleri incele ve uygula", "description": "English: Parse and enforce Adblock+ element hiding filters." }, "3pParseAllABPHideFiltersInfo": { @@ -448,7 +448,7 @@ "description": "Will discard manually-edited content and exit manual-edit mode" }, "rulesImport": { - "message": "Dosyadan içe aktar...", + "message": "Dosyadan al...", "description": "" }, "rulesExport": { @@ -468,7 +468,7 @@ "description": "English: dynamic rule syntax and full documentation." }, "whitelistPrompt": { - "message": "Hangi alan adları için uBlock₀'in devre dışı olacağını belirten listeniz. Satır başına bir girdi. Geçersiz alan adları sessizce yok sayılır.", + "message": "Beyaz liste yönergeleri, uBlock₀'in devre dışı bırakılması gerektiği web sayfalarını belirler. Satır başına bir girdi. Geçersiz yönergeler sessizce yok sayılır ve yoruma dönüştürülür.", "description": "English: An overview of the content of the dashboard's Whitelist pane." }, "whitelistImport": { @@ -516,11 +516,11 @@ "description": "Appears in the logger's tab selector" }, "logFilterPrompt": { - "message": "günlük girişlerini süz", + "message": "günlük girdilerini süz", "description": "English: filter log entries" }, "logMaxEntriesTip": { - "message": "Maksimum günlük giriş sayısı", + "message": "En fazla günlük girdi sayısı", "description": "Tooltip informaing that the input field is to set the maximum number of entries in the log" }, "loggerURLFilteringContextLabel": { @@ -624,7 +624,7 @@ "description": "Message to display when an error occurred during restore" }, "aboutResetDataConfirm": { - "message": "Tüm ayarlarınızı silinecek, ve uBlock₀ yeniden başlayacak.\n\nuBlock₀ fabrika ayarlarına geri dönsün mü?", + "message": "Tüm ayarlarınızı silinecek, ve uBlock₀ yeniden başlayacak.\n\nuBlock₀ fabrika ayarlarına sıfırlansın mı?", "description": "Message asking user to confirm reset" }, "errorCantConnectTo": { @@ -728,7 +728,7 @@ "description": "used as a prompt for the user to provide a custom device name" }, "advancedSettingsWarning": { - "message": "Uyarı! Bu ayarları değiştirme sorumluluğu size aittir.", + "message": "Uyarı! Bu gelişmiş ayarları değiştirmenin sorumluluğu size aittir.", "description": "A warning to users at the top of 'Advanced settings' page" }, "genericSubmit": { From dada3fe6bcbcc9a687e00d073f3d02e6fec67238 Mon Sep 17 00:00:00 2001 From: Raymond Hill Date: Thu, 18 Jan 2018 12:32:43 -0500 Subject: [PATCH 5/5] import translation work from https://crowdin.com/project/ublock --- dist/description/description-fa.txt | 4 ++-- src/_locales/fa/messages.json | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/dist/description/description-fa.txt b/dist/description/description-fa.txt index b204bd8b4c5d0..1fba6ef815c7b 100644 --- a/dist/description/description-fa.txt +++ b/dist/description/description-fa.txt @@ -2,11 +2,11 @@ بررسی تصویری از کارایی این محصول: https://github.com/gorhill/uBlock/wiki/uBlock-vs.-ABP:-efficiency-compared -کاربرد: دکمه ی پاور بزرگ در پنجره برای فعال یا غیر فعال کردن uBlock برای صفحه ی جاری است. فقط برای همین سایت اعمال میشود، دکمه ی پاوری برای تمام سایت ها نیست. +روش استفاده: دکمۀ قدرت بزرگ در پنجرۀ بالاپَر برای فعال یا غیرفعال کردن دائمی یوبلاک برای وب‌سایت فعلی می‌باشد. این فقط برای همین سایت اعمال میشود، این دکمه ی قدرتی برای تمام سایت ها نیست. *** -انعطاف پذیری آن بیشتر از "ad blocker" است: همچنین می تواند فیلتر ها را از هاست میزبان، بخواند و بسازد. +انعطاف پذیری آن بیشتر از "ad blocker" است: این یکی همچنین می تواند فیلتر‌هایی را از فایل‌های هاست‌های میزبان، خوانده و بسازد. بیرون از جعبه، این لیست فیلترها بارگذاری و اجرا میشوند: diff --git a/src/_locales/fa/messages.json b/src/_locales/fa/messages.json index 29c580a7ce57d..f2fd41ba3a86d 100644 --- a/src/_locales/fa/messages.json +++ b/src/_locales/fa/messages.json @@ -32,7 +32,7 @@ "description": "appears as tab name in dashboard" }, "statsPageName": { - "message": "uBlock₀ — لاگ درخواست های شبکه", + "message": "uBlock₀ — واقعه‌نگار", "description": "Title for the logger window" }, "aboutPageName": { @@ -80,7 +80,7 @@ "description": "English: Click to open the dashboard" }, "popupTipZapper": { - "message": "ورود به حالت انتخاب اشیاء", + "message": "ورود به حالت له کردن اشیاء", "description": "Tooltip for the element-zapper icon in the popup panel" }, "popupTipPicker": { @@ -88,7 +88,7 @@ "description": "English: Enter element picker mode" }, "popupTipLog": { - "message": "رفتن به لاگ درخواست", + "message": "بازکردن واقعه‌نگار", "description": "Tooltip used for the logger icon in the panel" }, "popupTipNoPopups": { @@ -104,7 +104,7 @@ "description": "Tooltip for the no-popups per-site switch" }, "popupTipNoLargeMedia": { - "message": "تغییر وضعیت انسداد عناصر مدیای حجیم برای این سایت", + "message": "تغییر وضعیت مسدود کردن عناصر رسانه ای حجیم برای این سایت", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia1": { @@ -112,7 +112,7 @@ "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoLargeMedia2": { - "message": "کلیک کنید تا دیگر عناصر رسانه ای حجیم روی این سایت مسدود نشوند", + "message": "کلیک کنید تا از این به بعد عناصر رسانه ای حجیم روی این سایت مسدود نشوند", "description": "Tooltip for the no-large-media per-site switch" }, "popupTipNoCosmeticFiltering": { @@ -128,7 +128,7 @@ "description": "Tooltip for the no-cosmetic-filtering per-site switch" }, "popupTipNoRemoteFonts": { - "message": "تغییر وضعیت انسداد فونت های از راه دور برای این سایت", + "message": "تغییر وضعیت انسداد فونت های راه دور برای این سایت", "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipNoRemoteFonts1": { @@ -136,11 +136,11 @@ "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipNoRemoteFonts2": { - "message": "کلیک کنید تا دیگر فونت های راه دور در این سایت مسدود نشوند", + "message": "کلیک کنید تا از این به بعد فونت های راه دور در این سایت مسدود نشوند", "description": "Tooltip for the no-remote-fonts per-site switch" }, "popupTipGlobalRules": { - "message": "قوانین همگانی: این ستون برای قوانینی است که به تمامی سایت ها اعمال می شود.", + "message": "قوانین همگانی: این ستون برای قوانینی است که برای همۀ سایت ها اعمال می شوند.", "description": "Tooltip when hovering the top-most cell of the global-rules column." }, "popupTipLocalRules": { @@ -152,7 +152,7 @@ "description": "Tooltip when hovering over the padlock in the dynamic filtering pane." }, "popupTipRevertRules": { - "message": "برای برگشت تغییرات کلیک کنید.", + "message": "برای دور انداختن تغییراتی که اعمال کرده اید کلیک کنید.", "description": "Tooltip when hovering over the eraser in the dynamic filtering pane." }, "popupAnyRulePrompt": { @@ -260,7 +260,7 @@ "description": "For the tooltip of a link which gives access to advanced settings" }, "settingsPrefetchingDisabledPrompt": { - "message": "غیر فعال کردن واکشی اولیه (برای جلوگیری از هر گونه اتصال برای درخواست های شبکه مسدود شده)", + "message": "غیر فعال کردن واکشی اولیه (برای جلوگیری از هر گونه اتصال برای درخواست های مسدود شدۀ شبکه)", "description": "English: " }, "settingsHyperlinkAuditingDisabledPrompt": { @@ -396,7 +396,7 @@ "description": "used as a tooltip for the spinner icon beside a list" }, "3pNetworkError": { - "message": "یک خطای شبکه از بروزشدن منابع جلوگیری کرد.", + "message": "یک خطای شبکه از بروزشدن این منبع جلوگیری کرد.", "description": "used as a tooltip for error icon beside a list" }, "1pFormatHint": { @@ -576,7 +576,7 @@ "description": "Used in the static filtering wizard" }, "loggerStaticFilteringFinderSentence1": { - "message": "انسداد ایستا {{filter}} یاقت شد در:", + "message": "انسداد ایستا {{filter}} یافت شد در:", "description": "Below this sentence, the filter lists in which the filter was found" }, "aboutChangelog": { @@ -664,7 +664,7 @@ "description": "Firefox\/Fennec-specific: Show Dashboard" }, "showNetworkLogButton": { - "message": "نمایش درخواست ثبت شبکه", + "message": "نمایش واقعه‌نگار", "description": "Firefox\/Fennec-specific: Show Logger" }, "fennecMenuItemBlockingOff": { @@ -680,7 +680,7 @@ "description": "English: Because of the following filter" }, "docblockedNoParamsPrompt": { - "message": "بدون پارامتر", + "message": "بدون پارامترها", "description": "label to be used for the parameter-less URL: https:\/\/cloud.githubusercontent.com\/assets\/585534\/9832014\/bfb1b8f0-593b-11e5-8a27-fba472a5529a.png" }, "docblockedFoundIn": {