├── .gitignore ├── skin └── popup.png ├── icons ├── abp-16.png ├── abp-32.png └── detailed │ ├── abp-32.png │ └── abp-64.png ├── metadata.opera ├── chrome ├── icons │ ├── abp-19.png │ ├── abp-38.png │ ├── detailed │ │ └── abp-48.png │ ├── abp-19-whitelisted.png │ ├── abp-38-whitelisted.png │ ├── abp-19-notification-critical.png │ ├── abp-38-notification-critical.png │ ├── abp-19-notification-information.png │ └── abp-38-notification-information.png ├── managed-storage-schema.json └── ext │ ├── popup.js │ ├── content.js │ └── common.js ├── .hgignore ├── safari ├── icons │ ├── abp-16-notification-critical.png │ ├── abp-32-notification-critical.png │ ├── abp-16-notification-information.png │ └── abp-32-notification-information.png └── ext │ └── popup.js ├── jquery-ui └── css │ └── smoothness │ └── images │ ├── ui-icons_222222_256x240.png │ ├── ui-icons_2e83ff_256x240.png │ ├── ui-icons_454545_256x240.png │ ├── ui-icons_888888_256x240.png │ ├── ui-icons_cd0a0a_256x240.png │ ├── ui-bg_flat_0_aaaaaa_40x100.png │ ├── ui-bg_flat_75_ffffff_40x100.png │ ├── ui-bg_glass_55_fbf9ee_1x400.png │ ├── ui-bg_glass_65_ffffff_1x400.png │ ├── ui-bg_glass_75_dadada_1x400.png │ ├── ui-bg_glass_75_e6e6e6_1x400.png │ ├── ui-bg_glass_95_fef1ec_1x400.png │ └── ui-bg_highlight-soft_75_cccccc_1x100.png ├── dependencies ├── lib ├── elemHideHitRegistration.js ├── stats.js ├── icon.js ├── io.js ├── utils.js ├── whitelisting.js ├── sha1.js └── url.js ├── utils.js ├── _locales ├── zh_CN │ ├── store.description │ └── messages.json ├── zh_TW │ ├── store.description │ └── messages.json ├── ja │ └── store.description ├── ko │ ├── store.description │ └── messages.json ├── te │ ├── store.description │ └── messages.json ├── gu │ └── store.description ├── kn │ └── store.description ├── he │ └── store.description ├── hi │ └── store.description ├── id │ └── store.description ├── sr │ └── store.description ├── ta │ ├── store.description │ └── messages.json ├── en_GB │ └── store.description ├── en_US │ └── store.description ├── ar │ └── store.description ├── sl │ └── store.description ├── th │ └── store.description ├── bn │ └── store.description ├── fi │ └── store.description ├── sk │ └── store.description ├── fa │ └── store.description ├── nl │ └── store.description ├── ca │ └── store.description ├── da │ └── store.description ├── sv │ └── store.description ├── nb │ └── store.description ├── bg │ └── store.description ├── lt │ └── store.description ├── ro │ └── store.description ├── uk │ └── store.description ├── ru │ └── store.description ├── hr │ └── store.description ├── cs │ └── store.description ├── ms │ └── store.description ├── vi │ └── store.description ├── lv │ └── store.description ├── pt_PT │ └── store.description ├── de │ └── store.description ├── hu │ └── store.description ├── pt_BR │ └── store.description ├── tr │ └── store.description ├── it │ └── store.description ├── es │ └── store.description ├── es_419 │ └── store.description ├── et │ └── store.description ├── ml │ └── messages.json ├── pl │ └── store.description ├── fil │ └── store.description ├── fr │ └── store.description ├── el │ └── store.description └── sw │ └── messages.json ├── ext ├── common.js └── background.js ├── qunit ├── common.js ├── index.html └── tests │ ├── filterValidation.js │ ├── versionComparator.js │ └── cssEscaping.js ├── popupBlocker.js ├── block.html ├── README.md ├── webrequest.js ├── popup.html ├── notification.js ├── block.js ├── stats.js └── metadata.common /.gitignore: -------------------------------------------------------------------------------- 1 | /devenv/ 2 | *.zip 3 | *.crx 4 | *.safariextz 5 | *.pyc 6 | *.pyo 7 | *.sh 8 | -------------------------------------------------------------------------------- /skin/popup.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/skin/popup.png -------------------------------------------------------------------------------- /icons/abp-16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/icons/abp-16.png -------------------------------------------------------------------------------- /icons/abp-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/icons/abp-32.png -------------------------------------------------------------------------------- /metadata.opera: -------------------------------------------------------------------------------- 1 | [default] 2 | inherit = metadata.chrome 3 | 4 | [general] 5 | basename = adblockplusopera 6 | -------------------------------------------------------------------------------- /chrome/icons/abp-19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-19.png -------------------------------------------------------------------------------- /chrome/icons/abp-38.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-38.png -------------------------------------------------------------------------------- /.hgignore: -------------------------------------------------------------------------------- 1 | ^devenv$ 2 | 3 | syntax:glob 4 | *.zip 5 | *.crx 6 | *.safariextz 7 | *.pyc 8 | *.pyo 9 | *.sh 10 | -------------------------------------------------------------------------------- /icons/detailed/abp-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/icons/detailed/abp-32.png -------------------------------------------------------------------------------- /icons/detailed/abp-64.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/icons/detailed/abp-64.png -------------------------------------------------------------------------------- /chrome/icons/detailed/abp-48.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/detailed/abp-48.png -------------------------------------------------------------------------------- /chrome/icons/abp-19-whitelisted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-19-whitelisted.png -------------------------------------------------------------------------------- /chrome/icons/abp-38-whitelisted.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-38-whitelisted.png -------------------------------------------------------------------------------- /chrome/icons/abp-19-notification-critical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-19-notification-critical.png -------------------------------------------------------------------------------- /chrome/icons/abp-38-notification-critical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-38-notification-critical.png -------------------------------------------------------------------------------- /safari/icons/abp-16-notification-critical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/safari/icons/abp-16-notification-critical.png -------------------------------------------------------------------------------- /safari/icons/abp-32-notification-critical.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/safari/icons/abp-32-notification-critical.png -------------------------------------------------------------------------------- /chrome/icons/abp-19-notification-information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-19-notification-information.png -------------------------------------------------------------------------------- /chrome/icons/abp-38-notification-information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/chrome/icons/abp-38-notification-information.png -------------------------------------------------------------------------------- /safari/icons/abp-16-notification-information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/safari/icons/abp-16-notification-information.png -------------------------------------------------------------------------------- /safari/icons/abp-32-notification-information.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/safari/icons/abp-32-notification-information.png -------------------------------------------------------------------------------- /chrome/managed-storage-schema.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "object", 3 | "properties": { 4 | "suppress_first_run_page": { 5 | "type": "boolean" 6 | } 7 | } 8 | } 9 | -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-icons_222222_256x240.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-icons_2e83ff_256x240.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-icons_454545_256x240.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-icons_888888_256x240.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-icons_cd0a0a_256x240.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_flat_75_ffffff_40x100.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_glass_65_ffffff_1x400.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_glass_75_dadada_1x400.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png -------------------------------------------------------------------------------- /jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adblockplus/backup-adblockpluschrome/HEAD/jquery-ui/css/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png -------------------------------------------------------------------------------- /dependencies: -------------------------------------------------------------------------------- 1 | _root = hg:https://hg.adblockplus.org/ git:https://github.com/adblockplus/ 2 | _self = buildtools/ensure_dependencies.py 3 | buildtools = buildtools hg:3a314c32bde7 git:220fc28 4 | adblockplus = adblockplus hg:b7c6ed7c2137 git:7dce96a 5 | adblockplusui = adblockplusui hg:75a50600e10a git:7ebacdc 6 | adblockplustests = adblockplustests hg:ae6c7a2cc723 git:840ac66 7 | -------------------------------------------------------------------------------- /chrome/ext/popup.js: -------------------------------------------------------------------------------- 1 | (function() 2 | { 3 | var backgroundPage = chrome.extension.getBackgroundPage(); 4 | window.ext = Object.create(backgroundPage.ext); 5 | 6 | ext.closePopup = function() 7 | { 8 | window.close(); 9 | }; 10 | 11 | // We have to override ext.backgroundPage, because in order 12 | // to send messages the local "chrome" namespace must be used. 13 | ext.backgroundPage = { 14 | sendMessage: chrome.runtime.sendMessage, 15 | 16 | getWindow: function() 17 | { 18 | return backgroundPage; 19 | } 20 | }; 21 | })(); 22 | -------------------------------------------------------------------------------- /lib/elemHideHitRegistration.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | // 19 | // Dummy implementation 20 | // 21 | 22 | var AboutHandler = exports.AboutHandler = {}; 23 | -------------------------------------------------------------------------------- /chrome/ext/content.js: -------------------------------------------------------------------------------- 1 | chrome.runtime.onMessage.addListener(function(message, sender, sendResponse) 2 | { 3 | return ext.onMessage._dispatch(message, {}, sendResponse).indexOf(true) != -1; 4 | }); 5 | 6 | ext.onExtensionUnloaded = (function() 7 | { 8 | var port = null; 9 | 10 | return { 11 | addListener: function(listener) 12 | { 13 | if (!port) 14 | port = chrome.runtime.connect(); 15 | 16 | // When the extension is reloaded, disabled or uninstalled the 17 | // background page dies and automatically disconnects all ports 18 | port.onDisconnect.addListener(listener); 19 | }, 20 | removeListener: function(listener) 21 | { 22 | if (port) 23 | { 24 | port.onDisconnect.removeListener(listener) 25 | 26 | if (!port.onDisconnect.hasListeners()) 27 | { 28 | port.disconnect(); 29 | port = null; 30 | } 31 | } 32 | } 33 | }; 34 | })(); 35 | -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | var backgroundPage = ext.backgroundPage.getWindow(); 2 | var require = backgroundPage.require; 3 | 4 | var Services = backgroundPage.Services; 5 | var Synchronizer = require("synchronizer").Synchronizer; 6 | var Utils = require("utils").Utils; 7 | var Prefs = require("prefs").Prefs; 8 | var FilterStorage = require("filterStorage").FilterStorage; 9 | var FilterNotifier = require("filterNotifier").FilterNotifier; 10 | 11 | var subscriptionClasses = require("subscriptionClasses"); 12 | var Subscription = subscriptionClasses.Subscription; 13 | var DownloadableSubscription = subscriptionClasses.DownloadableSubscription; 14 | var filterClasses = require("filterClasses"); 15 | var Filter = filterClasses.Filter; 16 | var BlockingFilter = filterClasses.BlockingFilter; 17 | var defaultMatcher = require("matcher").defaultMatcher; 18 | 19 | /** 20 | * Shortcut for document.getElementById(id) 21 | */ 22 | function E(id) 23 | { 24 | return document.getElementById(id); 25 | } 26 | -------------------------------------------------------------------------------- /_locales/zh_CN/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus 可屏蔽各网站上的烦人的广告,并允许显示非侵入式的广告(可配置)。 2 | 3 | 享受没有恼人广告的网络世界!Google Chrome 上的 Adblock Plus 可屏蔽: 4 | 5 | · 横幅广告 6 | · YouTube 视频广告 7 | · Facebook 广告活动 8 | · 弹出窗口 9 | · 以及其他侵入式的广告 10 | 11 | Adblock Plus 是世界上最流行的浏览器扩展,在全球有着数以千万计的用户。这是一个社区驱动的开源项目,并有着数百名志愿者为 Adblock Plus 的成功做着极大的贡献,来保证过滤所有烦人的广告。 12 | 13 | 请注意,在您安装 Adblock Plus for Chrome 之时,您的浏览器会显示一个警告,表示 Adblock Plus for Chrome 有权访问您的浏览历史和数据。这只是一条统一的信息,我们从未并且永远不会收集任何信息! 14 | 15 | 近日,Adblock Plus 社区推出了可接受广告的倡议。通过观看一些小型或静态的广告,您可以支持依赖于非侵入式广告生存的网站。您也可在任何时间禁用此功能。查阅 http://adblockplus.org/en/acceptable-ads 了解细节。 16 | 17 | *********** 18 | 发布公告和更新日志位于: http://adblockplus.org/releases/ 19 | 20 | 遇到问题?请尝试:重启 Chrome,在 Adblock Plus 选项中点击“立即更新”。 21 | 22 | 发现 bug?我们已经知道了一些问题: http://adblockplus.org/en/known-issues-chrome。如果您发现了我们未知的 bug 或者需要帮助,请访问我们的论坛: https://adblockplus.org/forum/viewforum.php?f=10。 23 | 24 | ************* 25 | 喜欢冒险的感觉?试试我们的开发版本,最先体验 Chrome Adblock Plus 的最新功能: http://adblockplus.org/en/development-builds (单独更新,独立设置)。 -------------------------------------------------------------------------------- /_locales/zh_TW/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus 會過濾所有惱人的廣告,且預設會支援採用較不起眼廣告的網站 (可變更此設定)。 2 | 3 | 盡情享受清靜的網路世界吧!Adblock Plus for Google Chrome 將會過濾: 4 | 5 | · 各式橫幅廣告 6 | · YouTube 影片廣告 7 | · Facebook 廣告 8 | · 各種彈出式視窗 9 | · 其他礙眼的廣告 10 | 11 | Adblock Plus 是世上最受歡迎的瀏覽器擴充套件,全球共有數百萬的用戶正在使用。這是個由社群主導的開放原始碼專案,並有數百名志願者貢獻、反饋給社群來確保 Adblock Plus 能夠自動過濾所有惱人的廣告。 12 | 13 | 請注意:當您安裝 Adblock Plus for Chrome 時,瀏覽器會警告說 Adblock Plus for Chrome 將擁有存取您瀏覽紀錄及資料的權限。這是標準的提示訊息,我們絕不會收集任何資料! 14 | 15 | Adblock Plus 社群最近引進了非侵入式廣告倡議。只要允許放行一些小型且為靜態的廣告,您就能支持那些仰賴廣告維生,卻願意改採非侵入式廣告的網站。這項功能可隨時停用。請造訪 http://adblockplus.org/zh_TW/acceptable-ads 來了解更多資訊。 16 | 17 | *********** 18 | 發佈公告及更新日誌可在此取得: http://adblockplus.org/releases/ 19 | 20 | 碰到問題了嗎?請嘗試重新啟動 Chrome 及點選 Adblock Plus 選項中的「立即更新」按鈕試試。 21 | 22 | 發現有 bug?我們發現了一些已知問題:https://adblockplus.org/zh_TW/known-issues-chrome。若您發現其他問題或需要幫助,請造訪我們的論壇:https://adblockplus.org/forum/viewforum.php?f=10。 23 | 24 | ************* 25 | 喜歡嘗鮮嗎?試試開發中的 Chrome Adblock Plus 來取得最新功能:http://adblockplus.org/en/development-builds (單獨更新且使用獨立設定)。 -------------------------------------------------------------------------------- /_locales/ja/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus はすべての迷惑な広告をブロックしつつ、デフォルトで「控えめな広告を許可」することで Web サイトも支援します (設定変更可能) 。 2 | 3 | 画面上に散らばる迷惑な広告なしで Web サーフィンを楽しみましょう!Adblock Plus for Google Chrome のブロック対象は以下の通り: 4 | 5 | ・バナー 6 | ・Youtube 動画広告 7 | ・Facebook 広告 8 | ・ポップアップ 9 | ・その他の目障りな広告すべて 10 | 11 | Adblock Plus は世界で最も人気のあるブラウザ拡張で、世界に数百万のユーザーがいます。迷惑な広告がきちんとすべて自動的にブロックされ、Adblock Plus がうまくいくよう数百人のボランティアが貢献しているコミュニティ主導のオープンソースプロジェクトです。 12 | 13 | 注意:インストールの際は Adblock Plus for Chrome がブラウジング履歴とデータにアクセスする旨の警告が表示されます。これは普通のことで、何らかの情報を集めるということは決してありません! 14 | 15 | さきごろ Adblock Plus コミュニティは控えめな広告を許可する構想を発表しました。小さく静的な広告をある程度許可することで、目障りにならない広告に頼る Web サイトを選択的に支援します。この機能はいつでも無効にできます。詳細は http://adblockplus.org/en/acceptable-ads をご覧ください。 16 | 17 | *********** 18 | リリースのお知らせや更新履歴はこちら: http://adblockplus.org/releases/ 19 | 20 | 何か問題ありましたか?ブラウザ再起動や Adblock Plus オプションの「今すぐ更新」を試してみてください。 21 | 22 | 不具合を見つけましたか?我々は問題に気付いているかもしれません: http://adblockplus.org/en/known-issues-chrome 。新たな問題を見つけたりヘルプが必要ならフォーラムへお越しください: https://adblockplus.org/forum/viewforum.php?f=10 23 | 24 | ************* 25 | 冒険心はありますか?最新の Adblock Plus 機能を試せる開発版 (development build) を使ってみてください: http://adblockplus.org/en/development-builds (正式版とは別更新/別設定)。 -------------------------------------------------------------------------------- /chrome/ext/common.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | (function() 19 | { 20 | /* Message passing */ 21 | 22 | ext.onMessage = new ext._EventTarget(); 23 | 24 | 25 | /* Background page */ 26 | 27 | ext.backgroundPage = { 28 | sendMessage: chrome.runtime.sendMessage, 29 | getWindow: function() 30 | { 31 | return chrome.extension.getBackgroundPage(); 32 | } 33 | }; 34 | 35 | 36 | /* Utils */ 37 | 38 | ext.getURL = chrome.extension.getURL; 39 | ext.i18n = chrome.i18n; 40 | })(); 41 | -------------------------------------------------------------------------------- /_locales/ko/store.description: -------------------------------------------------------------------------------- 1 | 성가신 유튜브 비디오 광고, 페이스북 광고, 각종 배너와 그 이상의 것들을 차단합니다. 2 | 3 | 인터넷 이용을 방해하거나 불법·유해한 광고 없이 웹서핑을 즐기십시오! 4 | 구글 크롬용 애드블록 플러스는 다음의 항목들을 차단할 수 있습니다. 5 | 6 | · 각종 배너 7 | · 유튜브 비디오 광고 8 | · 페이스북 광고 9 | · 팝업 광고 10 | · 기타 침입성 광고 11 | 12 | 애드블록 플러스는 세계적으로 가장 인기있는 브라우저 확장 프로그램이며, 수백만 명의 사용자가 사용하고 있습니다. 이 확장 프로그램은 커뮤니티에 의해 운영되는 공개 소스 프로젝트에 기반을 두고 있으며, 수많은 자원봉사자가 자동으로 성가신 광고를 차단하는 애드블록 플러스의 성공에 공헌하고 있습니다. 13 | 14 | 참고사항 : 크롬용 애드블록 플러스를 설치할 때 크롬용 애드블록 플러스는 브라우징 기록과 데이터에 접근해야 한다는 메시지가 나타날 것입니다. 이것은 일반적인 메시지이며, 우리는 어떠한 정보도 결코 수집하지 않습니다! 15 | 16 | 최근에 애드블록 플러스 커뮤니티는 초기의 허용 광고를 도입했습니다. 일부 작고 고정된 광고를 허용함으로써 양질의 콘텐츠를 제공하는 하면서 비침입적인 광고를 적용한 사이트를 지원하고 있습니다. 이 기능은 언제든지 사용하지 않을 수 있습니다. 허용 광고에 대해 자세히 알고 싶으면 다음 주소를 참고하십시오. http://adblockplus.org/en/acceptable-ads 17 | 18 | *********** 19 | 출시 정보와 변경사항은 여기를 참고하십시오 : http://adblockplus.org/releases/ 20 | 문제가 발생했습니까? 애드블록 플러스 옵션에 있는 "지금 업데이트"를 클릭하거나 크롬을 다시 시작해보십시오. 21 | 버그를 발견했습니까? 현재 인식하고 있는 일부 문제는 여기에 있습니다 : http://adblockplus.org/en/known-issues-chrome 22 | 만약 도움이 필요하면 포럼을 방문하십시오 : https://adblockplus.org/forum/viewforum.php?f=10 23 | 24 | ************* 25 | 최신 버전의 확장 프로그램을 사용하고 싶습니까? 그렇다면 크롬용 애드블록 플러스의 개발 빌드를 사용하십시오. 26 | http://adblockplus.org/en/development-builds (별도의 업데이트, 독립적인 설정 방식) -------------------------------------------------------------------------------- /_locales/te/store.description: -------------------------------------------------------------------------------- 1 | అద్బ్లాచ్క్ ప్లస్ అక్కరిలేని అద్స్ ని బ్లాక్ చేసుది. 2 | నెట్ ని అద్స్ లేక్కుండా వాదుకొన్ది. ఈ ప్రోగ్రాం ఇవ్వి బ్లాక్ చేస్తుంది: 3 | · బ్యానర్లు 4 | · యొఉతుబె, ఫేస్బుక్ వీడియో ప్రకటనలు 5 | · ఫేస్బుక్ ప్రకటనలు 6 | · పాప్ అప్స్ 7 | · అన్ని ఇతర యాడ్స్ 8 | 9 | అద్బ్లాచ్క్ ప్లస్ ప్రపంచంలో అత్యంత ప్రజాదరణ బ్రౌజర్ పొడిగింపు, మరియు ప్రపంచవ్యాప్తంగా లక్షలాది వినియోగదారులు ఉపయోగిస్తారు. ఇది ఒక కమ్యూనిటీ నడిచే ఓపెన్ సోర్స్ ప్రాజెక్ట్ మరియు స్వచ్ఛందంగా వందల అన్ని బాధించే యాడ్స్ స్వయంచాలకంగా బ్లాక్ నిర్ధారించుకోండి ట్యాగ్ ప్లస్ విజయం కారణమైన. 10 | 11 | క్రోమ్ వార్నింగ్ ఇస్సుంది, కానీ మీ ఇన్ఫర్మేషన్ మేము ఎప్పుడు తీసుకొం 12 | 13 | కొత్తగా, ఆడ్బ్లాక్ ప్లస్ కమ్యూనిటీ ఆమోదనీయమైన ప్రకటనలు చొరవ పరిచయం. కొన్ని చిన్న మరియు స్టాటిక్ యాడ్స్ అనుమతించడం ద్వారా, మీరు ప్రకటనలు ఆధారపడి కానీ ఒక కాని అనుచిత విధంగా చేయటానికి ఎంచుకోండి వెబ్సైట్లు మద్దతు. ఈ ఫీచర్ ఏ సమయంలో డిసేబుల్ చేయవచ్చు. మరింత తెలుసుకోవడానికి http://adblockplus.org/en/acceptable-ads వెళ్ళండి. 14 | 15 | విడుదల ప్రకటనలు మరియు నవీకరణలు ఇక్కడ చూడవచ్చు: http://adblockplus.org/releases/ 16 | 17 | సమస్యలు? పునఃప్రారంభించి బ్రౌజరు మరియు / లేదా ట్యాగ్ ప్లస్ ఐచ్ఛికాలు లో "ఇప్పుడు నవీకరించు" క్లిక్ చేయడం ప్రయత్నించండి. 18 | 19 | ఒక బగ్ కనుగొనబడింది? మేము కొన్ని సమస్యలు తెలుసుకునే: http://adblockplus.org/en/known-issues-chrome. Https://adblockplus.org/forum/viewforum.php?f=10: మీరు మరింత దొరకలేదు లేదా సహాయం అవసరం ఉంటే, మా ఫోరమ్ సందర్శించండి. 20 | 21 | సాహసోపేత ఫీలింగ్? ఒక అభివృద్ధి బిల్డ్ ప్రయత్నించండి 22 | http://adblockplus.org/en/development-builds (స్వతంత్ర సెట్టింగులు, విడిగా నవీకరించబడింది). 23 | -------------------------------------------------------------------------------- /ext/common.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | 19 | (function() 20 | { 21 | window.ext = {}; 22 | 23 | var EventTarget = ext._EventTarget = function() 24 | { 25 | this._listeners = []; 26 | }; 27 | EventTarget.prototype = { 28 | addListener: function(listener) 29 | { 30 | if (this._listeners.indexOf(listener) == -1) 31 | this._listeners.push(listener); 32 | }, 33 | removeListener: function(listener) 34 | { 35 | var idx = this._listeners.indexOf(listener); 36 | if (idx != -1) 37 | this._listeners.splice(idx, 1); 38 | }, 39 | _dispatch: function() 40 | { 41 | var results = []; 42 | 43 | for (var i = 0; i < this._listeners.length; i++) 44 | results.push(this._listeners[i].apply(null, arguments)); 45 | 46 | return results; 47 | } 48 | }; 49 | })(); 50 | -------------------------------------------------------------------------------- /_locales/gu/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus દરેક અણગમતી એડ્સ બ્લોક કરે છે, પણ વેબસાઈટની જરૂરી એડ બ્લોક કરતું નથી (કોન્ફીગ્યુંરેબલ). 2 | 3 | હવે સર્ફિંગ કરો વેબસાઈટો અણગમતી એડ્સ વડે સ્ક્રીન રોક્યા વગર! Adblock Plus ગુગલ Chrome માટે જે બ્લોક કરે છે: 4 | 5 | ·બેનર 6 | ·યુટ્યુબ વિડીઓ એડ્સ 7 | ·ફેસબુક એડ્સ 8 | ·પોપ અપ 9 | ·બીજી અણગમતી એડ્સ 10 | 11 | Adblock Plus એ દુનિયાનું સૌથી પ્રસિદ્ધ બ્રાઉઝર એક્સટેન્સન છે, અને તે લાખો લોકો દુનિયાભરમાં વાપરે છે. આ એક ઓપેનસોર્સ પ્રોજેક્ટ છે, અને ઘણા-બધાં વોલેન્ટીયર Adblock Plusની સફળતા માટે સંકળાયેલા છે જેઓ અણગમતી એડ્સ ઓટોમેટીકલી બ્લોક થઇ જાય તેનું ધ્યાન રાખે છે. 12 | 13 | ધ્યાન રાખો: ક્રોમમાં ઇન્સ્ટોલ કરતી વખતે , જો બ્રાઉઝર વાર્નિંગ આપે કે Adblock Plus for Chrome has access to your browsing history and data. તો આ એક સામાન્ય મેસેજ છે, અમે ક્યારેય તમારી કોઈ માહિતી કલેક્ટ કરતા નથી. 14 | 15 | તાજેતરમાં, Adblock Plusમાં નાની એડ્સ ઇનિસિએટિવ એક્સેપ્ટ કરી છે. નાની એડ્સ અલોવ કરીને તમે એડ્સ વડે ચાલતી વેબસાઈટને સપોર્ટ કરી શકો છો. આ ફીચર ગમે ત્યારે ડિસેબલ કરી શકાય છે. વધું માહિતી માટે http://adblockplus.org/en/acceptable-ads પર જાવ. 16 | 17 | *********** 18 | રીલીઝ અનાઉન્સમેન્ટ અને ફેરબદલ અહિયાં મેળવી શકાશે: http://adblockplus.org/releases/ 19 | 20 | પ્રોબ્લેમ ? ક્રોમને રીસ્ટાર્ટ કરો અને/અથવા Adblock Plus ઓપ્શનમાં "Update now" પર ક્લિક કરો 21 | 22 | કોઈ ભૂલ છે ? અમને આહીં જણાવો: http://adblockplus.org/en/known-issues-chrome . જો કઈ વધું ભૂલ મળે અથવા મદદ માટે , આ ફોરમ ની મુલાકાત લો : https://adblockplus.org/forum/viewforum.php?f=10 . 23 | 24 | ************* 25 | એડવેન્ચર માણવું છે ? ક્રોમનું Adblock Plus નું ડેવલોપમેન્ટ build ટ્રાય કરો: http://adblockplus.org/en/development-builds (updated separately, independent settings). -------------------------------------------------------------------------------- /_locales/kn/store.description: -------------------------------------------------------------------------------- 1 | ನಿಮ್ಮ ತೆರೆ ಗೊಂದಲವುಂಟು ಮಾಡುವಿಕೆ ಮುಂಚಾಚಿದ ಜಾಹೀರಾತುಗಳು ಇಲ್ಲದೆ ವೆಬ್ ಸರ್ಫಿಂಗ್ ಆನಂದಿಸಿ! 2 | 3 | ಗೂಗಲ್ ಕ್ರೋಮ್ ಬ್ಲಾಕ್ಗಳನ್ನು ಆಡ್ಬ್ಲಾಕ್ ಪ್ಲಸ್ : 4 | 5 | · ಬ್ಯಾನರ್ಗಳು 6 | · YouTube ವೀಡಿಯೊ ಜಾಹೀರಾತುಗಳು 7 | · ಫೇಸ್ಬುಕ್ ಜಾಹೀರಾತುಗಳು 8 | · ಪಾಪ್ ಅಪ್ಗಳನ್ನು 9 | · ಎಲ್ಲಾ ಇತರ ಮುಂಚಾಚಿದ ಜಾಹೀರಾತುಗಳು 10 | 11 | ಆಡ್ಬ್ಲಾಕ್ ಪ್ಲಸ್ ವಿಶ್ವದ ಜನಪ್ರಿಯ ಬ್ರೌಸರ್ ವಿಸ್ತರಣೆ , ಮತ್ತು ವಿಶ್ವಾದ್ಯಂತ ಲಕ್ಷಾಂತರ ಬಳಕೆದಾರರು ಬಳಸಲ್ಪಡುತ್ತದೆ . ಇದು ಒಂದು ಸಮುದಾಯ ಚಾಲಿತ ತೆರೆದ ಮೂಲ ಪ್ರಾಜೆಕ್ಟ್ , ಮತ್ತು ಸ್ವಯಂಸೇವಕರು ನೂರಾರು ಎಲ್ಲಾ ಕಿರಿಕಿರಿ ಜಾಹೀರಾತುಗಳು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ ಆಡ್ಬ್ಲಾಕ್ ಪ್ಲಸ್ ಯಶಸ್ಸಿಗೆ ಕಾರಣವಾಗಿರಬಹುದು . 12 | 13 | ದಯವಿಟ್ಟು ಗಮನಿಸಿ : ಕ್ರೋಮ್ ಆಡ್ಬ್ಲಾಕ್ ಪ್ಲಸ್ ಅನುಸ್ಥಾಪಿಸುವಾಗ, ನಿಮ್ಮ ಬ್ರೌಸರ್ ಕ್ರೋಮ್ ಆಡ್ಬ್ಲಾಕ್ ಪ್ಲಸ್ ನಿಮ್ಮ ಬ್ರೌಸಿಂಗ್ ಇತಿಹಾಸ ಮತ್ತು ಮಾಹಿತಿ ಪ್ರವೇಶ ಹೊಂದಿರುವ ಎಚ್ಚರಿಕೆ ತೋರಿಸುತ್ತದೆ . ಈ ಪ್ರಮಾಣಿತ ಸಂದೇಶ , ನಾವು ಯಾವುದೇ ಮಾಹಿತಿ ಇಲ್ಲ ಸಂಗ್ರಹಿಸಲು ಎಂದಿಗೂ! 14 | 15 | ಇತ್ತೀಚೆಗೆ , ಆಡ್ಬ್ಲಾಕ್ ಪ್ಲಸ್ ಸಮುದಾಯ ಸ್ವೀಕಾರಾರ್ಹ ಜಾಹೀರಾತುಗಳು ಉಪಕ್ರಮವು ಪರಿಚಯಿಸಿತು . ಕೆಲವು ಸಣ್ಣ ಮತ್ತು ಸ್ಥಿರ ಜಾಹೀರಾತುಗಳು ಅವಕಾಶ , ನೀವು ಜಾಹೀರಾತು ಅವಲಂಬಿಸಿವೆ ಆದರೆ ಒಳನುಗ್ಗದಂತಹ ರೀತಿಯಲ್ಲಿ ಇದನ್ನು ಆಯ್ಕೆ ವೆಬ್ಸೈಟ್ಗಳ ಬೆಂಬಲಿಸುವುದಿಲ್ಲ. ಈ ವೈಶಿಷ್ಟ್ಯವು ಯಾವುದೇ ಸಮಯದಲ್ಲಿ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಮಾಡಬಹುದು . ಹೆಚ್ಚಿನ ಕಂಡುಹಿಡಿಯಲು http://adblockplus.org/en/acceptable-ads ಹೋಗಿ . 16 | 17 | *********** 18 | ಬಿಡುಗಡೆ ಪ್ರಕಟಣೆಗಳು ಮತ್ತು Changelogs ಇಲ್ಲಿ ಕಾಣಬಹುದು : http://adblockplus.org/releases/ 19 | 20 | ತೊಂದರೆಗಳು ? ಕ್ರೋಮ್ ಮತ್ತು / ಅಥವಾ ಪುನರ್ ಆಡ್ಬ್ಲಾಕ್ ಪ್ಲಸ್ ಆಯ್ಕೆಗಳು " ಈಗ ಅಪ್ಡೇಟ್ " ಕ್ಲಿಕ್ ಮಾಡಿರಿ . 21 | 22 | ಒಂದು ದೋಷ ಕಂಡುಬಂದಿದೆ ? ನಾವು ಕೆಲವು ಸಮಸ್ಯೆಗಳ ಅರಿವಿದೆ : http://adblockplus.org/en/known-issues-chrome . Https://adblockplus.org/forum/viewforum.php?f=10 : ನೀವು ಹೆಚ್ಚು ಕಂಡು ಅಥವಾ ಸಹಾಯ ಬೇಕಾದರೆ , ನಮ್ಮ ಭೇಟಿ . -------------------------------------------------------------------------------- /_locales/he/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus חוסם את כל המודעות המטרידות, ותומך באתרים על ידי אי-חסימת מודעות לא פולשניות כברירת מחדל (ניתן להגדרה). 2 | 3 | תהנו מגלישה ברשת ללא מודעות פולשניות המעמיסות על המסך שלכם! Adblock Plus עבור Google Chrome חוסם: 4 | 5 | · באנרים 6 | · מודעות וידאו של YouTube 7 | · פרסום ב-Facebook 8 | · חלונות קופצים 9 | · כל המודעות הפולשניות האחרות 10 | 11 | Adblock Plus היא הרחבת הדפדפן הפופולרית ביותר בעולם, ומשתמשים בה מליוני משתמשים ברחבי העולם. זהו פרויקט קוד פתוח מוכוון קהילה, ומאות מתנדבים תורמים להצלחת Adblock Plus כדי לוודא שכל המודעות המטרידות יחסמו אוטומטית. 12 | 13 | לתשומת לבכם: כאשר מתקינים את Adblock Plus עבור Chrome, הדפדפן שלכן יציג אזהרה של-Adblock Plus עבור Chrome יש גישה להיסטוריית הגלישה והמידע שלכם. זוהי הודעה סטנדרטית, אנו אף פעם לא אוספים כל מידע שהוא! 14 | 15 | לאחרונה קהילת Adblock Plus הציגה את יוזמת המודעות המתקבלות. על ידי אפשור מעט מודעות סטטיות קטנות, הנכם תומכים באתרים אשר מסתמכים על פרסום אבל בוחרים לעשות זאת בדרך שאיננה פולשנית. אפשרות זו ניתנת לנטרול בכל זמן נתון. גשו אל http://adblockplus.org/en/acceptable-ads כדי לברר פרטים נוספים. 16 | 17 | *********** 18 | את הכרזות השחרור ורשימת השינויים ניתן למצוא כאן: http://adblockplus.org/releases/ 19 | 20 | נתקלים בבעיה? נסו לאתחל את Chrome ו/או ללחוץ על "עדכן כעת" באפשרויות Adblock Plus. 21 | 22 | מצאתם באג? אנו מודעים לחלק מהבעיות: http://adblockplus.org/en/known-issues-chrome אם מצאתם נוספות או זקוקים לעזרה, בקרו בפורום שלנו: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | מרגישים הרפתקניים? נסו את גרסת הפיתוח כדי תמיד לקבל את האפשרויות העדכניות ביותר של Chrome Adblock Plus: ב-http://adblockplus.org/en/development-builds (מעודכן באופן נפרד, הגדרות עצמאיות). 26 | -------------------------------------------------------------------------------- /_locales/hi/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus सभी कष्टप्रद विज्ञापनों को रोकता है, और विनीत विज्ञापनों (विन्यास) डिफ़ॉल्ट रूप से अवरुद्ध नहीं द्वारा वेबसाइटों का समर्थन करता है।

विज्ञापनहिन् सर्फिंग का आनंद लें!

Google Chrome ब्लाकों के लिए Adblock Plus:
· बैनर
· YouTube वीडियो विज्ञापन
· Facebook विज्ञापन
· पॉप-अप्स
· अन्य सभी विज्ञापन
Adblock Plus दुनिया का सबसे लोकप्रिय ब्राउज़र एक्सटेंशन है, और लाखों लोगों द्वारा दुनिया भर में प्रयोग किया जाता है। यह एक ओपन सोर्स समुदाय संचालित परियोजना है, और सैकड़ों स्वयंसेवक Adblock Plus कि कामयाबी के लिए अपना योगदान देते है, ताकि सकपका देने वाले सभी विज्ञापनो को हटाया जा सके।
कृपया ध्यान दें: जब Adblock Plus, आपके Chrome ब्राउज़र पर चलता है तब एक चेतावनी दी जाती है, जिसके अनुसार Adblock Plus आपका ब्राउज़िंग इतिहास और डेटा इस्तमाल करता है। यह एक मानक संदेश है, हम कभी आपकी किसी भी जानकारी को अपने पास जमा नहीं करते!
हाल ही में, Adblock Plus समुदाय ने स्वीकार्य विज्ञापनों की पहल शुरू की है, कुछ छोटे और स्थैतिक विज्ञापन की अनुमति देकर परंतु किसी भी समय यह सुविधा अक्षम कि जा सक्ति है। अधिक जानकारी के लिए
http://adblockplus.org/en/acceptable-ads पर जाएँ।
***********
रिलीज घोषणाओं और बदली पत्र यहाँ पाया जा सकता है:
http://adblockplus.org/releases/

समस्या? कृपया कर Chrome रीस्टार्ट करें फिर Adblock Plus को अपडेट करें।

एक दोष मिल गया? हमे कुछ मुद्दों के बारे में पता कर रहे हैं: http://adblockplus.org/en/known-issues-chrome. यदि आपको अधिक मदद की ज़रूरत है, हमारे फोरम पर जाएँ:
https://adblockplus.org/forum/viewforum.php?f=10.

*************
उत्साहित? Chrome Adblock Plus के नवीनतम सुविधाओं के लिए एक विकास निर्माण का प्रयास करें: http://adblockplus.org/en/development-builds (अलग से अद्यतित, स्वतंत्र सेटिंग्स)। -------------------------------------------------------------------------------- /_locales/id/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus memblokir semua iklan pengganggu, dan mendukung website dengan tidak memblokir iklan yang tidak mengganggu secara bawaan (dapat dikonfigurasi). 2 | 3 | Nikmati berselancar di web tanpa iklan pengganggu menghiasi layar anda! Adblock plus untuk Google Chrome memblokir : 4 | 5 | · Banners 6 | · Iklan video YouTube 7 | · Iklan Facebook 8 | · Iklan pop-ups 9 | · Semua iklan penggangu 10 | 11 | Adblock Plus adalah extension browser paling populer didunia, dan telah digunakan oleh jutaan pengguna internet. Ini adalah proyek Open Source yang digerakkan oleh komunitas, dan ratusan sukarelawan yang berkontribusi mensukseskan Adblock Plus untuk memastikan semua iklan penggangu secara otomatis terblokir. 12 | 13 | Mohon diketahui, ketika menginstall Adblock Plus untuk Chrome, browser anda akan menampilkan pemberitahuan bahwa Adblock Plus untuk Chrome mempunyai akses terhadap sejarah browsing dan data anda. Ini adalah pesan standar, kami TIDAK PERNAH mengambil Informasi tentang apapun. 14 | 15 | ************* 16 | Pemberitahuan rilis dan catatan perubahan dapat ditemukan disini : 17 | http://adblockplus.org/releases/ 18 | 19 | Ada masalah? Cobalah merestart Chrome dan/atau klik "Update sekarang" pada pilihan Adblock Plus. 20 | 21 | Menemukan bug? Kami telah mengetahui beberapa isu: http://adblockplus.org/en/known-issues-chrome. Jika anda menemukan isu yang belum ada atau membutuhkan bantuan, kunjungi forum kami : 22 | https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Merasa tertantang? Coba yang masih dalam tahap pengembangan untuk mendapat fitur paling baru pada Chrome Adblock Plus: http://adblockplus.org/en/development-builds (diperbaharui secara terpisah, pengaturan independen). -------------------------------------------------------------------------------- /_locales/sr/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus блокира све досадне огласе, а с друге стране подржава сајтове који користе ненападне огласе, које програм не блокира по подразумеваним поставкама. 2 | 3 | Уживајте у сурфовању интернетом без наметљивих огласа који затрпавају ваш екран! Adblock Plus за Google Chrome блокира: 4 | 5 | · Рекламне натписе (банере) 6 | · Огласе на снимцима на YouTube-у 7 | · Огласе на Facebook-у 8 | · Искачуће прозоре 9 | · Све друге наметљиве огласе 10 | 11 | Adblock Plus је један од најпопуларнијих додатака за прегледач кога користе милиони људи широм света. То је пројекат отвореног кода и ствара га заједница коју чине стотине волонтера који га непрестано побољшавају. 12 | 13 | Напомена: Приликом инсталације Adblock Plus-а за Chrome, прегледач ће вам приказати упозорење да Adblock Plus има приступ историји прегледања и другим подацима. Та порука је стандардна; ни у ком случају не прикупљамо ваше податке! 14 | 15 | Недавно је заједница Adblock Plus-а увела иницијативу „Прихватљиви огласи“. Допуштајући мале и статичне огласе, подржавате сајтове који се ослањају на оглашавање, али то чине на ненападан начин. Ову функцију можете онемогућити у било ком тренутку. Сазнајте више на http://adblockplus.org/en/acceptable-ads. 16 | 17 | *********** 18 | Најаве издања и евиденције промена можете наћи овде: http://adblockplus.org/releases/ 19 | 20 | Имате проблема? Покушајте поново да покренете Chrome или кликните на „Ажурирај сада“ у поставкама. 21 | 22 | Пронашли сте грешку у програму? Погледајте: http://adblockplus.org/en/known-issues-chrome. Уколико вам затреба помоћ, посетите наш форум: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Не бежите од изазова? Инсталирајте развојну верзију Adblock Plus-а и испробајте најновије функције: http://adblockplus.org/en/development-builds. 26 | -------------------------------------------------------------------------------- /_locales/ta/store.description: -------------------------------------------------------------------------------- 1 | உங்கள் திரையில் அழைப்பில்லாமல் புகும் விளம்பரங்களின் இன்னல் இன்றி வலையில் உலாவி மகிழவும்! 2 | 3 | Google Chrome -க்கான Adblock Plus இருந்தால் பின்வருவன காணாமல் போகும்: 4 | 5 | · பதாகைகள் 6 | · YouTube வீடியோ விளம்பரங்கள் 7 | · பேஸ்புக் விளம்பரங்கள் 8 | · மேல்-விரி விளம்பரங்கள் 9 | · அனைத்து மற்ற இன்னல் தரும் ஏற்கமுடியாத விளம்பரங்கள். 10 | 11 | Adblock Plus பல இலட்சக்கணக்கானவர்கள் பயன்படுத்தும் உலகின் மிகப்பிரபலமான உலாவி நீட்டிப்பு. இந்த சமூக-ஓட்டி திறந்த மூல திட்டப்பணியானது, நூற்றுக்கணக்கான தன்னார்வ பங்களிப்பாளர்களின் முயற்சியால் வரவேற்க்கதகாத விளம்பரங்க்களை கண்டிப்பாக தடுத்துவருகிறது. 12 | 13 | கருத்தில் கொள்ளவும்: Chrome க்கான adblock plus நிறுவும் போது, உங்களது உலாவி, "Chrome-க்கான adblock Plus உங்கள் உலாவல் வரலாறு மற்றும் தரவு அணுகல் போன்றவற்றை சேகரிக்கலாம்" என்று ஒரு எச்சரிக்கை காட்டும். இந்த ஒரு நிலையான செய்தி, நாம் அவ்வாறு எந்த தகவல்களையும் சேகரிப்பதில்லை! 14 | 15 | 16 | சமீபத்தில், adblock plus சமூகம் ஏற்கக்கூடிய விளம்பரங்களை அனுமதிக்கும் முயற்சியை மேற்கொண்டுள்ளது. சில சிறிய மற்றும் நிலையான விளம்பரங்களை அனுமதிப்பது, இவற்றை ஆதரவாக கொண்ட வலைதளங்களுக்கு உதவும். இந்த அம்சத்தை எந்த நேரத்திலும் முடக்கலாம். இன்னும் கண்டுபிடிக்க http://adblockplus.org/en/acceptable-ads செல்லவும். 17 | 18 | *********** 19 | வெளியீட்டு அறிவிப்புகள் மற்றும் changelogs இங்கே காணலாம்: http://adblockplus.org/releases/ 20 | 21 | பிரச்சினைகள்? குரோமை மறுதொடக்கம் செய்யவும் மற்றும் adblock plus விருப்பங்களில் உள்ள "இப்போது புதுப்பி" என்பதை சொடுக்கவும். 22 | 23 | ஏதேனும் பிழையா? நாம் அறிந்த சில பிழைகள்: Http://adblockplus.org/en/known-issues-chrome. மேலும் உதவிக்கு Https://adblockplus.org/forum/viewforum.php?f=10. 24 | 25 | ************* 26 | 27 | துணிச்சளாக உணர்கிறீர்களா? வளர்ச்சியில் உள்ள பதிப்பை பெறவும் (தனித்தனியாக புதுப்பிக்கப்படும். சுயாதீனமான அமைப்புகள்.): Http://adblockplus.org/en/development-builds 28 | -------------------------------------------------------------------------------- /_locales/en_GB/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blocks all annoying ads, and supports websites by not blocking unobtrusive ads by default (configurable). 2 | 3 | Enjoy surfing the web without obtrusive ads cluttering your screen! Adblock Plus for Google Chrome blocks: 4 | 5 | · Banners 6 | · YouTube video ads 7 | · Facebook advertisements 8 | · Pop-ups 9 | · All other obtrusive ads 10 | 11 | Adblock Plus is the world’s most popular browser extension, and is used by millions of users worldwide. It is a community-driven open source project, and hundreds of volunteers are contributing to the success of Adblock Plus to make sure that all annoying ads are automatically blocked. 12 | 13 | Please note: When installing Adblock Plus for Chrome, your browser shows a warning that Adblock Plus for Chrome has access to your browsing history and data. This is a standard message, we NEVER collect any information whatsoever! 14 | 15 | Recently, the Adblock Plus community introduced the Acceptable Ads initiative. By allowing some small and static ads, you support websites that rely on advertising but choose to do it in a non-intrusive way. This feature can be disabled at any time. Go to http://adblockplus.org/en/acceptable-ads to find out more. 16 | 17 | *********** 18 | Release announcements and changelogs can be found here: http://adblockplus.org/releases/ 19 | 20 | Problems? Try restarting Chrome and/or clicking "Update now" in the Adblock Plus Options. 21 | 22 | Found a bug? We are aware of some issues: http://adblockplus.org/en/known-issues-chrome. If you found more or need help, visit our forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Feeling adventurous? Try out a development build to always get the latest features of Chrome Adblock Plus: http://adblockplus.org/en/development-builds (updated separately, independent settings). 26 | -------------------------------------------------------------------------------- /_locales/en_US/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blocks all annoying ads, and supports websites by not blocking unobtrusive ads by default (configurable). 2 | 3 | Enjoy surfing the web without obtrusive ads cluttering your screen! Adblock Plus for Google Chrome blocks: 4 | 5 | · Banners 6 | · YouTube video ads 7 | · Facebook advertisements 8 | · Pop-ups 9 | · All other obtrusive ads 10 | 11 | Adblock Plus is the world’s most popular browser extension, and is used by millions of users worldwide. It is a community-driven open source project, and hundreds of volunteers are contributing to the success of Adblock Plus to make sure that all annoying ads are automatically blocked. 12 | 13 | Please note: When installing Adblock Plus for Chrome, your browser shows a warning that Adblock Plus for Chrome has access to your browsing history and data. This is a standard message, we NEVER collect any information whatsoever! 14 | 15 | Recently, the Adblock Plus community introduced the Acceptable Ads initiative. By allowing some small and static ads, you support websites that rely on advertising but choose to do it in a non-intrusive way. This feature can be disabled at any time. Go to http://adblockplus.org/en/acceptable-ads to find out more. 16 | 17 | *********** 18 | Release announcements and changelogs can be found here: http://adblockplus.org/releases/ 19 | 20 | Problems? Try restarting Chrome and/or clicking "Update now" in the Adblock Plus Options. 21 | 22 | Found a bug? We are aware of some issues: http://adblockplus.org/en/known-issues-chrome. If you found more or need help, visit our forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Feeling adventurous? Try out a development build to always get the latest features of Chrome Adblock Plus: http://adblockplus.org/en/development-builds (updated separately, independent settings). 26 | -------------------------------------------------------------------------------- /_locales/ar/store.description: -------------------------------------------------------------------------------- 1 | يقوم أد بلوك بلس بحجب كل الاعلانات المزعجة ويدعم المواقع بعدم حجب الاعلانات الغير متطفلة بشكل افتراضي (قابل للضبط). 2 | 3 | تمتع بتصفح الانترنت بدون اعلانات متطفلة متوزعة على الشاشة. يقوم أد بلوك بلس لمتصفح غووغل كروم بحجب: 4 | 5 | · البانرات او الاشرطة الاعلانية 6 | · اعلانلات الفيديو في يوتيوب 7 | · اعلانات الفيسبوك. 8 | · النوافذ المنبثقة 9 | · كل أشكال الاعلانات المزعجة الأخرى 10 | 11 | يعتبر أد بلوك بلس أشهر إضافة للمتصفحات في العالم ويستخدم من ملايين البشر حول العالم. انه مشروع مجتمعي التوجه مفتوح المصدر ويشارك بنجاحة مئات المتطوعين للتأكد من حجب كل الاعلانات المزعجة آلياً. 12 | 13 | لاحظ من فضلك: عند تنصيب أد بلوك بلس لمتصفح كروم يعطي متصفحك تنبيه أن الاضافة ستصل الى كل البيانات و الصفحات التي زرتها سابقا. تعتبر هذه الرسالة رسالة قياسية عادية. نحن لا نستخدم هذا البرنامج أبداً لجمع المعلومات مهما كانت. 14 | 15 | مؤخرا طرح مجتمع أدبلوك بلس مبادرة الاعلانات المقبولة. بالسماح لاعلانات محددة و قليلة بالظهور، يمكنك دعم مواقع تعتمد على الاعلانات لكنها تفعل ذلك بطريقة غير تطفلية. يمكن إيقاف هذه الميزة في اي وقت. للمزيد حول هذه الميزة قم بزيارة الرابط التالي: 16 | http://adblockplus.org/en/acceptable-ads 17 | 18 | ******* 19 | المعلومات حول النسخ الجديدة والتغيرات الحاصلة في كل نسخة تجدونها هنا: 20 | http://adblockplus.org/releases/ 21 | 22 | في حال وجود مشاكل أعد تشغيل المتصفح كروم او قم بتحديث النسخة بأمر "التحديث الآن" الموجود في الخيارات. 23 | 24 | في حال اكتشاف ثغرة برمجية: تأكد من هذه الصفحة أننا لا نعرف عن الثغرة: 25 | http://adblockplus.org/en/known-issues-chrome 26 | اذا وجدت المزيد او احتجت الى المساعدة يمكنك زيارة المنتدى: 27 | https://adblockplus.org/forum/viewforum.php?f=10 28 | 29 | ************ 30 | اذا كنت تشعر أنك جرئ: 31 | حاول استخدام بيئة الاصدارة التطويرية لتحصل دوما على احدث ميزات أد بلوك بلس للمتصفح كروم: 32 | http://adblockplus.org/en/development-builds 33 | (يتم تحديثها بشكل مستقل و لها اعدادات مستقلة). 34 | -------------------------------------------------------------------------------- /_locales/sl/store.description: -------------------------------------------------------------------------------- 1 | Uživajte deskanje po spletu brez vsiljivih oglasov, ki delajo nered na vašem ekranu! 2 | 3 | Adblock Plus za Google Chrome blokira: 4 | 5 | - bannerje 6 | - YouTube video reklame 7 | - Facebook oglase 8 | - pojavna okna 9 | - vse druge vsiljive oglase 10 | 11 | Adblock Plus je najbolj popularen brskalniški dodatek na svetu. Uporablja ga več kot milijon uporabnikov iz celega sveta. Je k skupnosti usmerjen odprtokodni projekt in stotine prostovoljcev je prispevalo k uspehu Adblock Plusa, da zagotovi da so vse nadležni oglasi avtomatsko blokirani. 12 | 13 | Prosimo, upoštevajte: Med nalaganjem Adblock Plusa za Chrome bo vaš brskalnik prikazal opozorilo, da ima Adblock Plus za Chrome dostop do vaše zgodovine brskanja in podatkov. To je standardno sporočilo, mi NIKOLI ne bomo zbirali kakršnihkoli informacij. 14 | 15 | Nedavno je skupnost Adblock Plusa predstavila iniciativo sprejemljivih oglasov. Z dopuščanjem nekaj manjših in statističnih oglasov podpirate spletne strani, ki so odvisne od oglaševanja, a so se odločile, da bodo to počele na nevsiljiv način. To funkcijo lahko onemogočite kadarkoli. Pojdite na http://adblockplus.org/en/acceptable-ads , da izveste več. 16 | 17 | *********** 18 | Napovedi izdaj in zapise sprememb lahko najdete tukaj: http://adblockplus.org/releases/ 19 | 20 | Problemi? Poskusite ponovno zagnati Chrome in/ali kliknite 'Posodobi sedaj' v Adblock Plusovih nastavitvah. 21 | 22 | Ste našli hrošča? Mi smo seznanjeni z nekaterimi problemi: http://adblockplus.org/en/known-issues-chrome. Če ste jih našli več ali potrebujete pomoč obiščite naš forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | *********** 25 | Se počutite avanturistično? Preizkusite razvojno različico in vedno prejmite najnovejše funkcije Chrome Adblock Plusa: http://adblockplus.org/en/development-builds (posodobljen ločeno, neodvisne nastavitve). -------------------------------------------------------------------------------- /_locales/th/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus บล็อคโฆษณาที่ไม่จำเป็นทั้งหมด, และยังสนับสนุนเว็บไซต์โดยการไม่ปิดกั้นโฆษณาที่ไม่สร้างความรำคาญโดยค่าพื้นฐาน (ถูกกำหนด) 2 | 3 | สนุกไปกับการท่องเว็บโดยปราศจากโฆษณาที่ขึ้นมารกหน้าจอของคุณ! Adblock Plus สำหรับ Google Chrome บล็อค: 4 | 5 | · แบนเนอร์ 6 | · โฆษณาบน YouTube video 7 | · การโฆษณาของ Facebook 8 | · ป๊อปอัพ 9 | · โฆษณาที่ไม่พึงประสงค์อื่นๆ ทั้งหมด 10 | 11 | Adblock Plus is the world’s most popular browser extension, and is used by millions of users worldwide. It is a community-driven open source project, and hundreds of volunteers are contributing to the success of Adblock Plus to make sure that all annoying ads are automatically blocked. 12 | 13 | Please note: When installing Adblock Plus for Chrome, your browser shows a warning that Adblock Plus for Chrome has access to your browsing history and data. This is a standard message, we NEVER collect any information whatsoever! 14 | 15 | Recently, the Adblock Plus community introduced the Acceptable Ads initiative. By allowing some small and static ads, you support websites that rely on advertising but choose to do it in a non-intrusive way. This feature can be disabled at any time. Go to http://adblockplus.org/en/acceptable-ads to find out more. 16 | 17 | *********** 18 | Release announcements and changelogs can be found here: http://adblockplus.org/releases/ 19 | 20 | Problems? Try restarting Chrome and/or clicking "Update now" in the Adblock Plus Options. 21 | 22 | Found a bug? We are aware of some issues: http://adblockplus.org/en/known-issues-chrome. If you found more or need help, visit our forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Feeling adventurous? Try out a development build to always get the latest features of Chrome Adblock Plus: http://adblockplus.org/en/development-builds (updated separately, independent settings). 26 | -------------------------------------------------------------------------------- /_locales/bn/store.description: -------------------------------------------------------------------------------- 1 | অ্যাডব্লক প্লাস সব বিরক্তিকর বিজ্ঞাপন অবরুদ্ধ করে, এবং ডিফল্ট (কনফিগার) দ্বারা ওয়েবসাইটের আ বিরক্তিকর বিজ্ঞাপন সমর্থন করে। 2 | 3 | আপনার স্ক্রিনে ভরে যাওয়া বিরক্তিকর বিজ্ঞাপন ছাড়াই ওয়েব সার্ফিং উপভোগ করুন! গুগল ক্রোমের জন্য অ্যাডব্লক প্লাস অবরুদ্ধ করে: 4 | 5 | · ব্যানারসমূহ 6 | · ইউটিউব ভিডিও বিজ্ঞাপন 7 | · ফেসবুক বিজ্ঞাপন 8 | · পপ ​​আপ 9 | · অন্যান্য সমস্ত গায়ে পড়া বিজ্ঞাপন 10 | 11 | অ্যাডব্লক প্লাস বিশ্বের সবচেয়ে জনপ্রিয় ব্রাউজার এক্সটেনশন , এবং বিশ্বব্যাপী লক্ষাধিক ব্যবহারকারী দ্বারা ব্যবহৃত হয়। এটি একটি সম্প্রদায় চালিত ওপেন সোর্স প্রকল্প এবং অ্যাডব্লক প্লাসের সাফল্যের জন্য শত শত স্বেচ্ছাসেবী অবদান রাখছেন যাতে বিরক্তিকর বিজ্ঞাপন স্বয়ংক্রিয়ভাবে অবরুদ্ধ হয় তা নিশ্চিত করতে। 12 | 13 | অনুগ্রহ করে লক্ষ্য করুন : ক্রোমের জন্য অ্যাডব্লক প্লাস ইনস্টল করার সময়, আপনার ব্রাউজার ক্রোমের জন্য অ্যাডব্লক প্লাস আপনার ব্রাউজিং ইতিহাস এবং তথ্য ব্যবহার করছে লিখে সতর্কবার্তা দেখায়। এটি একটি প্রমিত বার্তা , আমরা কোনো তথ্য কোন ভাবেই সংগ্রহ করি না ! 14 | 15 | সম্প্রতি, অ্যাডব্লক প্লাস সম্প্রদায় কিছু গ্রহণযোগ্য বিজ্ঞাপন চালু করতে উদ্যোগ নিয়েছে।. কিছু ছোট এবং স্ট্যাটিক বিজ্ঞাপন অনুমতি দ্বারা। এই বৈশিষ্ট্যটি কোনো সময় নিষ্ক্রিয় করা যাবে। আরো জানতে http://adblockplus.org/en/acceptable-ads -এ যান। 16 | 17 | *********** 18 | মুক্তির ঘোষণা এবং পরিবর্তন লগ এখানে পাওয়া যাবে: http://adblockplus.org/releases/ 19 | 20 | সমস্যা? ক্রোম পুনরায় আরম্ভ করুন এবং/অথবা Adblock প্লাস বিকল্পের মধ্যে "এখন হালনাগাদ করুন"এ ক্লিক করে দেখুন। 21 | 22 | একটি বাগ পেয়েছেন? আমরা কিছু বিষয়ে সচেতন: http://adblockplus.org/en/known-issues-chrome । আপনি যদি আরো পান বা সাহায্যের প্রয়োজন হয়, তাহলে আমাদের ফোরামে যান: https://adblockplus.org/forum/viewforum.php?f=10 । 23 | 24 | ************* 25 | সাহসি অনুভব করছেন? সবসময় ক্রোমের জন্য অ্যাডব্লক প্লাসের সর্বশেষ বৈশিষ্ট্য পেতে একটি উন্নয়ন বিল্ড ব্যবহার করে দেখুন: http://adblockplus.org/en/development-builds (স্বাধীন সেটিংস, আলাদাভাবে হালনাগাদ)। -------------------------------------------------------------------------------- /_locales/fi/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus estää kaikki ärsyttävät mainokset ja ei estä huomaamattomia mainoksia oletuksena (konfiguroitavissa). 2 | 3 | Nauti netin surffailua ilman häiritseviä mainoksia näytölläsi! Adblock Plus Google Chromelle estää: 4 | 5 | • Bannerit 6 | • YouTube videomainokset 7 | • Facebook mainokset 8 | • Ponnahdusikkunat 9 | • Kaikki muut häiritsevät mainokset 10 | 11 | Adblock Plus on maailman suosituin selainlaajennus, ja sitä käyttää miljoonia käyttäjiä maailmanlaajuisesti. Se on avoimen lähdekoodin projekti, ja sadat vapaaehtoiset edistää että Adblock Plus estäisi kaikki ärsyttävät mainokset. 12 | 13 | Huomaa: Asentaessa Adblock Plus Chromelle laajennusta, selaimesi näyttää varoituksen että Adblock Plus Chromella on oikeus sivuhistoriaasi ja dataan. Tämä on yleinen ilmoitus, me emme KOSKAAN kerää mitään tietoja! 14 | 15 | Äskettäin Adblock Plus yhteisö aloitti Hyväksyttävät Mainokset aloitteen. Sallimalla joitakin pieniä ja staattisia mainoksia, autat sivustoja jotka luottavat mainontaan mutta valitse että se tehdään noninvasiitivisesellä tavalla. Tämän toiminnon voi poistaa käytöstä koska tahansa. Mene osoitteesen http://adblockplus.org/en/acceptable-ads tietääksesi lisää. 16 | 17 | *********** 18 | Julkaisutiedotteet ja muutosloki voit löytää täältä: http://adblockplus.org/releases/ 19 | 20 | Ongelmia? Yritä uudelleenkäynnistämällä Chrome ja/tai klikkaamalla "Päivitä nyt" Adblock Plus:in Asetuksissa. 21 | 22 | Löysitkö bugin? Me olemme tietoisia joistakin ongelmista: http://adblockplus.org/en/known-issues-chrome. Jos löysit lisää tai tarvitset apua, käy foorumillamme: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | *********** 25 | Oletko kokeilunhaluinen? Kokeile edistymistä saadaksesi aina uusimmat ominaisuudet Adblock Plus Chromelle: http://adblockplus.org/en/development-builds (päivitetty erikseen, riippumattomina asetuksista). 26 | -------------------------------------------------------------------------------- /_locales/sk/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokuje všetke obťažujúce reklamy a podporuje stránky neblokovaním neobťažujúcich reklám (konfigurovateľné). 2 | 3 | Užite si web stránky bez reklám, ktoré prekrývajú celú obrazovku! Adblock Plus pre Google Chrome blokuje: 4 | · banery, 5 | · YouTube video reklamy, 6 | · reklamy na Facebooku, 7 | · automaticky otvárané okná, 8 | · všetky ostatné vtieravé reklamy. 9 | 10 | Adblock Plus je najpopulárnejšie rozšírenie prehliadača a je používané milónmi užívateľmi po celom svete. Je to komunitný projekt s ovoreným zdrojovým kódom a stovky dobrovolníkov prispievajú k tomu, aby Adblock Plus úspešne automaticky blokoval otravné reklamy. 11 | 12 | Poznámka: Počas inštalácie Adblock Plus pre Chrome, váš prehliadač zobrazí upozornenie, že Adblock Plus pre Chrome má prístup k histórii prehliadaných stránok a k ich údajom. Je to bežná správa. My NIKDY nezbierame žiadne údaje! 13 | 14 | Adblock Plus komunita zároveň predstavuje iniciatívu "Prijateľné reklamy". Povolením niektorých malých a statických reklám, podporujete stránky, ktoré závisia od reklám, ale rozhodli sa to robiť nie dotieravým spôsobom. Túto funkciu môžte kedykoľvek vypnúť. Na stránke https://adblockplus.org/en/acceptable-ads sa dozviete viac. 15 | 16 | *********** 17 | Nové verzie a zoznamy zmien môžete nájsť tu: https://adblockplus.org/releases/ 18 | 19 | Problémy? Skúste reštarovať Chrome a/alebo klinúť na "Aktualizovať teraz" v Adblock Plus Možnostiach. 20 | 21 | Našli ste chybu? Sme si vedomí niektorých problémov: http://adblockplus.org/en/known-issues-chrome. Ak ste našli ešte nenahlásenú chybu, či potrebujete pomoc, navštívte naše fórum: https://adblockplus.org/forum/viewforum.php?f=10. 22 | ************* 23 | 24 | Dobrodružná povaha? Skúste našu vývojársku verziu a budete mať vždy najnovšie funkcie Chrome Adblock Plus: http://adblockplus.org/en/development-builds (samostatne aktualizované, nezávislé nastavenia). 25 | -------------------------------------------------------------------------------- /_locales/fa/store.description: -------------------------------------------------------------------------------- 1 | افزونه +Adblock از نمایش همه تبلیغات چرند جلوگیری کرده ، و این همچنین قابلیت که سایت خاصی رو که تبلیغات مناسبی داره ، باهاش کاری نداشته باشه (قابل تنظیم). 2 | 3 | از وبگردی لذت ببرید ، بدون اینکه چشم هاتون رو درگیر تبلیغات مزخرف کنید! +Adblock برای مرورگر کروم مسدود میکنه : 4 | 5 | · بنر ها 6 | · تبلیغات ویدئویی یوتیوپ 7 | · تبلیغات سایت چرند فیس بوک 8 | · پاپ آپ ها 9 | · و بقیه اقسام تبلیغات 10 | 11 | افزونه +Adblock جزو محبوب ترین هاست در سطح دنیا ، و میلیون ها کاربر در جهان از آن استفاده میکنند. این یه اجتماع هدایت شده از پروژه ایست متن باز ، و هزاران داوطلب در آن شرکت دارند در جهت موفقیت +Adblock برای اطمینان از مسدود شدن همه تبلیغات مزخرف بصورت خودکار. 12 | 13 | حواست باشه : اگه +Adblock روی مرورگر کروم نصب میکنی ، یه هشدار نمایش داده میشه که +Adblock میتونه به تاریخچه مرورگر و داده های مرورگر دسترسی داشته باشه . این چنین هشداری طبیعی هست ، ولی جان بچه ام عمراً اگه چنین نیتی داشته باشیم! 14 | 15 | اخیرا انجمن +Adblock نوع مجاز / مناسبی رو بطور ابتکاری معرفی کرده. با اجازه دادن به تبلیغات کوچک و ساکن ، شما از سایتهایی که بر مبنای تبلیغات کار میکنند حمایت میکنید اما بخواهید که این عمل رو بصورت پسندیده اجرا کنید. این قابلیت به شما اجازه میده که هروقت دلتون خواست غیرفعالش کنید. برای اطلاعات بیشتر http://adblockplus.org/en/acceptable-ads یه سر بزن. 16 | 17 | *********** 18 | برای مشاهده انتشارها و تغییرات افزونه برو : http://adblockplus.org/releases/ 19 | 20 | مشکلی بود؟ سعی کن اول مرورگر رو ببندی و دوباره اجرا کنی بعد گزینه "آپدیت کن" رو در تنظیمات +Adblock بزنید. 21 | 22 | حفره ای پیدا کردی؟ ما رو مطلع کنید در مبحث مربوطه : 23 | http://adblockplus.org/en/known-issues-chrome 24 | اگر حفره/نقص بیشتر بود ، یا جهت کمک ، آدرس انجمن ما : 25 | https://adblockplus.org/forum/viewforum.php?f=10 26 | 27 | ************* 28 | کنجکاو شدی؟ در بخش توسعه ساخت همیشه میتونی از جدیدترین قابلیت های +Adblock ببینی : 29 | http://adblockplus.org/en/development-builds 30 | ( آپدیت های تفکیک شده ، تنظیمات مستقل ). 31 | -------------------------------------------------------------------------------- /_locales/nl/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokkeert alle vervelende advertenties en websites door het te herkennen van de advertenties. Geniet van surfen op het web zonder opdringerige advertenties. Adblock Plus voor Google Chrome blokkeert: · Banners · YouTube video-advertenties · Facebook advertenties · Pop-ups · Alle andere opdringerige advertenties Adblock Plus is's werelds meest populaire Browseruitbreiding, en wordt gebruikt door miljoenen gebruikers wereldwijd. Het is een open source community-gedreven project, en honderden vrijwilligers zijn bereid bij te dragen tot het succes van Adblock Plus en om ervoor te zorgen dat alle vervelende advertenties automatisch worden geblokkeerd. Let op: bij het installeren van Adblock Plus voor Chrome, toont uw browser een waarschuwing dat Adblock Plus voor Chrome toegang tot uw navigatiegeschiedenis heeft. Dit is een standaard bericht, we verzamelen niet alle informatie van u! De Gemeenschap Adblock Plus introduceerde onlangs, het aanvaardbare advertenties-initiatief. Doordat sommige kleine en statische advertenties, steunt u websites die afhankelijk zijn van reclame maar kiezen om dit te doen in een niet-indringende wijze. Deze functie kan worden uitgeschakeld op elk gewenst moment. Ga naar http://adblockplus.org/en/acceptable-ads om erachter te komen meer. Versies worden hier aangekondigd en changelogs kunnen hier worden gevonden: http://adblockplus.org/releases/ problemen? Uitproberen herstart Chrome en/of te klikken op "Update nu" in het Adblock Plus-opties. Heb je een bug gevonden? We zijn ons bewust van sommige kwesties: http://adblockplus.org/en/known-issues-chrome. Als u meer gevonden heeft of hulp nodig hebt, bezoek ons forum: https://adblockplus.org/forum/viewforum.php?f=10. Avontuurlijk gevoel? Uitproberen van een ontwikkeling te bouwen om altijd de nieuwste functies van Chrome Adblock Plus: http://adblockplus.org/en/development-builds (bijgewerkte afzonderlijk, onafhankelijke instellingen). -------------------------------------------------------------------------------- /_locales/ca/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus bloca tots els anuncis molestos, i ajuda als llocs web perquè permet els anuncis no obtrusius (per defecte). 2 | 3 | Gaudiu d'una navegació sense anuncis molestos omplint la pantalla! L'Adblock Plus per a Google Chrome bloca: 4 | 5 | · Bàners 6 | · Anuncis de vídeo al YouTube 7 | · Anuncis al Facebook 8 | · Finestres emergents 9 | · Tots els altres anuncis obtrusius 10 | 11 | Adblock Plus és l'extensió de navegador més popular del món, i és utilitzada per milions d'usuaris arreu del món. És un projecte de codi obert dirigit per la comunitat, i centenars de voluntaris estan contribuint a l'èxit d'Adblock Plus per assegurar-se que tots els anuncis molestos es bloquin automaticament. 12 | 13 | Nota: En instal·lar Adblock Plus per a Chrome, el navegador mostra alerta que Adblock Plus té accés a l'historial i les dades de navegació. Aquest és un missatge estàndard, nosaltres MAI recollim cap informació! 14 | 15 | Recentment, la comunitat d'Adblock Plus ha introduït la iniciativa d'Anuncis Acceptables. Permetent alguns anuncis petits i estàtics, esteu ajudant als llocs web que necessiten anuncis però trien fer-ho de manera no intrusiva. Aquesta característica es pot deshabilitar en qualsevol moment. Visiteu https://adblockplus.org/en/acceptable-ads per a més informació. 16 | 17 | *********** 18 | Release announcements and changelogs can be found here: http://adblockplus.org/releases/ 19 | 20 | Problems? Try restarting Chrome and/or clicking "Update now" in the Adblock Plus Options. 21 | 22 | Found a bug? We are aware of some issues: http://adblockplus.org/en/known-issues-chrome. If you found more or need help, visit our forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Feeling adventurous? Try out a development build to always get the latest features of Chrome Adblock Plus: http://adblockplus.org/en/development-builds (updated separately, independent settings). 26 | -------------------------------------------------------------------------------- /qunit/common.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | 19 | importAll("filterClasses", this); 20 | importAll("subscriptionClasses", this); 21 | importAll("matcher", this); 22 | importAll("filterStorage", this); 23 | importAll("filterNotifier", this); 24 | importAll("elemHide", this); 25 | importAll("prefs", this); 26 | importAll("utils", this); 27 | 28 | function prepareFilterComponents(keepListeners) 29 | { 30 | FilterStorage.subscriptions = []; 31 | FilterStorage.knownSubscriptions = Object.create(null); 32 | Subscription.knownSubscriptions = Object.create(null); 33 | Filter.knownFilters = Object.create(null); 34 | 35 | defaultMatcher.clear(); 36 | ElemHide.clear(); 37 | } 38 | 39 | function restoreFilterComponents() 40 | { 41 | } 42 | 43 | function preparePrefs() 44 | { 45 | this._pbackup = Object.create(null); 46 | for (var pref in Prefs) 47 | { 48 | var value = Prefs[pref]; 49 | if (!(value instanceof ext._EventTarget)) 50 | this._pbackup[pref] = value; 51 | } 52 | Prefs.enabled = true; 53 | } 54 | 55 | function restorePrefs() 56 | { 57 | for (var pref in this._pbackup) 58 | Prefs[pref] = this._pbackup[pref]; 59 | } 60 | 61 | function executeFirstRunActions() 62 | { 63 | } 64 | -------------------------------------------------------------------------------- /_locales/da/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokerer alle påtrængende reklamer og støtter hjemmesider ved ikke at blokere diskrete reklamer som udgangspunkt (kan indstilles). 2 | 3 | Nyd at surfe nettet uden påtrængende reklamer, som fylder på din skærm! Adblock Plus for Google Chrome blokerer: 4 | 5 | · Bannere 6 | · YouTube-videoreklamer 7 | · Facebook-reklamer 8 | · Pop-ups 9 | · Alle andre påtrængende reklamer 10 | 11 | Adblock Plus er verdens mest populære browser-udvidelse, og bliver brugt af millioner af brugere verden over. Det er et community-drevet open source-projekt, og hundredvis af frivillige bidrager til Adblock Plus' succes for at sikre, at alle påtrængende reklamer automatisk blokeres. 12 | 13 | Bemærk: 14 | Din browser viser en advarsel om at Adblock Plus for Google Chrome har adgang til din browser-historik og dine browser-data. Dette er en standardbesked. Vi indsamler ALDRIG personlige oplysninger! 15 | 16 | For nylig introducerede Adblock Plus-fællesskabet det initiativet "Acceptable Ads". Ved at tillade små og statiske reklamer, hjælper du hjemmesider, der er afhængige af reklamer, men gør dette på en ikke-indtrængende måde. Denne funktion kan til enhver tid deaktiveres. Gå til http://adblockplus.org/en/acceptable-ads for at få flere oplysninger. 17 | 18 | *********** 19 | Frigivelsesannonceringer og ændringshistorik findes her: http://adblockplus.org/releases/ 20 | 21 | Problemer? Prøv at genstarte Chrome og/eller klikke på "Opdater nu" i Adblock Plus-indstillingerne. 22 | 23 | Fundet en fejl? Vi er bekendte med nogle problemer: http://adblockplus.org/en/known-issues-chrome. Hvis du har fundet en fejl eller har brug for hjælp, så besøg vores forum her: https://adblockplus.org/forum/viewforum.php?f=10. 24 | 25 | ************* 26 | Føler du dig eventyrlysten? Prøv en udviklerversion for altid at have de seneste funktioner i Adblock Plus: http://adblockplus.org/en/development-builds (opdateres separat og har selvstændige indstillinger). 27 | -------------------------------------------------------------------------------- /_locales/sv/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blockerar störande annonser, och stöttar som standard hemsidor genom att inte blockera diskreta annonser (konfigurerbart). 2 | 3 | Njut av att surfa på webben utan störande reklam som fyller din skärm! Adblock Plus för Google Chrome blockerar: 4 | 5 | · Banners 6 | · YouTube videoannonser 7 | · Facebook-reklam 8 | · Popup-fönster 9 | · All annan störande reklam 10 | 11 | Adblock Plus är världens mest populära webbläsartillägg, och används av miljoner användare världen över. Det är ett communitydrivet öppen källkodsprojekt, och hundratals frivilliga bidrar till Adblock Plus framgångar att se till att all störande reklam automatiskt blockeras. 12 | 13 | Var vänlig notera: När du installerar Adblock Plus för Chrome, visar din webbläsare en varning för att Adblock Plus för Chrome har tillgång till din webbläsarhistorik och data. Detta är en standardmeddelande, vi samlar ALDRIG in någon information överhuvudtaget! 14 | 15 | Nyligen, introducerade Adblock Plus-communityt Acceptabla Annonser-initiativet. Genom att tillåta vissa små och statiska annonser, stöttar du hemsidor som lever på annonsering men väljer att göra det på ett icke-störande sätt. Denna funktion går att stänga av när som helst. Gå till http://adblockplus.org/en/acceptable-ads för att läsa mer. 16 | 17 | *********** 18 | Utgåveinformation och ändringsloggar går att hitta här: 19 | http://adblockplus.org/releases/ 20 | 21 | Problem? Testa att starta om Chrome och/eller klicka på "Uppdatera nu" i Adblock Plus inställningar. 22 | 23 | Hittat en bugg? Vi är medvetna om en del problem: http://adblockplus.org/en/known-issues-chrome. Om du hittar fler eller behöver hjälp, besök vårt forum: https://adblockplus.org/forum/viewforum.php?f=10. 24 | 25 | ************* 26 | Känner du dig äventyrlig? Testa en utvecklarversion för att få de senaste funktionerna i Adblock Plus för Chrome: http://adblockplus.org/en/development-builds (uppdateras separat, självständiga inställningar). 27 | -------------------------------------------------------------------------------- /_locales/nb/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokkerer alle påtrengende annonser, og støtter nettsider ved å tillate ikke-påtrengende annonser som standard. (Du kan også velge å blokkere alle annonser). 2 | 3 | Vær på internett uten påtrengende annonser på skjermen! Adblock Plus til Google Chrome blokkerer: 4 | 5 | · Bannere 6 | · Videoannonser på YouTube 7 | · Reklame på Facebook 8 | · Sprettoppvinduer 9 | · Alle andre irriterende annonser 10 | 11 | Adblock Plus er den mest populære nettleserutvidelsen i verden, og brukes av flere millioner mennesker. Adblock Plus drives på dugnad, og flere hundre frivillige bidrar til at alle irriterende annonser blir blokkert. 12 | 13 | Når du installeerer Adblock Plus i Chrome, får du en advarsel om at Adblock Plus har tilgang til nettleserhistorikk og nettleserdata. Det er en standardbeskjed, og vi samler ALDRI inn informasjon. 14 | 15 | Adblock Plus-fellesskapet lanserte nylig Acceptable Ads-prosjektet. Ved å tillate enkelte små og statiske annonser, støtter du nettsider som finansieres av reklame, men som velger å gjøre det på en ikke-påtrengende måte. Du kan skru av Acceptable Ads når som helst. Gå til http://adblockplus.org/en/acceptable-ads for mer informasjon. 16 | 17 | *********** 18 | 19 | Informasjon om nye utgaver og endringslogger ligger her: http://adblockplus.org/releases/ 20 | 21 | Har du problemer? Prøv å starte Chrome på nytt og/eller trykke på "Oppdater nå" i valgmenyen til Adblock Plus. 22 | 23 | Har du funnet en feil? Vi er klar over enkelte problemer: http://adblockplus.org/en/known-issues-chrome. Hvis du har funnet flere feil eller trenger hjelp, kan du besøke forumet vårt: https://adblockplus.org/forum/viewforum.php?f=10. 24 | 25 | ************* 26 | 27 | Kjenner du deg eventyrlysten? Prøv utviklerutgaven vår for å alltid ha tilgang til de nyeste funksjonene i Chrome-utgaven til Adblock Plus: http://adblockplus.org/en/development-builds (oppdateres uavhengig av standardutgaven, og har selvstendige innstillinger.). 28 | -------------------------------------------------------------------------------- /_locales/bg/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus блокира досадните реклами и поддържа сайтове, показващи ненатрапчиви реклами по подразбиране (с възможност за конфигуриране). 2 | 3 | Сърфирайте мрежата без натрапчиви и задръстващи екрана ви реклами! Adblock Plus за Google Chrome блокира: 4 | 5 | · Банерите 6 | · Рекламите в клипове на YouTube 7 | · Рекламите от Facebook 8 | · Изскачащите прозорци 9 | · Останалите натрапчиви реклами 10 | 11 | Adblock Plus е най-популярното браузърно разширение, използвано от милиони потребители в цял свят. Зад проекта с отворен код стои общността на стотиците доброволци с принос за успеха на Adblock Plus, което гарантира, че блокирането на досадните реклами ще сработва автоматично. 12 | 13 | Имайте предвид, моля, че при инсталиране на Adblock Plus за Chrome, браузърът ще изведе предупреждение, че Adblock Plus за Chrome получава достъп до хронологията и данните на браузване. Съобщението е дежурно; не събираме КАКВАТО И ДА Е информация, НИКОГА! 14 | 15 | Неотдавна общността на Adblock Plus поде инициативата за „приемлива реклама“. С допускането на малки и статични реклами подкрепяме сайтовете, издържащи се от реклама, избрали да го правят по ненатрапчив начин. Настройката може да бъде забранена по всяко време. Посетете http://adblockplus.org/en/acceptable-ads за повече информация. 16 | 17 | *********** 18 | Описания на издания и списъци с изменения ще откриете на: http://adblockplus.org/releases/ 19 | 20 | Срещате неизправност? Пуснете повторно Chrome и/или щракнете по „Обнови“ в Настройки на Adblock Plus. 21 | 22 | Откривате грешка? Вижте с кои сме наясно: http://adblockplus.org/en/known-issues-chrome. Ако намерите нова или ви трябва помощ, посетете нашия форум: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Търсите предизвикателства? Изпробвайте изданието за разработчици и винаги ще разполагате с най-новите характеристики на Adblock Plus в Chrome: http://adblockplus.org/en/development-builds (обновява се отделно с независими настройки). -------------------------------------------------------------------------------- /_locales/lt/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokuoja visas erzinančias reklamas ir padeda svetainėmis neblokuodami neerzinančias reklamas (koreguojama). 2 | 3 | Mėgaukites internetu be erzinančių reklamų kurios blokuoja visą vaizdą! Adblock Plus Google Chrome naršyklei blokuoja: 4 | 5 | · Banerius 6 | · YouTube vaizdo įrašų reklamas 7 | · Facebook reklamas 8 | · Iššokančius langus 9 | · Visas kitas erzinančias reklamas 10 | 11 | Adblock Plus yra pasaulio populariausias naršyklės papildymas ir yra naudojamas milijonų vartotojų visam pasaulyje. Tai yra bendruomenės varomas projektas ir šimtai savanorių prisideda prie Adblock Plus sekmės, kad įsitikintu, jog visos erzinančios reklamos yra automatiškai užblokuotos. 12 | 13 | Prašome įsidemėti: Kai įrašinėjate Adblock Plus Chrome naršyklei, jūsų naršyklė rodys įspėjimą, jog Adblock Plus turi priėjimą prie jūsų naršymo įrašų ir duomenų. Tai yra standartinė žinutė, męs NIEKADA nerenkame jūsų informacijos! 14 | 15 | Nesenai, Adblock Plus bendruomenė pristatė priimtinų reklamų iniciatyvą. Leidžiant mažas ir statines reklamas, jūs padedate svetainėms kurios priklauso nuo reklamų, bet pasirenka tai atlikti neerzinančiu būdu. Ši funkcija gali būti sustabdyta bet kada. Eikite į http://adblockplus.org/en/acceptable-ads jeigu norite sužinoti daugiau. 16 | 17 | *********** 18 | Atnaujinimų naujienos ir pakeitimai galimi čia: http://adblockplus.org/releases/ 19 | 20 | Problemos? Pabandykite perkrauti Chrome naršyklę ir/arba paspauskite "Atnaujinti Dabar" Adblock Plus nustatymuose. 21 | 22 | Radote klaidą? Męs jau žinome tam tikras klaidas: http://adblockplus.org/en/known-issues-chrome. Jeigu radote daugiau arba reikia pagalbos, apsilankykite mūsų forume: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Jaučiatės nuotykingi? Išbandykite kūrėjų versiją, kad visą laiką gautumėte naujas funkcijas Chrome naršyklės Adblock Plus versijai: http://adblockplus.org/en/development-builds (atnaujinamas atskirai, nepriklausomi nustatymai ). 26 | -------------------------------------------------------------------------------- /_locales/ro/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blochează toată publicitatea agasantă şi sprijină site-urile web permiţând implicit reclame neinvazive (configurabil). 2 | 3 | De-acum veti putea naviga pe web fără a avea paginile pline de publicitate invazivă! 4 | Adblock Plus pentru Google Chrome blochează: 5 | · Banere 6 | · publicitate video pe TouTube 7 | · reclame Facebook 8 | · Pop-up-uri 9 | · alte reclame agasante 10 | 11 | Adblock Plus este cea mai populară extensie de browser şi este folosită de milioane de utilizatori din întreaga lume. Este un proiect open-source şi sute de voluntari contribuie la succesul Adblock Plus astfel încât toată publicitatea agasantă să fie blocată automat. 12 | 13 | Vă rugăm să reţineţi: la instalarea Adblock Plus pentru Chrome, browser-ul avertizează că extensia are acces la datele si cronologia navigarii dvs. Acesta este un mesaj standard, nu colectăm nici un fel de informaţii! 14 | 15 | Recent, comunitatea Adblock Plus a introdus iniţiativa reclamelor acceptabile. Permiţând unele reclame mici şi statice, veţi sprijini site-uri care se bazează pe o publicitate neinvazivă. Această facilitate poate fi dezactivată în orice moment. Mergi la adresa http://adblockplus.org/en/acceptable-ads pentru a afla mai multe. 16 | 17 | *********** 18 | Noi versiuni si modificări ale extensiei pot fi găsite aici: 19 | http://adblockplus.org/releases/ 20 | 21 | Ai dificultăţi? Încercaţi să restartaţi Chrome şi/sau făcând clic pe "actualizează acum" în opţiunile Adblock Plus. 22 | 23 | Aţi găsit o eroare? Suntem conştienţi de unele probleme: 24 | http://adblockplus.org/en/known-issues-chrome. 25 | Dacă aţi găsit altele sau aveţi nevoie de ajutor, vizitaţi forumul nostru: https://adblockplus.org/forum/viewforum.php?f=10. 26 | 27 | ************ 28 | Vă place riscul ? Încercaţi o versiune în dezvoltare pentru a dispune mereu de cele mai recente facilităţi ale extensiei: 29 | http://adblockplus.org/en/development-builds (actualizare separată, setări independente). -------------------------------------------------------------------------------- /_locales/uk/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus блокує усі настирливі оголошення і типово підтримує веб-сайти шляхом показу ненав'язливої реклами (можна вимкнути у налаштуваннях). 2 | 3 | Насолоджуйтеся читанням у Інтернеті без набридливої реклами, що захаращує ваш екран! Adblock Plus для Google Chrome блокує: 4 | 5 | · Банери 6 | · Відеорекламу в YouTube 7 | · Рекламні оголошення у Facebook 8 | · Спливні вікна 9 | · Усі інші настирливі оголошення 10 | 11 | Adblock Plus - це найпопулярніше у світі розширення браузера, яке вживається мільйонами користувачів по всьому світу. Це проект з відкритим кодом і сотні добровольців беруть участь у розробці Adblock Plus, аби переконатися, що уся настирлива реклама автоматично блокується. 12 | 13 | Будь ласка, зауважте: при встановленні Adblock Plus для Chrome ваш браузер показує попередження, що Adblock Plus для Chrome вимагає доступу до історії і даних перегляду. Це типове повідомлення, бо насправді ми ніколи не збираємо якої б то не було інформації! 14 | 15 | Наразі спільнота the Adblock Plus запропонувала ініціативу Прийнятної Реклами. Дозволяючи трішки невеликі статичні оголошення, ви підтримуєте веб-сайти, що залежать від реклами, але вибирають це у ненастирливий спосіб. Цю функцію можна вимкнути у будь-який час. Перейдіть на http://adblockplus.org/en/acceptable-ads аби дізнатися подробиці. 16 | 17 | *********** 18 | Оголошення про версії та журнали змін можна знайти тут: http://adblockplus.org/releases/ 19 | 20 | Проблеми? Спробуйте перезапустити Chrome і/або натисніть "Оновити зараз" у налаштуваннях Adblock Plus. 21 | 22 | Знайшли ваду? Ми усвідомлюємо деякі проблеми: http://adblockplus.org/en/known-issues-chrome. Якщо ви знайшли більше або потребуєте допомоги, то відвідайте наш форум: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Бажаєте пригод? Спробуйте збірку від розробників, аби завжди отримувати найновіші функції Chrome Adblock Plus: http://adblockplus.org/en/development-builds (оновлено окремо, незалежні налаштування). 26 | -------------------------------------------------------------------------------- /_locales/ru/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus блокирует всю раздражающую рекламу и поддерживает веб-сайты, не блокируя ненавязчивые объявления по умолчанию (настройки можно изменить). 2 | 3 | Наслаждайтесь веб-сёрфингом без навязчивой рекламы, загромождающей экран! Adblock Plus для Google Chrome блокирует: 4 | 5 | · Баннеры 6 | · Рекламу в YouTube 7 | · Рекламу в Facebook 8 | · Всплывающие окна 9 | · Всю другую навязчивую рекламу 10 | 11 | Adblock Plus является самым популярным расширением браузера в мире и используется миллионами пользователей из разных стран. Это общественный проект с открытым исходным кодом, и сотни добровольцев вносят свой вклад в успех Adblock Plus, чтобы вся раздражающая реклама блокировалась автоматически. 12 | 13 | Пожалуйста, обратите внимание: при установке Adblock Plus для Chrome, Ваш браузер покажет предупреждение, что Adblock Plus для Chrome имеет доступ к Вашей истории посещённых страниц и данных. Это стандартное сообщение, мы НИКОГДА не собираем какую-либо информацию! 14 | 15 | Сообщество Adblock Plus недавно представило идею приемлемой рекламы. Не блокируя некоторые небольшие статичные объявления, Вы помогаете сайтам, которые существуют только благодаря рекламе, но делают её ненавязчивой. Эту опцию можно отключить в любое время. Перейдите на http://adblockplus.org/en/acceptable-ads и узнайте больше. 16 | 17 | *********** 18 | Информацию о новых версиях и список изменений можно найти здесь: http://adblockplus.org/releases/ 19 | 20 | Проблемы? Попробуйте перезапустить Chrome и/или нажмите кнопку «Обновить сейчас» в параметрах Adblock Plus. 21 | 22 | Нашли ошибку? Некоторые проблемы уже известны нам: http://adblockplus.org/en/known-issues-chrome. Если вы нашли больше или вам нужна помощь, посетите наш форум: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | *********** 25 | Хотите приключений? Попробуйте тестовую сборку, чтоб всегда получать новейшие функции Adblock Plus для Chrome: http://adblockplus.org/en/development-builds (обновляется и настраивается отдельно). 26 | -------------------------------------------------------------------------------- /_locales/hr/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokira sve nametljive reklame i podržava web stranice neblokiranjem nenametljivih reklama prema zadanom (prilagodljivo). 2 | 3 | Uživajte u surfanju internetom bez nametljivih reklama koji zatrpavaju vaš zaslon! Adblock Plus za Google Chrome blokira: 4 | 5 | · Transparente 6 | · YouTube video reklame 7 | · Facebook reklame 8 | · Skočne prozore 9 | · Sve ostale nametljive reklame 10 | 11 | Adblock Plus je najpopularnije proširenje na svijetu za web preglednike i koriste ga milijuni korisnika diljem svijeta. Ovo je projekt otvorenog kôda upravljan od strane zajednice i stotine dobrovoljca koji doprinose uspjehu Adblock Plusa kako bi bili sigurni da su sve nametljive reklame automatski blokirane. 12 | 13 | Napomena: Prilikom instalacije Adblock Plusa za Chrome, preglednik prikazuje upozorenje da Adblock Plus za Chrome ima pristup vašoj povijesti pregledavanja i podacima. To je standardna poruka, mi NIKADA ne prikupljamo nikakve informacije! 14 | 15 | Nedavno je Adblock Plus zajednica predstavila inicijativu Nenametljivog reklamiranja. Dopuštajući neke male i nenametljive oglase, tako podržavate web stranice da se oslanjaju na oglašavanje ali na nenametljiv način. Ova značajka može biti onemogućena u bilo kojem trenutku. Posjetite http://adblockplus.org/en/acceptable-ads za više informacija. 16 | 17 | *********** 18 | Najave izdanja i zapisi promjena mogu se pronaći ovdje: http://adblockplus.org/releases/ 19 | 20 | Imate problem? Pokušajte ponovno pokrenuti Chrome i/ili klikom na "Ažuriraj proširenje sada" u Adblock Plus opcijama. 21 | 22 | Pronašli ste grešku? Svjesni smo nekih problema: http://adblockplus.org/en/known-issues-chrome. Ako ste ih pronašli više ili vam je potrebna pomoć, posjetite naš forum na: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Osjećate li se pustolovno? Isprobajte razvojnu inačicu da uvijek imate najnovije značajke Chrome Adblock Plusa: http://adblockplus.org/en/development-builds (ažurirano odvojeno, nezavisne postavke). 26 | -------------------------------------------------------------------------------- /_locales/cs/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokuje všechny otravné reklamy a podporuje webové stránky tím, že ve výchozím nastavení neblokuje nevtíravé reklamy (konfigurovatelné). 2 | 3 | Užívejte si prohlížení webu bez obtěžujících reklam zaplňujících vaši obrazovku! Adblock Plus pro Google Chrome blokuje: 4 | 5 | · Bannery 6 | · Video reklamy na YouTube 7 | · Reklamy na Facebooku 8 | · Vyskakovací okna 9 | · Všechny ostatní obtěžující reklamy 10 | 11 | Adblock Plus je nejoblíbenějším rozšířením prohlížeče na světě a používají ho miliony uživatelů po celém světě. Jedná se o open source projekt řízený komunitou a stovky dobrovolníků se podílejí na úspěchu Adblock Plus, aby byly automaticky blokovány všechny otravné reklamy. 12 | 13 | Upozornění: Při instalaci Adblocku Plus pro Chrome váš prohlížeč zobrazí varování, že Adblock Plus pro Chrome má přístup k vaší historii prohlížení a datům. Jedná se o standardní zprávu, NIKDY neshromažďujeme žádné informace! 14 | 15 | Nedávno komunita Adblock Plus představila iniciativu Přijatelných reklam. Povolením některých malých a statických reklam podporujete webové stránky, které jsou závislé na reklamě, ale zvolily si ji dělat nerušivým způsobem. Tato funkce se dá kdykoliv zakázat. Přejděte na http://adblockplus.org/en/acceptable-ads (anglicky), abyste zjistili více. 16 | 17 | *********** 18 | Oznámení o vydání a seznamy změn naleznete zde: http://adblockplus.org/releases/ (anglicky) 19 | 20 | Problémy? Zkuste restartovat Chrome a/nebo kliknout na "Aktualizovat nyní" v nastavení Adblock Plus. 21 | 22 | Nalezli jste chybu? Jsme si vědomi některých problémů: http://adblockplus.org/en/known-issues-chrome (anglicky). Pokud naleznete další nebo potřebujete pomoct, navštivte naše fórum: https://adblockplus.org/forum/viewforum.php?f=10 (anglicky) . 23 | 24 | ************* 25 | Máte dobrodružnou náladu? Vyzkoušejte vývojové sestavení, abyste získali vždy ty nejnovější funkce Adblock Plus pro Chrome: http://adblockplus.org/en/development-builds (anglicky) (aktualizováno samostatně, nezávislé nastavení). 26 | -------------------------------------------------------------------------------- /_locales/ms/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus menghalang iklan-iklan menjengkelkan, serta menyokong laman-laman web yang memaparkan iklan-iklan tidak terlalu obtrusif (boleh diubah). 2 | 3 | Nikmati pengalaman web tanpa iklan-iklan yang menghalang skrin anda! Adblock Plus untuk Google Chrome menghalang: 4 | 5 | · Sepanduk iklan 6 | · Iklan video YouTube 7 | · Iklan Facebook 8 | · "Pop-up" 9 | · Mana-mana iklan obtrusif yang lain 10 | 11 | Adblock Plus adalah ekstensi pelayar web paling popular di dunia dan digunakan oleh berjuta-juta pengguna. Ia merupakan projek komuniti sumber terbuka. Ratusan sukarelawan dan sukarelawati menyumbang kepada projek ini untuk memastikan iklan-iklan terus disekat secara automatik. 12 | 13 | Perhatian: Apabila menambah Adblock Plus kepada pelayar Chrome, pelayar akan menunjukkan amaran bahawa program ini dapat mengakses sejarah layaran dan data lain. Ini adalah mesej yang standard; kami TIDAK PERNAH dan TIDAK AKAN menyimpan mana-mana data sekalipun! 14 | 15 | Baru-baru ini, komuniti Adblock Plus melancarkan inisiatif iklan-iklan yang boleh diterima. Dengan membenarkan iklan-iklan kecil dan statik, anda dapat menyokong laman-laman web yang bergantung kapada pengiklanan tetapi membuat pilihan untuk melakukannya secara tidak intrusif. Ciri ini boleh dinyahaktifkan pada bila-bila masa. Layari http://adblockplus.org/en/acceptable-ads untuk pengetahuan lanjut. 16 | 17 | *********** 18 | Pengumuman dan log perubahan boleh didapati di sini: http://adblockplus.org/releases/ 19 | 20 | Masalah? Cuba buka Chrome semula dan/atau klik "Kemaskini sekarang" dalam tetapan Adblock Plus. 21 | 22 | Terjumpa ralat? Kami sedar tentang beberapa isu: http://adblockplus.org/en/known-issues-chrome . Jika anda menjumpai ralat-ralat lain atau perlukan bantuan, kunjungilah forum kami: https://adblockplus.org/forum/viewforum.php?f=10 . 23 | 24 | ************* 25 | Anda berani? Cubalah versi beta untuk sentiasa mendapat ciri-ciri Adblock Plus Chrome terkini: http://adblockplus.org/en/development-builds (dikemaskini berasingan, tetapan berbeza). 26 | -------------------------------------------------------------------------------- /_locales/vi/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus chặn tất cả các quảng cáo gây phiền nhiễu, và hỗ trợ trang mạng bằng cách không chặn những quảng cáo vừa phải theo mặc định (có thể cấu hình). 2 | 3 | Hãy vui lướt mạng mà không có những quảng cáo bừa bộn trên màn hình gây phiền! Adblock Plus dành cho Google Chrome chặn những: 4 | 5 | · Biển quảng cáo 6 | · Quảng cáo trên video YouTube 7 | · Quảng cáo Facebook 8 | · Bảng hiện lên 9 | · Tất cả những quảng cáo quấy rối khác 10 | 11 | Adblock Plus là tiện ích mở rộng phổ biến nhất trên thế giới, và được dùng bởi hàng triệu người trên khắp thế giới. Nó là một cộng đồng định hướng dự án mã nguồn mở, và hàng ngàn những cộng tác viên đang đóng góp cho sự thành công của Adblock Plus để chắc chắn rằng tất cả quảng cáo phiên nhiễu bị chặn một cách tự động. 12 | 13 | Xin chú ý: Khi cài Adblock Plus dành cho Chrome, trình duyệt của bạn hiện cảnh báo Adblock Plus dành cho Chrome cần truy xuất lịch sử trình duyệt và dữ liệu. Đây là thông báo chuẩn thường, chúng tôi KHÔNG BAO GIỜ thu thập bất kì thông tin nào. 14 | 15 | Gần đây, cộng đồng Adblock Plus giới thiệu sáng kiến Quảng cáo Có thể chấp nhận (Acceptable Ads). Bằng cách cho phép một số quảng cáo nhỏ và tĩnh, bạn hỗ trợ trang mạng có thể tin cậy vào quảng cáo nhưng chọn cách không làm phiền. Tính năng này có thể vô hiệu bất kì khi nào. Đi đến http://adblockplus.org/en/acceptable-ads để tìm hiểu thêm. 16 | 17 | *********** 18 | Thông tin phát hành và nhật kí thay đổi có thể tìm thấy ở đây: http://adblockplus.org/releases/ 19 | 20 | Có vấn đề? Hãy thử khởi động lại Chrome và/hoặc nhấp vào "Cập nhật ngay" trong Tùy chọn Adblock Plus. 21 | 22 | Phát hiện lỗi? Chúng tôi phòng ngừa một số vấn đề nảy sinh: http://adblockplus.org/en/known-issues-chrome. Nếu bạn cần thêm trợ giúp, vào diễn đàn của chúng tôi: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Muốn phiêu lưu? Hãy thử xây dựng phát triển để luôn nhận tính năng mới nhất của Chrome Adblock Plus: http://adblockplus.org/en/development-builds (cập nhật riêng biệt, cấu hình độc lập). 26 | -------------------------------------------------------------------------------- /ext/background.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | (function() 19 | { 20 | var nonEmptyPageMaps = Object.create(null); 21 | var pageMapCounter = 0; 22 | 23 | var PageMap = ext.PageMap = function() 24 | { 25 | this._map = Object.create(null); 26 | this._id = ++pageMapCounter; 27 | }; 28 | PageMap.prototype = { 29 | _delete: function(id) 30 | { 31 | delete this._map[id]; 32 | 33 | if (Object.keys(this._map).length == 0) 34 | delete nonEmptyPageMaps[this._id]; 35 | }, 36 | keys: function() 37 | { 38 | return Object.keys(this._map).map(ext._getPage); 39 | }, 40 | get: function(page) 41 | { 42 | return this._map[page._id]; 43 | }, 44 | set: function(page, value) 45 | { 46 | this._map[page._id] = value; 47 | nonEmptyPageMaps[this._id] = this; 48 | }, 49 | has: function(page) 50 | { 51 | return page._id in this._map; 52 | }, 53 | clear: function() 54 | { 55 | for (var id in this._map) 56 | this._delete(id); 57 | }, 58 | delete: function(page) 59 | { 60 | this._delete(page._id); 61 | } 62 | }; 63 | 64 | ext._removeFromAllPageMaps = function(pageId) 65 | { 66 | for (var pageMapId in nonEmptyPageMaps) 67 | nonEmptyPageMaps[pageMapId]._delete(pageId); 68 | }; 69 | })(); 70 | -------------------------------------------------------------------------------- /_locales/lv/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus bloķē visas kaitinošās reklāmas un atbalsta neuzbāzīgas reklāmas tīmekļa vietnēs (noklusējums). Var arī uzstādīt iespēju bloķēt visas reklāmas, atķeksējot to Adblock logā. 2 | 3 | Baudiet sērfošanu tīmeklī bez uzbāzīgām reklāmām, kuras pārņem Jūsu ekrānu! Adblock Plus Google Chrome pārlūkam bloķē: 4 | 5 | · Banerus 6 | · YouTube video reklāmas 7 | · Facebook reklāmas 8 | · Uznirstošos logus 9 | Un visas citas uzbāzīgās reklāmas... 10 | 11 | Adblock Plus ir pasaules populārākais pārlūkprogrammu paplašinājums, un to izmanto miljoniem interneta lietotāju visā pasaulē. Tas ir kopienas veidots atvērts projekts, un simtiem brīvprātīgo sekmē panākumus Adblock Plus, lai pārliecinātos, ka visas kaitinošās reklāmas tiek automātiski bloķētas. 12 | 13 | Lūdzu, ņemiet vērā: Instalējot Adblock Plus Chrome pārlūkam, jūsu pārlūkprogramma rāda brīdinājumu, ka Adblock Plus Chrome varēs piekļūt jūsu pārlūkošanas vēsturei un datiem. Šis ir standarta ziņojums, mēs NEKAD MŪŽĀ nevāksim jebkādu informāciju! 14 | 15 | Nesen Adblock Plus kopiena ieviesa pieņemamu reklāmu iniciatīvu. Atļaujot dažas mazās un statiskas reklāmas, jūs atbalstat tīmekļa vietnes, kas paļaujas uz reklāmdevējiem, bet izvēlas to darīt neuzmācīgā veidā. Šo funkciju var deaktivizēt jebkurā laikā. Dodieties uz http://adblockplus.org/en/acceptable-ads , lai uzzinātu vairāk. 16 | 17 | 18 | **************** 19 | 20 | Ziņojumus par jaunām versijām var atrast šeit: http://adblockplus.org/releases/ 21 | 22 | Kādas problēmas? Izmēģiniet restartēt Chrome un/vai noklikšķiniet uz "Update now" Adblock Plus opcijās. 23 | Atradi kļūdu? Mēs zinām dažas problēmas: http://adblockplus.org/en/known-issues-chrome. Ja Jūs atradāt vairāk vai nepieciešama palīdzība, apmeklējiet mūsu forumu: https://adblockplus.org/forum/viewforum.php?f=10. 24 | 25 | 26 | ***************** 27 | Jūtaties drosmīgs? Izmēģiniet izstrādes versiju, lai vienmēr saņemtu jaunākās funkcijas Chrome Adblock Plus paplašinājumam: http://adblockplus.org/en/development-builds (atsevišķa atjaunošana, neatkarīgi iestatījumi). 28 | -------------------------------------------------------------------------------- /_locales/pt_PT/store.description: -------------------------------------------------------------------------------- 1 | O AdblockPlus bloqueia todos os anúncios irritantes e suporta sítes da web, ao não bloquear por predefinição os anúncios não intrusivos (configurável). 2 | 3 | Desfrute da navegação na web sem anúncios irritantes no seu ecrã! O Adblock Plus para Chrome bloqueia: 4 | 5 | * Faixas 6 | * Anúncios do YouTube 7 | * Publicidade no Facebook 8 | * Janelas de Alerta 9 | * E muitos outros anúnicios importunos 10 | 11 | O Adblock Plus é a extensão mais popular para os navegadores de Internet no mundo e é usado por milhões de utilizadores a nível mundial. É um projeto de fonte aberta desenvolvido por uma comunidade de voluntários que colaboram para tornar este projeto cada vez melhor, certificando-se que todos os anúncios irritantes sejam bloqueados. 12 | 13 | Tenha em atenção que ao instalar o Adblock Plus para Chrome, o seu navegador exibe um aviso que a extensão tem acesso ao seu histórico e dados de navegação. Esta é uma mensagem padrão e podemos garantir que não recolhemos quaisquer informações pessoais. 14 | 15 | Recentemente, a comunidade do Adblock Plus introduziu o conceito de anúncios aceitáveis. Ao permitir alguns anúncios deste tipo, você colabora com os sítios web que obtêm os seus rendimentos através de publicidade, mas que o optaram por fazer de forma não intrusiva. Esta funcionalidade pode ser desativada por si. Aceda a http://adblockplus.org/en/acceptable-ads para mais informações. 16 | 17 | *********** 18 | Pode consultar o anúncio das versões e o registo de alterações em: http://adblockplus.org/releases/ 19 | 20 | Problemas? Tente reiniciar o Chrome e/ou clique "Atualizar agora" nas opções do Adblock Plus. 21 | 22 | Encontrou um erro? Existem alguns erros conhecidos em: http://adblockplus.org/en/known-issues-chrome. Se precisar de ajuda, visite o nosso fórum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Quer estar na vanguarda? Experimente a versão de desenvolvimento para descobrir as novidades do Adblock Plus para Chrome: http://adblockplus.org/en/development-builds (atualizado em separado e com definições independentes). 26 | -------------------------------------------------------------------------------- /_locales/de/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blockiert nervige Werbung und unterstützt Webseiten, indem es unaufdringliche Werbung standardmäßig nicht blockiert (änderbar). 2 | 3 | Erleben Sie das Internet ohne störende Werbung! Adblock Plus für Google Chrome blockiert: 4 | 5 | · Werbebanner 6 | · Werbespots in YouTube Videos 7 | · Werbung auf Facebook 8 | · Pop-ups 9 | · Jede andere aufdringliche Werbung 10 | 11 | Adblock Plus ist weltweit die beliebteste Browser-Erweiterung und wird auf verschiedenen Browsern von über 20 Millionen Menschen täglich genutzt. Adblock Plus ist Open-Source und wird von einer großen Community freiwilliger Helfer unterstützt, sodass immer jede störende Werbung automatisch blockiert wird. 12 | 13 | Wichtig: Bei der Installation wird eine Warnung angezeigt, dass Adblock Plus Zugriff auf private Informationen wie den Browserverlauf hat. Dies ist eine Standard-Meldung, Adblock Plus erhebt NIEMALS persönliche Daten. 14 | 15 | Die Adblock Plus Community hat kürzlich die Acceptable Ads Initiative eingeführt. Durch das Zulassen von ein wenig unaufdringlich gestalteter Werbung können Sie Websites unterstützen, die von Werbung abhängig sind und auf dezente Werbung setzen. Diese Funktionalität kann jederzeit dektiviert werden. Unter https://adblockplus.org/de/acceptable-ads erfahren Sie mehr. 16 | 17 | 18 | *********** 19 | 20 | Die neusten Änderungen finden Sie hier: https://adblockplus.org/releases/ 21 | 22 | Probleme? Starten Sie Chrome neu und/oder klicken Sie den "Jetzt aktualisieren" Button in den Adblock Plus Optionen. 23 | 24 | Haben Sie einen Fehler gefunden? Einige Probleme sind uns bereits bekannt: https://adblockplus.org/de/known-issues-chrome. Wenn Sie ein weiteres Problem gefunden haben oder Hilfe benötigen, dann besuchen Sie unser Forum: https://adblockplus.org/forum/viewforum.php?f=10 25 | 26 | ************* 27 | 28 | Wenn Sie abenteuerlustig sind, können Sie auch eine Entwicklungsversion ausprobieren, um stets die neuesten Features von Adblock Plus für Chrome zu erhalten:https://adblockplus.org/de/development-builds (separat aktualisiert, unabhängige Einstellungen). 29 | -------------------------------------------------------------------------------- /_locales/hu/store.description: -------------------------------------------------------------------------------- 1 | Az Adblock Plus kiszűri a bosszantó hirdetéseket és támogatja a weboldalakat a nem tolakodó reklámok alapértelmezett engedélyezésével (kikapcsolható). 2 | 3 | Élvezze a webet háborítatlanul a bosszantó reklámok eltüntetésével! Az Adblock Plus Google Chrome-hoz kiszűri az alábbiakat: 4 | 5 | - Bannerek 6 | - YouTube videó reklámok 7 | - Facebook hirdetések 8 | - Felugró ablakok 9 | - Minden más tolakodó hirdetés 10 | 11 | Az Adblock Plus a világ legnépszerűbb böngésző bővítménye, felhasználók milliói használják világszerte. Ez egy közösség által fejlesztett, nyílt forráskódú projekt, önkéntesek százai vesznek részt az Adblock Plus fejlesztésében, hogy automatikusan eltüntessék a bosszantó hirdetéseket. 12 | 13 | Megjegyzés: az Adblock Plus Chrome-hoz telepítésekor a böngésző figyelmezteti, hogy az Adblock Plus hozzáférhet az Ön adataihoz az összes webhelyen, a lapokhoz és a böngészési tevékenységeihez. Ez egy szabványos üzenet, viszont mi nem gyűjtünk semmilyen információt a felhasználóról! 14 | 15 | Nemrég az Adblock Plus közösség bevezette az Elfogadható hirdetések kezdeményezést. Kisebb, nem látványos hirdetésekkel támogatja az adott weboldalt, amely a hirdetési bevételekre építi az üzleti modelljét, viszont azt nem tolakodó módon teszi. Ezt a funkciót bármikor kikapcsolhatja, látogasson el a http://adblockplus.org/hu/acceptable-ads oldalra további információkért. 16 | 17 | *********** 18 | Megjelenési információk és a verzió előzmények itt találhatóak: http://adblockplus.org/releases/ 19 | 20 | Gond van a bővítménnyel? Indítsa újra a Chrome-ot, és/vagy kattintson a Frissítés most hivatkozásra az Adblock Plus beállításaiban. 21 | 22 | Hibát talált? Néhány hibáról már tudunk: http://adblockplus.org/en/known-issues-chrome. Ha talált egy újat, akkor kérem látogasson el a fórumunkba: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Kalandra vágyik? Próbálja ki a fejlesztői változatot, hogy mindig a naprakész legyen az Adblock Plus Chrome új funkcióit illetően: 26 | http://adblockplus.org/en/development-builds (külön frissül, külön beállításokkal rendelkezik). 27 | -------------------------------------------------------------------------------- /_locales/pt_BR/store.description: -------------------------------------------------------------------------------- 1 | O Adblock Plus bloqueia todos os anúncios irritantes, oferecendo amparo para aqueles que não possuem anúncios intrusivos ou irritantes (configurável). 2 | 3 | Aprecie a navegação na web sem anúncios desagradáveis em sua tela! O Adblock Plus para Google Chrome pode bloquear: 4 | 5 | · Banners 6 | · Anúncios em vídeo do YouTube 7 | · Anúncios do Facebook 8 | · Pop-ups 9 | · Todos os outros anúncios intrusivos 10 | 11 | O Adblock Plus é a extensão de navegador mais popular do mundo sendo usada por milhões de usuários. É um projeto open source, conduzido pela comunidade, onde centenas de voluntários contribuem para este sucesso certificando-se que todos os anúncios irritantes são automaticamente bloqueados. 12 | 13 | OBSERVAÇÃO: note que ao instalar o Adblock Plus, seu navegador mostra um aviso que esta extensão terá acesso ao seu histórico e também aos seus dados, lembre-se que é uma mensagem de notificação padrão, o Adblock Plus nunca irá recolher qualquer informação sobre suas atividades na web. 14 | 15 | Recentemente, a comunidade Adblock Plus introduziu a iniciativa de Anúncios Aceitáveis. Permitindo anúncios pequenos e estáticos presentes em sites que você apoia, mas que dependem de publicidade e optam por fazer isto de uma forma não-intrusiva. Este recurso pode ser desativado a qualquer momento acessando: http://adblockplus.org/en/acceptable-ads e saiba mais. 16 | 17 | *********** 18 | 19 | Anúncios de lançamento e logs de mudanças podem ser encontrados aqui: http://adblockplus.org/releases/ 20 | 21 | Problemas? Tente reiniciar o Chrome e/ou clique em "Atualizar agora" nas opções do Adblock Plus. 22 | 23 | Encontrou um bug? Estamos conscientes de alguns: http://adblockplus.org/en/known-issues-chrome. 24 | Se você encontrou mais ou precisa de ajuda, visite nosso fórum: https://adblockplus.org/forum/viewforum.php?f=10. 25 | 26 | ************* 27 | 28 | Gosta de aventuras? Experimente uma versão de desenvolvimento para obter sempre as mais recentes funcionalidades do Adblock Plus para: http://adblockplus.org/en/development-builds (atualizado separadamente, configurações independentes). 29 | -------------------------------------------------------------------------------- /_locales/tr/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus tüm sıkıcı reklamları engeller, ve varsayılan olarak (yapılandırılabilir) zararlı olmayan reklamları engellemeyerek web siteleri destekler. 2 | 3 | Ekranınızı dolduran sıkıcı reklamlar olmadan web'de gezinmenin tadını çıkarın! Google Chrome için Adblock Plus şunları engeller: 4 | 5 | · Reklamlar 6 | · YouTube video reklamları 7 | · Facebook reklamları 8 | · Açılır pencereler 9 | · Tüm diğer sıkıcı reklamlar 10 | 11 | Adblock Plus dünyanın en popüler tarayıcı eklentisidir ve dünya çapında milyonlarca kişi tarafından kullanılır. Toplum odaklı açık kaynak kodlu bir projedir ve yüzlerce gönüllü Adblock Plus'ın tüm rahatsız edici reklamları başarıyla engellediğinden emin olmak için katkıda bulunmaktadır. 12 | 13 | Lütfen Not Edin: Chrome için Adblock Plus'ı yüklediğinizde tarayıcınız Chrome için Adblock Plus'ın tarayıcı geçmişi ve bilgilerine erişebileceğine dair bir uyarıda bulunur. Bu standart bir mesajdır, ASLA herhangi bir bilginizi toplamayız! 14 | 15 | Yakın zamanda, Adblock Plus camiası Kabul Edilebilir Reklamlar insiyatifini sundu. Bazı minik ve durağan reklamlara izin vererek, web sitelerinin güvenilir reklam yayınlamasını ama bunu müdahale etmeden yapmasını desteklersiniz. Bu özellik istediğiniz zaman kapatılabilir. Daha fazlasını öğrenmek için http://adblockplus.org/en/acceptable-ads sayfasını ziyaret ediniz. 16 | 17 | 18 | *********** 19 | Yayın duyuruları ve sürüm notlarına şurada ulaşılabilir: http://adblockplus.org/releases/ 20 | 21 | Sorunlar mı var? Chrome'u yeniden başlatmayı ve/veya Adblock Plus Seçenekleri İçindeki "Şimdi Güncelle" yi tıklamayı deneyiniz. 22 | 23 | Bir hata mı buldunuz? Bazı sorunların farkındayız: http://adblockplus.org/en/known-issues-chrome. Eğer daha farklı bir sorun bulduysanız ve yardıma ihtiyacınız varsa forumu ziyaret ediniz: https://adblockplus.org/forum/viewforum.php?f=10. 24 | 25 | 26 | *********** 27 | Maceraca atılmak mı istiyorsunuz? Her zaman Chrome için AdBlock Plus'ın son özelliklerini edinmek için geliştirme sürümümüzü deneyin: http://adblockplus.org/en/development-builds (Parçalı olarak güncellenmektedir, bağımsız ayarlar). 28 | -------------------------------------------------------------------------------- /_locales/it/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blocca tutti gli annunci fastidiosi e supporta di default (configurabile) i siti web non bloccando gli annunci che non sono intrusivi. 2 | 3 | Fruisci della navigazione web senza annunci intrusivi che ingombrano lo schermo! Adblock Plus per Google Chrome blocca: 4 | 5 | · Banner 6 | · Annunci video di YouTube 7 | · Pubblicità di Facebook 8 | · Pop-up 9 | · Tutti gli altri annunci intrusivi 10 | 11 | Adblock Plus è l'estensione più famosa del mondo ed è usata da milioni di utenti a livello globale. Si tratta di una community open source e centinaia di volontari stanno contribuendo al successo di Adblock Plus per far sì che tutti gli annunci fastidiosi siano bloccati automaticamente. 12 | 13 | Nota: Quando viene installato Adblock Plus per Chrome, il browser mostrerà un avviso dove è specificato che Adblock Plus per Chrome ha accesso alla tua cronologia di navigazione e ai tuoi dati. Tale avviso è solamente un messaggio standard, noi non raccogliamo MAI alcuna informazione! 14 | 15 | Recentemente, la community di Adblock Plus ha introdotto l'iniziativa Acceptable Ads. Permettendo la diffusione di alcuni annunci piccoli e statici, supporterai i siti web che fanno affidamento sulle pubblicità, ma hanno scelto di farlo in una maniera non intrusiva. Questa funzionalità può essere disabilitata quando si vuole. Vai su http://adblockplus.org/en/acceptable-ads per saperne di più. 16 | 17 | *********** 18 | Gli annunci di nuove versioni e dei changelog possono essere trovati qui: http://adblockplus.org/releases/ 19 | 20 | Problemi? Prova a riavviare Chrome e/o clicca su "Aggiorna adesso" dal menu Opzioni di Adblock Plus. 21 | 22 | Hai trovato un bug? Siamo già a conoscenza di alcuni problemi: http://adblockplus.org/en/known-issues-chrome. Se ne trovi ancora o hai bisogno di aiuto, visita il nostro forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Ti senti avventuroso? Prova la versione per sviluppatori per avere sempre le ultime funzionalità di Adblock Plus per Chrome: http://adblockplus.org/en/development-builds (aggiornata separatamente, impostazioni indipendenti). 26 | -------------------------------------------------------------------------------- /_locales/es/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus bloquea todos los anuncios importunos y ayuda a los sitios web al permitir por defecto la publicidad no intrusiva (opción configurable). 2 | Disfrute navegando por Internet sin que la publicidad agresiva ocupe toda la pantalla. Adblock Plus para Google Chrome bloquea: 3 | 4 | · Banners 5 | · Vídeos publicitarios en YouTube 6 | · Anuncios en Facebook 7 | · Ventanas emergentes (pop ups) 8 | · Todo tipo de publicidad agresiva 9 | 10 | Adblock Plus es la extensión de navegador más popular, utilizada por millones de usuarios de todo el mundo. Se trata de un proyecto de código abierto orientado a la comunidad, en el que cientos de voluntarios contribuyen al éxito de Adblock Plus para garantizar que toda la publicidad molesta se bloquee automáticamente. 11 | Tenga en cuenta que al instalar Adblock Plus para Chrome su navegador le advertirá que esta extensión tendrá acceso a su historial y datos de navegación. Se trata de un mensaje que aparece por defecto, nosotros NUNCA recolectamos ningún tipo de información. 12 | Hace poco la comunidad de Adblock Plus introdujo la iniciativa de publicidad aceptable. Al permitir algunos anuncios estáticos y de pequeño tamaño ayudará a los sitios web que dependen de la publicidad, pero que prefieren hacerlo de forma no agresiva. Esta funcionalidad puede deshabilitarse en cualquier momento. Para más información, puede consultar en http://adblockplus.org/en/acceptable-ads. 13 | 14 | *********** 15 | 16 | Puede encontrar los anuncios de nuevas versiones y las listas de cambios en http://adblockplus.org/releases/ 17 | ¿Algún problema? Pruebe a reiniciar Chrome y/o pulsar "Actualizar ahora" en las Opciones de Adblock Plus. 18 | ¿Encontró un fallo? Ya estamos al tanto de algunos de ellos: http://adblockplus.org/en/known-issues-chrome. Si encontró otro diferente o necesita ayuda, puede visitar nuestro foro: https://adblockplus.org/forum/viewforum.php?f=10. 19 | 20 | ************* 21 | 22 | ¿Se siente aventurero? Pruebe una versión de desarrollo para tener siempre las funcionalidades más recientes de Adblock Plus para Chrome: http://adblockplus.org/en/development-builds (se actualizan independientemente, y tienen predisposiciones diferentes). 23 | -------------------------------------------------------------------------------- /_locales/es_419/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus bloquea toda la publicidad molesta, pero permite la publicidad discreta de los sitios web de forma predeterminada (opción configurable) 2 | 3 | Disfruta del internet sin anuncios molestos que saturan tu pantalla! Adblock Plus para Google Chrome bloquea: 4 | 5 | · Banners 6 | · Anuncios en video de YouTube 7 | · Publicidad en Facebook 8 | · Pop-ups 9 | · Todo la demás publicidad molesta 10 | 11 | Adblock Plus es la extensión para navegadores más popular de internet y es usada por millones de usuarios a través del mundo. Es un proyecto de código abierto guíado por la comunidad, y cientos de voluntarios están ayudando para el éxito de Adblock Plus y asegurar que esos anuncios molestos sean automáticamente bloqueados. 12 | 13 | Nota: Cuando instale Adblock Plus para Chrome, su navegador mostrará una alerta diciendo que Adblock Plus para Chrome tiene acceso a su historial de navegación y datos. Esto es un mensaje estándar, nosotros NUNCA recolectamos ninguna información ni mucho menos. 14 | 15 | Recientemente, la comunidad de Adblock Plus introdujo la iniciativa de Anuncios Aceptables. Permitiendo algunos anuncios pequeños y estáticos, apoyando a sitios que obtienen ingresos por la publicidad pero que eligen hacerlo de una manera no invasiva. Esta característica puede ser deshabilitada en cualquier momento. 16 | Checa http://adblockplus.org/es/acceptable-ads para mayor información. 17 | 18 | ************* 19 | Anuncios de nuevos lanzamientos y changelogs pueden ser encontrados aquí: http://adblockplus.org/releases/ 20 | 21 | ¿Algún problema? Intenta volver a iniciar Chrome y/o haciendo click "Actualizar ahora" en las opciones de Adblock Plus. 22 | 23 | ¿Encontraste un error? Estamos concientes de algunos problemas: http://adblockplus.org/es/known-issues-chrome. En caso de que encontraras más o neseitaras ayuda, visita nuestro foro: https://adblockplus.org/forum/viewforum.php?f=10. (english) 24 | 25 | **************** 26 | ¿Te sientes aventurero? Intenta la versión en desarrollo para siempre obtener las últimas características de Adblock Plus para Chrome: http://adblockplus.org/es/development-builds (actualizado de forma separada, características independientes). 27 | -------------------------------------------------------------------------------- /_locales/et/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus bloque toutes les annonces ennuyeuses, et soutient sites en ne bloquant uniquement les publicités discrètes par défaut (configurable). 2 | 3 | Profitez de surfer sur le web sans publicité importune encombrant votre écran! Adblock Plus contre les pubs sur Google Chrome: 4 | 5 | · Bannières 6 | · Annonces vidéo YouTube 7 | · Publicités Facebook 8 | · Pop-ups 9 | · Tous les autres annonces envahissantes 10 | 11 | Adblock Plus est l'extension de navigateur le plus populaire au monde, et est utilisé par des millions d'utilisateurs dans le monde entier. Il s'agit d'un projet open source mené par la communauté, et des centaines de bénévoles contribuent à la réussite d'Adblock Plus pour s'assurer que toutes les publicités ennuyeuses sont automatiquement bloqués. 12 | 13 | Merci de noter : Lors de l'installation d'Adblock Plus pour Chrome, le navigateur affiche un avertissement indiquant que Adblock Plus pour Chrome a accès à votre historique de navigation et les données. Ceci est un message standard, nous recueillons jamais la moindre information ! 14 | 15 | Récemment, la communauté Adblock Plus a présenté l'initiative des annonces acceptable. En permettant à des petites et statiques annonces, vous soutenez sites qui comptent sur la publicité, mais choisissent de le faire d'une manière non-intrusive. Cette fonction peut être désactivée à tout moment. Aller à http://adblockplus.org/en/acceptable-ads pour en savoir plus. 16 | 17 | *********** 18 | Annonces de sortie et changelog peuvent être trouvés ici: http://adblockplus.org/releases/ 19 | 20 | Un problèmes ? Essayez de redémarrer Chrome et / ou en cliquant sur "Mettre à jour maintenant" dans les options d'Adblock Plus. 21 | 22 | Vous avez trouvé un bug ? Nous sommes conscients de certains problèmes : http://adblockplus.org/en/known-issues-chrome. Si vous avez trouvé plus que de simples bugs ou besoin d'aide, visitez notre forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Envie d'aventure ? Essayez une version de développement de toujours obtenir les dernières fonctionnalités de Chrome Adblock Plus: http://adblockplus.org/en/development-builds (mis à jour séparément et réglages indépendants). -------------------------------------------------------------------------------- /_locales/ml/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "add": { 3 | "message": "ചേര്‍ക്കുക" 4 | }, 5 | "add_domain_button": { 6 | "message": "ഡൊമൈൻ ചേര്‍ക്കുക" 7 | }, 8 | "add_filter_button": { 9 | "message": "ഫിൽറ്റർ ചേര്‍ക്കുക" 10 | }, 11 | "add_filters_msg": { 12 | "message": "ഫിൽറ്റർ / ഫിൽറ്ററുകൾ ഉള്പെടുത്തുക?" 13 | }, 14 | "add_your_own_filters": { 15 | "message": "സ്വന്തം ഫിൽറ്റർ ചേര്‍ക്കുക" 16 | }, 17 | "apply_changes": { 18 | "message": "മാറ്റങ്ങള്‍ നടപ്പിലാക്കുക" 19 | }, 20 | "block_element": { 21 | "message": "എലമെന്റ് തടയുക" 22 | }, 23 | "cancel": { 24 | "message": "റദ്ദാക്കുക" 25 | }, 26 | "clickhide_instructions": { 27 | "message": "ഈ പോപ്പപ്പ് ക്ലോസ് ചെയ്ത ശേഷം താളിലെ എലമെന്റില്‍ ക്ലിക്കോ റൈറ്റ് ക്ലിക്കോ ചെയ്യുക." 28 | }, 29 | "easy_create_filter": { 30 | "message": "എലമെന്റ് തടയുക" 31 | }, 32 | "edit_filters_raw": { 33 | "message": "അരിപ്പകള്‍ റോ ടെക്സ്റ്റ് (ഫോര്‍മാറ്റിങ് ഇല്ലാതെ) ആയി തിരുത്തുക" 34 | }, 35 | "filter_lists": { 36 | "message": "പട്ടികകള്‍ അരിക്കുക" 37 | }, 38 | "general": { 39 | "message": "പലവക" 40 | }, 41 | "last_updated_at": { 42 | "message": "അവസാനം പുതുക്കിയത് $date$, $time$", 43 | "placeholders": { 44 | "date": { 45 | "content": "$2" 46 | }, 47 | "time": { 48 | "content": "$1" 49 | } 50 | } 51 | }, 52 | "last_updated_at_today": { 53 | "message": "അവസാനം പുതുക്കിയത് ഇന്ന് $time$", 54 | "placeholders": { 55 | "time": { 56 | "content": "$1" 57 | } 58 | } 59 | }, 60 | "line": { 61 | "message": "വരി $number$", 62 | "placeholders": { 63 | "number": { 64 | "content": "$1" 65 | } 66 | } 67 | }, 68 | "remove_button": { 69 | "message": "തെരഞ്ഞെടുത്തത് നീക്കംചെയ്യുക" 70 | }, 71 | "stats_share_download": { 72 | "message": "ആഡ്ബ്ലോക്ക് പ്ലസ് ഡൗണ്‍ലോഡ് ചെയ്യുക" 73 | }, 74 | "stats_share_title": { 75 | "message": "ഈ സംഖ്യ പങ്കുവയ്ക്കുക" 76 | }, 77 | "stats_show_iconnumber": { 78 | "message": "ഐക്കണില്‍ സംഖ്യ കാണിക്കുക" 79 | }, 80 | "stats_title": { 81 | "message": "തടഞ്ഞ പരസ്യങ്ങള്‍" 82 | }, 83 | "update_now": { 84 | "message": "ഇപ്പോള്‍ത്തന്നെ പുതുക്കുക" 85 | } 86 | } -------------------------------------------------------------------------------- /_locales/pl/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus blokuje wszystkie irytujące reklamy, ale wspiera witryny zawierające nienatarczywe reklamy domyślnie nie blokując ich (konfigurowane). 2 | 3 | Surfuj po sieci bez irytujących reklam zaśmiecających ekran! Adblock Plus dla Google Chrome blokuje: 4 | 5 | · Banery 6 | · Reklamy wideo na YouTube 7 | · Reklamy na Facebooku 8 | · Wyskakujące okna 9 | · Wszystkie inne irytujące reklamy 10 | 11 | Adblock Plus jest najpopularniejszym na świecie dodatkiem dla przeglądarek internetowych i jest używany przez miliony użytkowników na całym świecie. Jest to projekt open source oparty na społeczności i setki wolontariuszy przyczyniają się do sukcesu Adblock Plusa, dzięki czemu wszystkie denerwujące reklamy są automatycznie blokowane. 12 | 13 | Informacja. W trakcie instalacji w przeglądarce Chrome zostanie wyświetlone ostrzeżenie, że Adblock Plus ma dostęp do twojej historii przeglądania i danych. Jest to standardowa informacja generowana przez Chrome. My NIGDY nie zbieramy żadnych informacji! 14 | 15 | Ostatnio społeczność Adblock Plusa wprowadziła inicjatywę akceptowalnych reklam (Acceptable Ads), zezwalając na wyświetlanie niewielkich statycznych reklam, by wspierać strony internetowe wyświetlające reklamy, ale tylko te, które robią to w nienatarczywy sposób. Funkcję te można w każdej chwili wyłączyć. Więcej informacji znajdziesz na stronie: http://adblockplus.org/en/acceptable-ads. 16 | 17 | *********** 18 | Informacje o wydaniu i dokonanych zmianach znajduje się na stronie: http://adblockplus.org/releases/ 19 | 20 | Masz problemy? Spróbuj ponownie uruchomić Chrome i w ustawieniach Adblock Plusa kliknij „Aktualizuj teraz”. 21 | 22 | Znalazłeś/znalazłaś błąd? Wiemy o kilku problemach występujących w przeglądarce Chrome: http://adblockplus.org/en/known-issues-chrome. Jeśli znajdziesz, jakiś inny błąd lub potrzebujesz pomocy, zajrzyj na nasze forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Jesteś żądny/żądna przygód? Wypróbuj wersję rozwojową Adblock Plusa, w której znajdziesz funkcje, które znajdą się w wydaniu finalnym w niedalekiej przyszłości: http://adblockplus.org/en/development-builds. Wersje te są aktualizowane oddzielnym kanałem i mają niezależne ustawienia. 26 | -------------------------------------------------------------------------------- /_locales/fil/store.description: -------------------------------------------------------------------------------- 1 | Ang Adlock Plus ay naghaharang ng Hindi kanais - nais na ads, at sumusoporta sa mga websites sa pamamagitan ng hindi pagharang sa mga malumanay na ads(maaring baguhin ang setting na ito). 2 | 3 | Ikatuwa ang paggamit ng web ng hindi nakikita ang mga nakakairitang mga ads sa inyong screen! Ang Adblock Plus para sa Google Chrome ay hinaharang ang mga sumusunod: 4 | 5 | · Banners 6 | · YouTube video ads 7 | · Facebook advertisements 8 | · Pop-ups 9 | · At iba pang mga hindi kanais - nais na ads 10 | 11 | Ang Adblock Plus ay ang pinaka popular na browser extension sa mundo, at ginagamit ng milyon-milyon. Ito ay binubuo ng komunidad para sa isang project na maaaring gamitin ng lahat ng libre, at daan-daang boluntaryo na nag ambag-ambag para sa tagumpay ng Adblock Plus na sinisiguradong mahaharang ang mga hindi kanais-nais na ads. 12 | 13 | Pakiusap: Kapag i-install ang Adblock Plus para sa Chrome, ang inyong browser ay maglalabas ng mensahe na ang Adblock Plus ay magkakaroon ng pahintulot sa iyong browsing history at data. Ito ay isang istandard na mensahe, at kami ay HINDI mangongolekta ng kahit anong impormasyon! 14 | 15 | Kamakailan lang, ipinakilala ng komunidad ng Adblock Plus ang Acceptable Initiative. Sa pagpapahintulot sa mga ilang maliit na ads, sinusuportahan mo na ang mga websites na umaasa sa advertising ngunit hindi sa hindi kanais-nais na paraan. Ang katangian na ito ay maaaring ihinto sa kahit na anong oras. Pumunta sa http://adblockplus.org/en/acceptable-ads para sa iba pang mga impormasyon. 16 | 17 | *********** 18 | Ang mga anunsyo sa mga pagbabago ng Adblock Plus ay makikita dito: http://adblockplus.org/releases/ 19 | 20 | Problema? Subukang ulitin ang Chrome o pindutin ang "Update now" sa Adblock Plus Options. 21 | 22 | May nakitang bug? Kami ay may kaalaman tungkol dito:http://adblockplus.org/en/known-issues-chrome. Kung may nakita kang hindi pa namin nalalaman, o kailangan ng tulong ukol dito, bumisita sa aming forum: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Adventorous ka ba? Subukan ang development build para palaging makakuha ng pinaka bagong tampok ng Adblock Plus para sa Chrome: http://adblockplus.org/en/development-builds (nagbabago ng hiwalay, may sariling settings). -------------------------------------------------------------------------------- /qunit/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 |

Adblock Plus unit tests

48 |

49 |
50 |

51 |
    52 | 53 | 54 | -------------------------------------------------------------------------------- /popupBlocker.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | if (require("info").platform == "chromium") 19 | { 20 | var tabsLoading = {}; 21 | 22 | chrome.webNavigation.onCreatedNavigationTarget.addListener(function(details) 23 | { 24 | var sourcePage = new ext.Page({id: details.sourceTabId}); 25 | var sourceFrame = ext.getFrame(details.sourceTabId, details.sourceFrameId); 26 | 27 | if (!sourceFrame || isFrameWhitelisted(sourcePage, sourceFrame)) 28 | return; 29 | 30 | var documentHost = extractHostFromFrame(sourceFrame); 31 | if (!documentHost) 32 | return; 33 | 34 | tabsLoading[details.tabId] = documentHost; 35 | checkPotentialPopup(details.tabId, details.url, documentHost); 36 | }); 37 | 38 | chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) 39 | { 40 | if (!(tabId in tabsLoading)) 41 | { 42 | // Not a pop-up we've previously seen 43 | return; 44 | } 45 | 46 | if ("url" in changeInfo) 47 | checkPotentialPopup(tabId, tab.url, tabsLoading[tabId]); 48 | 49 | if ("status" in changeInfo && changeInfo.status == "complete" && tab.url != "about:blank") 50 | delete tabsLoading[tabId]; 51 | }); 52 | } 53 | 54 | function checkPotentialPopup(tabId, url, documentHost) 55 | { 56 | url = new URL(url || "about:blank"); 57 | 58 | var filter = defaultMatcher.matchesAny( 59 | stringifyURL(url), RegExpFilter.typeMap.POPUP, 60 | documentHost, isThirdParty(url, documentHost) 61 | ); 62 | 63 | if (filter instanceof BlockingFilter) 64 | chrome.tabs.remove(tabId); 65 | } 66 | -------------------------------------------------------------------------------- /_locales/fr/store.description: -------------------------------------------------------------------------------- 1 | Adblock Plus bloque toutes les publicités agaçantes et supporte les sites web en ne bloquant pas, par défaut (configurable), les publicités non envahissantes. 2 | 3 | Amusez vous à surfer sur Internet sans publicités dérangeantes obstruant votre écran ! Adblock Plus bloque sur Google Chrome : 4 | 5 | · Les bannières 6 | · Les publicités de Youtube 7 | · Les publicités de Facebook 8 | · Les pop-ups 9 | · Et toutes les autres publicités envahissantes 10 | 11 | Adblock Plus est l'extension pour navigateur la plus populaire au monde et est utilisé par des millions d'utilisateurs autour du globe. C'est un projet open-source communautaire et des centaines de volontaires contribuent au succès de Adblock Plus pour assurer que toutes publicités irritantes soient automatiquement bloquées. 12 | 13 | Veuillez Noter: Lors de l'installation de Adblock Plus sur Chrome, votre navigateur affiche un avertissement informant que Adblock Plus a accès à votre historique de navigation et à vos données. Ceci est un message de sécurité standard, nous ne collectons JAMAIS aucunes informations quelles qu'elles soient! 14 | 15 | Récemment, la communauté Adblock Plus a introduit l'initiative des "Acceptable Ads"(Publicités acceptables). En autorisant certaines petites publicités statiques, vous soutenez les sites qui dépendent des publicités mais ont opté de le faire d'une manière non intrusive. Cette fonctionnalité peut être désactivée à tout moment. Allez sur https://adblockplus.org/fr/acceptable-ads pour plus d'informations. 16 | 17 | *********** 18 | Les dernières annonces et les changelogs peuvent être trouvés ici: http://adblockplus.org/releases/ 19 | 20 | Des problèmes ? Essayez de redémarrer Chrome et/ou cliquez sur "Mettre à jour" dans les options Adblock Plus. 21 | 22 | Vous avez trouvé un bug? Nous sommes conscients de certains problèmes: https://adblockplus.org/fr/known-issues-chrome (anglophone). Si vous trouvez d'autres bugs ou vous avez besoin d'aide, visitez notre forum (anglophone): 23 | https://adblockplus.org/forum/viewforum.php?f=10 24 | 25 | *********** 26 | Vous vous sentez aventureux ? Essayez une version développée afin de toujours avoir les dernières fonctionnalités de Adblock Plus: http://adblockplus.org/fr/development-builds (mise à jour séparément, configurations indépendantes). 27 | -------------------------------------------------------------------------------- /_locales/el/store.description: -------------------------------------------------------------------------------- 1 | Το Adblock Plus φράζει όλες τις ενοχλητικές διαφημίσεις, και υποστηρίζει τις ιστοσελίδες με το να μην φράζει διακριτικές διαφημίσεις εκ προεπιλογής (ρυθμιζόμενο). 2 | 3 | Απολαύστε το σερφάρισμα στο διαδίκτυο χωρίς ενοχλητικές διαφημίσεις να προκαλούν ακαταστασία στην οθόνη σας! Το Adblock Plus για το Google Chrome, φράζει: 4 | 5 | · Διαφημιστικά πλαίσια 6 | · Διαφημίσεις στα βίντεο του YouTube 7 | · Διαφημίσεις στο Facebook 8 | · Αναδυόμενα παράθυρα 9 | · Όλες τις υπόλοιπες ενοχλητικές διαφημίσεις. 10 | 11 | Το Adblock Plus είναι η πιο διάσημη επέκταση περιηγητή στον κόσμο, και χρησιμοποιείται από εκατομμύρια χρήστες παγκοσμίως. Είναι ένα έργο ανοιχτού κώδικα καθοδηγούμενο από την κοινότητα, και εκατοντάδες εθελοντές συνεισφέρουν στην επιτυχία του Adblock Plus για να σιγουρέψουν ότι οι ενοχλητικές διαφημίσεις φράζονται αυτόματα. 12 | 13 | Προσοχή: Όταν εγκαθιστάτε το Adblock Plus για Chrome, ο περιηγητής σας δείχνει μια προειδοποίηση ότι το Adblock Plus για Chrome έχει πρόσβαση στο ιστορικό περιήγησης και δεδομένα σας. Αυτό είναι ένα καθιερωμένο μήνυμα, εμείς δε συλλέγουμε ΚΑΜΙΑ πληροφορία απολύτως. 14 | 15 | Πρόσφατα, η κοινότητα του Adblock Plus εισήγαγε την πρωτοβουλία των Αποδεκτών διαφημίσεων (Acceptable Ads). Με το να επιτρέπονται μερικές μικρές και στατικές διαφημίσεις, υποστηρίζετε τις ιστοσελίδες που βασίζονται στη διαφήμιση, αλλά επιλέγουν να το κάνουν με μη παρεμβατικό τρόπο. Αυτό το χαρακτηριστικό μπορεί να απενεργοποιηθεί οποιαδήποτε στιγμή. Επισκεφθείτε το http://adblockplus.org/en/acceptable-ads για να μάθετε περισσότερα. 16 | 17 | *********** 18 | Ανακοινώσεις εκδόσεων και καταγραφές αλλαγών μπορούν να βρεθούν εδώ: http://adblockplus.org/releases/ 19 | 20 | Αντιμετωπίζετε προβλήματα; Δοκιμάστε να επανεκκινήσετε το Chrome και/ή να κάνετε κλικ στο "Αναβάθμιση τώρα" στις Επιλογές του Adblock Plus. 21 | 22 | Βρήκατε σφάλμα; Είμαστε ενήμεροι για κάποια θέματα: http://adblockplus.org/en/known-issues-chrome. Αν βρήκατε περισσότερα ή χρειάζεστε βοήθεια, επισκεφθείτε το forum μας: https://adblockplus.org/forum/viewforum.php?f=10. 23 | 24 | ************* 25 | Αισθάνεστε περιπετειώδεις; Δοκιμάστε μία υπό-ανάπτυξη έκδοση για να έχετε πάντα τα πιο πρόσφατα χαρακτηριστικά του Chrome Adblock Plus: http://adblockplus.org/en/development-builds (ενημερώνονται ξεχωριστά, ανεξάρτητες ρυθμίσεις). 26 | -------------------------------------------------------------------------------- /lib/stats.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | /** @module stats */ 19 | 20 | let {Prefs} = require("prefs"); 21 | let {BlockingFilter} = require("filterClasses"); 22 | let {FilterNotifier} = require("filterNotifier"); 23 | 24 | let badgeColor = "#646464"; 25 | let blockedPerPage = new ext.PageMap(); 26 | 27 | /** 28 | * Gets the number of requests blocked on the given page. 29 | * 30 | * @param {Page} page 31 | * @return {Number} 32 | */ 33 | exports.getBlockedPerPage = function(page) 34 | { 35 | return blockedPerPage.get(page) || 0; 36 | }; 37 | 38 | FilterNotifier.addListener(function(action, item, newValue, oldValue, page) 39 | { 40 | if (action != "filter.hitCount" || !page) 41 | return; 42 | 43 | if (!(item instanceof BlockingFilter)) 44 | return; 45 | 46 | Prefs.blocked_total++; 47 | 48 | let blocked = blockedPerPage.get(page) || 0; 49 | blockedPerPage.set(page, ++blocked); 50 | 51 | // Update number in icon 52 | if (Prefs.show_statsinicon) 53 | { 54 | page.browserAction.setBadge({ 55 | color: badgeColor, 56 | number: blocked 57 | }); 58 | } 59 | }); 60 | 61 | Prefs.onChanged.addListener(function(name) 62 | { 63 | if (name != "show_statsinicon") 64 | return; 65 | 66 | ext.pages.query({}, function(pages) 67 | { 68 | for (var i = 0; i < pages.length; i++) 69 | { 70 | let page = pages[i]; 71 | let badge = null; 72 | 73 | if (Prefs.show_statsinicon) 74 | { 75 | let blocked = blockedPerPage.get(page); 76 | if (blocked) 77 | { 78 | badge = { 79 | color: badgeColor, 80 | number: blocked 81 | }; 82 | } 83 | } 84 | 85 | page.browserAction.setBadge(badge); 86 | } 87 | }); 88 | }); 89 | -------------------------------------------------------------------------------- /block.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | Block element 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 74 | 75 | 76 | 77 |
    78 | 79 | 80 |
    81 | 82 | 83 | 84 |
    85 | 86 | 87 |
    88 | 89 | 90 | 91 | -------------------------------------------------------------------------------- /qunit/tests/filterValidation.js: -------------------------------------------------------------------------------- 1 | (function() 2 | { 3 | var filterValidation = require("filterValidation"); 4 | var parseFilter = filterValidation.parseFilter; 5 | var parseFilters = filterValidation.parseFilters; 6 | 7 | var filterClasses = require("filterClasses"); 8 | var BlockingFilter = filterClasses.BlockingFilter; 9 | var ElemHideFilter = filterClasses.ElemHideFilter; 10 | var CommentFilter = filterClasses.CommentFilter; 11 | 12 | module("Filter validation"); 13 | 14 | test("Detecting invalid filters", function() 15 | { 16 | equal(parseFilter("||example.com^$unknown").error.type, "invalid-filter", "unknown option"); 17 | equal(parseFilter("[foobar]").error.type, "unexpected-filter-list-header", "filter list header"); 18 | equal(parseFilter("##[foo").error.type, "invalid-css-selector", "invalid selector"); 19 | ok(/\b4\b/.test(parseFilters("!comment\r\n||example.com^\n\n##/").errors[0]), "error contains corresponding line number"); 20 | }); 21 | 22 | test("Allowing valid filters", function() 23 | { 24 | var text, filter; 25 | 26 | text = "||example.com^"; 27 | filter = parseFilter(text).filter; 28 | ok(filter instanceof BlockingFilter, "blocking filter parsed"); 29 | equal(filter.text, text, "blocking filter text matches"); 30 | 31 | text = '##div:first-child a[src="http://example.com"] > .foo + #bar' 32 | filter = parseFilter(text).filter; 33 | ok(filter instanceof ElemHideFilter, "elemhide filter parsed"); 34 | equal(filter.text, text, "elemhide filter text matches"); 35 | 36 | text = "! foo bar" 37 | filter = parseFilter(text).filter; 38 | ok(filter instanceof CommentFilter, "comment filter parsed"); 39 | equal(filter.text, text, "comment filter text matches"); 40 | 41 | equal(parseFilter("").filter, null, "empty filter parsed as 'null'"); 42 | }); 43 | 44 | test("Normalizing filters", function() 45 | { 46 | var ws = " \t\r\n"; 47 | 48 | equal(parseFilter(ws + "@@" + ws + "||" + ws + "example.com" + ws + "^" + ws).filter.text, "@@||example.com^", "unnecessary spaces"); 49 | equal(parseFilter(ws).filter, null, "only spaces"); 50 | }); 51 | 52 | test("Parsing multiple filters", function() 53 | { 54 | var result = parseFilters("||example.com^\n \n###foobar\r\n! foo bar\n"); 55 | 56 | equal(result.errors.length, 0, "no error occurred"); 57 | equal(result.filters.length, 3, "all filters parsed"); 58 | 59 | ok(result.filters[0] instanceof BlockingFilter, "1st filter is blocking"); 60 | equal(result.filters[0].text, "||example.com^", "1st filter text matches"); 61 | 62 | ok(result.filters[1] instanceof ElemHideFilter, "2nd filter is elemhide"); 63 | equal(result.filters[1].text, "###foobar", "2nd filter text matches"); 64 | 65 | ok(result.filters[2] instanceof CommentFilter, "3rd filter is comment"); 66 | equal(result.filters[2].text, "! foo bar", "3rd filter text matches"); 67 | }); 68 | })(); 69 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Adblock Plus for Chrome, Opera and Safari 2 | ========================================= 3 | 4 | This repository contains the platform-specific Adblock Plus source code for 5 | Chrome, Opera and Safari. It can be used to build Adblock Plus for these 6 | platforms, generic Adblock Plus code will be extracted from other repositories 7 | automatically (see _dependencies_ file). 8 | 9 | Building 10 | --------- 11 | 12 | ### Requirements 13 | 14 | - [Python 2.7](https://www.python.org) 15 | - [The Jinja2 module](http://jinja.pocoo.org/docs) 16 | - [The PIL module](http://www.pythonware.com/products/pil/) 17 | - For signed Chrome and Opera builds: [M2Crypto module](https://github.com/martinpaljak/M2Crypto) 18 | - For signed Safari builds: A [patched version of the xar command line tool](https://github.com/mackyle/xar/) 19 | 20 | ### Building the extension 21 | 22 | Run one of the following commands in the project directory, depending on your 23 | target platform: 24 | 25 | ./build.py -t chrome build -k adblockpluschrome.pem 26 | ./build.py -t opera build -k adblockplusopera.pem 27 | ./build.py -t safari build -k adblockplussafari.pem 28 | 29 | This will create a build with a name in the form 30 | _adblockpluschrome-1.2.3.nnnn.crx_ or _adblockplussafari-1.2.3.nnnn.safariextz_. 31 | Note that you don't need an existing signing key for Chrome or Opera, a new key 32 | will be created automatically if the file doesn't exist. Safari on the other 33 | hand always requires a valid developer certificate, you need to get one in the 34 | Apple Developer Center first. _adblockplussafari.pem_ should contain the private 35 | key for your developer certificate, the developer certificate itself as well as 36 | all the certificates it was signed with (Apple's root certificate and 37 | intermediate certificates) in PEM format - in that order. 38 | 39 | ### Development environment 40 | 41 | To simplify the process of testing your changes you can create an unpacked 42 | development environment. For that run one of the following commands: 43 | 44 | ./build.py -t chrome devenv 45 | ./build.py -t opera devenv 46 | ./build.py -t safari devenv 47 | 48 | This will create a _devenv_ directory in the repository. In Chrome and Opera you 49 | should load it as an unpacked extension directory. After making changes to the 50 | source code re-run the command to update the development environment, the 51 | extension should reload automatically after a few seconds. 52 | 53 | In Safari you should load _devenv/adblockplussafari.safariextension_ as unpacked 54 | extension directory. After making changes to the source code re-run the command 55 | to update the development environment. You will still need to reload the 56 | extension explicitly in the Extension Builder, Safari currently doesn't allow 57 | automating this action. 58 | 59 | Running the unit tests 60 | ---------------------- 61 | 62 | To verify your changes you can use the unit test suite located in the _qunit_ 63 | directory of the repository. In order to run the unit tests go to the 64 | extension's Options page, open the JavaScript Console and type in: 65 | 66 | location.href = "qunit/index.html"; 67 | 68 | The unit tests will run automatically once the page loads. 69 | -------------------------------------------------------------------------------- /qunit/tests/versionComparator.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | 19 | (function() 20 | { 21 | var compare = Services.vc.compare; 22 | 23 | function allPairs(array) 24 | { 25 | var pairs = []; 26 | for (var i = 0; i < array.length - 1; i++) 27 | for (var j = i + 1; j < array.length; j++) 28 | pairs.push([array[i], array[j]]); 29 | return pairs; 30 | } 31 | 32 | function versionsEqual(versions) 33 | { 34 | allPairs(versions).forEach(function(pair) 35 | { 36 | var v1 = pair[0]; 37 | var v2 = pair[1]; 38 | equal(compare(v1, v2), 0, "'" + v1 + "' should be equal to '" + v2 + "'"); 39 | }); 40 | } 41 | 42 | function versionSmaller(v1, v2) 43 | { 44 | equal(compare(v1, v2), -1, 45 | "'" + v1 + "' should be smaller than '" + v2 + "'"); 46 | equal(compare(v2, v1), 1, 47 | "'" + v2 + "' should be larger than '" + v1 + "'"); 48 | } 49 | 50 | module("Test utilities"); 51 | test("allPairs", 1, function() 52 | { 53 | deepEqual(allPairs([1, 2, 3]), [[1, 2], [1, 3], [2, 3]]); 54 | }); 55 | 56 | module("versionComparator"); 57 | 58 | test("Optional zero", 12, function() 59 | { 60 | versionsEqual(["1", "1.0", "1.0.0", "1.0.0.0"]); 61 | versionsEqual(["1.a", "1.0a", "1.a0", "1.0a0"]); 62 | }); 63 | 64 | test("+", 2, function() 65 | { 66 | versionsEqual(["2pre", "1+"]); 67 | versionsEqual(["1.1pre", "1.0+"]); 68 | }); 69 | 70 | test("*", 6, function() 71 | { 72 | versionSmaller("1", "*"); 73 | versionSmaller("1.1", "1.*"); 74 | versionSmaller("1.*", "2"); 75 | }); 76 | 77 | test("Examples", 296, function() 78 | { 79 | var examples = [ 80 | "1.0+a", 81 | "1.0a", 82 | "1.0pre1", 83 | "1.0pre2", 84 | ["1.0", "1.0.0", "1.0.0.0"], 85 | ["1.1pre", "1.1pre0", "1.0+"], 86 | "1.1pre1a", 87 | "1.1pre1", 88 | "1.1pre10a", 89 | ["1.1pre10", "1.1pre010"], 90 | ["1.10", "1.010", "1.00010"], 91 | ]; 92 | 93 | examples.forEach(function(example) 94 | { 95 | if (example instanceof Array) 96 | versionsEqual(example); 97 | }); 98 | 99 | allPairs(examples).forEach(function(pair) 100 | { 101 | var v1 = [].concat(pair[0]); 102 | var v2 = [].concat(pair[1]); 103 | for (var i = 0; i < v1.length; i++) 104 | for (var j = 0; j < v2.length; j++) 105 | versionSmaller(v1[i], v2[j]); 106 | }); 107 | }); 108 | })(); 109 | -------------------------------------------------------------------------------- /qunit/tests/cssEscaping.js: -------------------------------------------------------------------------------- 1 | (function() 2 | { 3 | var filterClasses = require("filterClasses"); 4 | var Filter = filterClasses.Filter; 5 | var ElemHideFilter = filterClasses.ElemHideFilter; 6 | 7 | var filterComposer = require("filterComposer"); 8 | var escapeCSS = filterComposer.escapeCSS; 9 | var quoteCSS = filterComposer.quoteCSS; 10 | 11 | module("CSS escaping"); 12 | 13 | test("CSS escaping", function() 14 | { 15 | function testSelector(opts) 16 | { 17 | var mustMatch = opts.mustMatch !== false; 18 | var doc = document.implementation.createHTMLDocument(); 19 | 20 | var style = doc.createElement("style"); 21 | doc.documentElement.appendChild(style); 22 | style.sheet.insertRule(opts.selector + " {}", 0); 23 | 24 | var element; 25 | try 26 | { 27 | element = doc.createElement(opts.tagName || "div"); 28 | } 29 | catch (e) 30 | { 31 | // Some characters we are going to test can not occur in tag names, 32 | // but we still have to make sure that no exception is thrown when 33 | // calling .querySelector() and .insertRule() 34 | element = null; 35 | mustMatch = false; 36 | } 37 | 38 | if (element) 39 | { 40 | for (var attr in opts.attributes) 41 | element.setAttribute(attr, opts.attributes[attr]); 42 | 43 | doc.documentElement.appendChild(element); 44 | } 45 | 46 | var foundElement = doc.querySelector(opts.selector); 47 | var filter = Filter.fromText("##" + opts.selector); 48 | 49 | if (!(filter instanceof ElemHideFilter)) 50 | { 51 | ok(false, opts.selector + " (not allowed in elemhide filters)"); 52 | } 53 | else 54 | { 55 | if (mustMatch) 56 | equal(foundElement, element, opts.selector); 57 | else 58 | ok(true, opts.selector); 59 | } 60 | } 61 | 62 | function testEscape(s) 63 | { 64 | testSelector({ 65 | selector: escapeCSS(s), 66 | tagName: s 67 | }); 68 | 69 | testSelector({ 70 | selector: "#" + escapeCSS(s), 71 | attributes: {id: s} 72 | }); 73 | 74 | testSelector({ 75 | selector: "." + escapeCSS(s), 76 | attributes: {class: s}, 77 | 78 | // Whitespace characters split the class name, hence the selector 79 | // won't match. But we still have to make sure that no exception 80 | // is thrown when calling .querySelector() and .insertRule() 81 | mustMatch: !/\s/.test(s) 82 | }); 83 | 84 | testSelector({ 85 | selector: "[foo=" + quoteCSS(s) + "]", 86 | attributes: {foo: s} 87 | }); 88 | } 89 | 90 | for (var i = 0; i < 0x80; i++) 91 | { 92 | var chr = String.fromCharCode(i); 93 | 94 | // Make sure that all ASCII characters are correctly escaped. 95 | testEscape(chr); 96 | 97 | // Some characters are only escaped when in the first positon, 98 | // so we still have to make sure that everything is correctly escaped 99 | // in subsequent positions. 100 | testEscape("x" + chr); 101 | 102 | // Leading dashes must be escaped, when followed by certain characters. 103 | testEscape("-" + chr); 104 | } 105 | 106 | // Test some non-ASCII characters. However, those shouldn't require escaping. 107 | testEscape("\uD83D\uDE3B\u2665\u00E4"); 108 | }); 109 | })(); 110 | -------------------------------------------------------------------------------- /safari/ext/popup.js: -------------------------------------------------------------------------------- 1 | (function() 2 | { 3 | // Safari doesn't adjust the size of the popover automatically to the size 4 | // of its content, like when the ad counter is expanded/collapsed. So we add 5 | // event listeners to do so. 6 | var mayResize = true; 7 | var resizingScheduled = false; 8 | 9 | var updateSize = function() 10 | { 11 | if (mayResize && !resizingScheduled) 12 | { 13 | setTimeout(function() 14 | { 15 | safari.self.width = document.body.scrollWidth; 16 | safari.self.height = document.body.offsetHeight; 17 | 18 | resizingScheduled = false; 19 | }, 0); 20 | 21 | resizingScheduled = true; 22 | } 23 | }; 24 | 25 | window.addEventListener("load", function() 26 | { 27 | updateSize(); 28 | 29 | var MutationObserver = window.MutationObserver || window.WebKitMutationObserver; 30 | if (MutationObserver) 31 | { 32 | new MutationObserver(updateSize).observe(document, { 33 | childList: true, attributes: true, 34 | characterData: true, subtree: true 35 | }); 36 | } 37 | else 38 | document.addEventListener("DOMSubtreeModified", updateSize); 39 | }); 40 | 41 | // when using "white-space: nowrap", the overflown text overlaps the padding 42 | // and neither clientWidth nor scrollWidth, we rely on when adjusting the size 43 | // of the popover, inlcudes the overlapped area. So we have to use additional 44 | // placeholders, in order to preserve padding. Since the dimensions of the 45 | // popover are automatically correctly adjusted on Chrome, those placeholders 46 | // would add extra empty space and therefore must only be rendered on Safari. 47 | var style = document.createElement("style"); 48 | style.textContent = ".safari-inline-block { display: inline-block; }"; 49 | document.head.appendChild(style); 50 | 51 | 52 | // Safari will load the popover once, and then show it everytime the icon is 53 | // clicked. While Chrome loads it everytime you click the icon. So in order to 54 | // make the popover show the right state and details, we have to emulate the 55 | // same behavior as on Chrome, by reloading the popover every time it is shown. 56 | safari.self.addEventListener("popover", function() 57 | { 58 | mayResize = false; 59 | document.documentElement.style.display = "none"; 60 | window.location.reload(); 61 | }); 62 | 63 | 64 | // Safari doesn't hide popovers automatically, when we change the active tab 65 | // programmatically, like when the options link is clicked. So we add an event 66 | // listener to do so. 67 | safari.application.addEventListener("activate", function() 68 | { 69 | safari.self.hide(); 70 | }, true); 71 | 72 | 73 | // import ext into the javascript context of the popover. This code might fail, 74 | // when the background page isn't ready yet. So it is important to put it below 75 | // the reloading code above. 76 | var backgroundPage = safari.extension.globalPage.contentWindow; 77 | window.ext = Object.create(backgroundPage.ext); 78 | 79 | ext.closePopup = function() 80 | { 81 | safari.self.hide(); 82 | }; 83 | 84 | ext.backgroundPage = { 85 | getWindow: function() 86 | { 87 | return backgroundPage; 88 | }, 89 | 90 | // On Safari, you can't send messages from the popup to the 91 | // background page. So we call the message listeners directly. 92 | sendMessage: function(message, responseCallback) 93 | { 94 | if (!responseCallback) 95 | responseCallback = function () {}; 96 | 97 | backgroundPage.ext.onMessage._dispatch(message, {}, responseCallback); 98 | } 99 | }; 100 | 101 | })(); 102 | -------------------------------------------------------------------------------- /webrequest.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | var FilterNotifier = require("filterNotifier").FilterNotifier; 19 | var RegExpFilter = require("filterClasses").RegExpFilter; 20 | var platform = require("info").platform; 21 | var showNextNotificationForUrl = require("notificationHelper").showNextNotificationForUrl; 22 | 23 | ext.webRequest.indistinguishableTypes.forEach(function(types) 24 | { 25 | for (var i = 1; i < types.length; i++) 26 | RegExpFilter.typeMap[types[i]] = RegExpFilter.typeMap[types[0]]; 27 | }); 28 | 29 | FilterNotifier.addListener(function(action, arg) 30 | { 31 | switch (action) 32 | { 33 | case "filter.added": 34 | case "filter.removed": 35 | case "filter.disabled": 36 | // Only request blocking/whitelisting filters have 37 | // an effect on the webRequest handler behavior. 38 | if (!(arg instanceof RegExpFilter)) 39 | break; 40 | case "subscription.added": 41 | case "subscription.removed": 42 | case "subscription.disabled": 43 | case "subscription.updated": 44 | case "load": 45 | ext.webRequest.handlerBehaviorChanged(); 46 | break; 47 | } 48 | }); 49 | 50 | function onBeforeRequestAsync(url, type, page, filter) 51 | { 52 | // We can't listen to onHeadersReceived in Safari so we need to 53 | // check for notifications here 54 | if (platform != "chromium" && type == "SUBDOCUMENT") 55 | showNextNotificationForUrl(url); 56 | 57 | if (filter) 58 | FilterNotifier.triggerListeners("filter.hitCount", filter, 0, 0, page); 59 | } 60 | 61 | function onBeforeRequest(url, type, page, frame) 62 | { 63 | if (isFrameWhitelisted(page, frame)) 64 | return true; 65 | 66 | var docDomain = extractHostFromFrame(frame); 67 | var key = getKey(page, frame); 68 | var filter = defaultMatcher.matchesAny( 69 | stringifyURL(url), 70 | RegExpFilter.typeMap[type], docDomain, 71 | isThirdParty(url, docDomain), 72 | key 73 | ); 74 | 75 | setTimeout(onBeforeRequestAsync, 0, url, type, page, filter); 76 | 77 | return !(filter instanceof BlockingFilter); 78 | } 79 | 80 | ext.webRequest.onBeforeRequest.addListener(onBeforeRequest); 81 | 82 | if (platform == "chromium") 83 | { 84 | function onHeadersReceived(details) 85 | { 86 | var page = new ext.Page({id: details.tabId}); 87 | var frame = ext.getFrame(details.tabId, details.frameId); 88 | 89 | if (!frame || frame.url.href != details.url) 90 | return; 91 | 92 | for (var i = 0; i < details.responseHeaders.length; i++) 93 | { 94 | var header = details.responseHeaders[i]; 95 | if (header.name.toLowerCase() == "x-adblock-key" && header.value) 96 | processKey(header.value, page, frame); 97 | } 98 | 99 | showNextNotificationForUrl(new URL(details.url)); 100 | } 101 | 102 | chrome.webRequest.onHeadersReceived.addListener( 103 | onHeadersReceived, 104 | { 105 | urls: ["http://*/*", "https://*/*"], 106 | types: ["main_frame", "sub_frame"] 107 | }, 108 | ["responseHeaders"] 109 | ); 110 | } 111 | -------------------------------------------------------------------------------- /lib/icon.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | /** @module icon */ 19 | 20 | const numberOfFrames = 10; 21 | 22 | let whitelistedState = new ext.PageMap(); 23 | let notificationType = null; 24 | let animationInterval = null; 25 | let animationStep = 0; 26 | 27 | function getIconPath(whitelisted) 28 | { 29 | let filename = "icons/abp-$size"; 30 | 31 | // If the current page is whitelisted, pick an icon that indicates that 32 | // Adblock Plus is disabled, however not when the notification icon has 33 | // full opacity, or on Safari where icons are genrally grayscale-only. 34 | if (whitelisted && animationStep < numberOfFrames && require("info").platform != "safari") 35 | filename += "-whitelisted"; 36 | 37 | // If the icon is currently animating to indicate a pending notification, 38 | // pick the icon for the corresponing notification type and animation frame. 39 | if (notificationType && animationStep > 0) 40 | { 41 | filename += "-notification-" + notificationType; 42 | 43 | if (animationStep < numberOfFrames) 44 | filename += "-" + animationStep; 45 | } 46 | 47 | return filename + ".png"; 48 | } 49 | 50 | function setIcon(page) 51 | { 52 | page.browserAction.setIcon(getIconPath(whitelistedState.get(page))); 53 | } 54 | 55 | function runAnimation() 56 | { 57 | return setInterval(function() 58 | { 59 | ext.pages.query({active: true}, function(pages) 60 | { 61 | let fadeInInterval = setInterval(function() 62 | { 63 | animationStep++; 64 | pages.forEach(setIcon); 65 | 66 | if (animationStep < numberOfFrames) 67 | return; 68 | 69 | setTimeout(function() 70 | { 71 | let fadeOutInterval = setInterval(function() 72 | { 73 | animationStep--; 74 | pages.forEach(setIcon); 75 | 76 | if (animationStep > 0) 77 | return; 78 | 79 | clearInterval(fadeOutInterval); 80 | }, 100); 81 | },1000); 82 | 83 | clearInterval(fadeInInterval); 84 | }, 100); 85 | }); 86 | }, 15000); 87 | } 88 | 89 | /** 90 | * Set the browser action icon for the given page, indicating whether 91 | * adblocking is active there, and considering the icon animation. 92 | * 93 | * @param {Page} page The page to set the browser action icon for 94 | * @param {Boolean} whitelisted Whether the page has been whitelisted 95 | */ 96 | exports.updateIcon = function(page, whitelisted) 97 | { 98 | page.browserAction.setIcon(getIconPath(whitelisted)); 99 | whitelistedState.set(page, whitelisted); 100 | }; 101 | 102 | /** 103 | * Starts to animate the browser action icon to indicate a pending notifcation. 104 | * 105 | * @param {string} type The notification type (i.e: "information" or "critical") 106 | */ 107 | exports.startIconAnimation = function(type) 108 | { 109 | notificationType = type; 110 | 111 | if (animationInterval == null) 112 | animationInterval = runAnimation(); 113 | }; 114 | 115 | /** 116 | * Stops to animate the browser action icon. 117 | */ 118 | exports.stopIconAnimation = function() 119 | { 120 | if (animationInterval != null) 121 | { 122 | clearInterval(animationInterval); 123 | animationInterval = null; 124 | } 125 | 126 | notificationType = null; 127 | }; 128 | -------------------------------------------------------------------------------- /lib/io.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | const keyPrefix = "file:"; 19 | 20 | function fileToKey(file) 21 | { 22 | return keyPrefix + (file instanceof FakeFile ? file.path : file.spec); 23 | } 24 | 25 | function loadFile(file, successCallback, errorCallback) 26 | { 27 | let key = fileToKey(file); 28 | 29 | ext.storage.get([key], function(items) 30 | { 31 | let entry = items[key]; 32 | 33 | if (entry) 34 | successCallback(entry); 35 | else 36 | errorCallback(new Error("File doesn't exist")); 37 | }); 38 | } 39 | 40 | function saveFile(file, data, callback) 41 | { 42 | ext.storage.set( 43 | fileToKey(file), 44 | { 45 | content: data, 46 | lastModified: Date.now() 47 | }, 48 | callback 49 | ); 50 | } 51 | 52 | exports.IO = 53 | { 54 | resolveFilePath: function(path) 55 | { 56 | return new FakeFile(path); 57 | }, 58 | 59 | readFromFile: function(file, listener, callback) 60 | { 61 | runWhenMigrated(function() 62 | { 63 | function onLoaded(entry) 64 | { 65 | for (let line of entry.content) 66 | listener.process(line); 67 | 68 | listener.process(null); 69 | callback(null); 70 | } 71 | 72 | loadFile(file, onLoaded, callback); 73 | }); 74 | }, 75 | 76 | writeToFile: function(file, data, callback) 77 | { 78 | runWhenMigrated(function() 79 | { 80 | saveFile(file, data, callback); 81 | }); 82 | }, 83 | 84 | copyFile: function(fromFile, toFile, callback) 85 | { 86 | runWhenMigrated(function() 87 | { 88 | function onLoaded(entry) 89 | { 90 | saveFile(toFile, entry.content, callback); 91 | } 92 | 93 | loadFile(fromFile, onLoaded, callback); 94 | }); 95 | }, 96 | 97 | renameFile: function(fromFile, newName, callback) 98 | { 99 | runWhenMigrated(function() 100 | { 101 | function onLoaded() 102 | { 103 | ext.storage.remove(fileToKey(fromFile), function() 104 | { 105 | ext.storage.set(keyPrefix + newName, entry, callback); 106 | }); 107 | } 108 | 109 | loadFile(fromFile, onLoaded, callback); 110 | }); 111 | }, 112 | 113 | removeFile: function(file, callback) 114 | { 115 | runWhenMigrated(function() 116 | { 117 | ext.storage.remove(fileToKey(file), callback); 118 | }); 119 | }, 120 | 121 | statFile: function(file, callback) 122 | { 123 | runWhenMigrated(function() 124 | { 125 | function onLoaded(entry) 126 | { 127 | callback(null, { 128 | exists: true, 129 | lastModified: entry.lastModified 130 | }); 131 | } 132 | 133 | loadFile(file, onLoaded, callback); 134 | }); 135 | } 136 | }; 137 | 138 | // Migrate files for users updating from old versions. 139 | // Defer IO operations until migration is complete. 140 | // TODO: Remove the migration code after a few releases. 141 | let migrated = false; 142 | let deferred = []; 143 | 144 | function runWhenMigrated(callback) 145 | { 146 | if (migrated) 147 | callback(); 148 | else 149 | deferred.push(callback); 150 | } 151 | 152 | ext.storage.migrateFiles(function() 153 | { 154 | migrated = true; 155 | 156 | while (deferred.length > 0) 157 | deferred.shift()(); 158 | }); 159 | -------------------------------------------------------------------------------- /_locales/sw/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "add": { 3 | "message": "kuongeza filter watu" 4 | }, 5 | "add_domain_button": { 6 | "message": "kuongeza miliki" 7 | }, 8 | "add_filter_button": { 9 | "message": "kuongeza filter" 10 | }, 11 | "add_filters_msg": { 12 | "message": "kuongeza filter(s) ?" 13 | }, 14 | "add_your_own_filters": { 15 | "message": "kuongeza filters yako mwenyewe" 16 | }, 17 | "apply_changes": { 18 | "message": "kuomba mabadiliko" 19 | }, 20 | "block_element": { 21 | "message": "kuzuia kipengele" 22 | }, 23 | "cancel": { 24 | "message": "kufuta" 25 | }, 26 | "clickhide_instructions": { 27 | "message": "baada ya kufunga dukizi hii , click (au haki-click ) kipengele kwenye ukurasa huu." 28 | }, 29 | "description_chrome": { 30 | "message": "Kutumiwa na zaidi ya milioni 50 watu , bure tangazo blocker kwa Chrome kwamba vitalu ALL annoying matangazo , zisizo na kufuatilia." 31 | }, 32 | "description_opera": { 33 | "message": "Kutumiwa na zaidi ya milioni 50 watu , bure tangazo blocker kwa Opera kwamba vitalu ALL annoying matangazo , zisizo na kufuatilia." 34 | }, 35 | "description_safari": { 36 | "message": "Kutumiwa na zaidi ya milioni 50 watu , bure tangazo blocker kwa Safari kwamba vitalu ALL annoying matangazo , zisizo na kufuatilia." 37 | }, 38 | "disabled_for_site": { 39 | "message": "walemavu kwenye tovuti hii" 40 | }, 41 | "disabled_for_these_domains": { 42 | "message": "Adblock Plus pamoja ni walemavu kwa ajili ya nyanja hapa chini. Unaweza kuongeza miliki aidha kupitia Adblock Plus pamoja na icon katika bar anwani au kwa kuandika miliki (sio URL) katika sanduku na kubonyeza \" kuongeza miliki \" kifungo ." 43 | }, 44 | "easy_create_filter": { 45 | "message": "kuzuia kipengele" 46 | }, 47 | "edit_filters_raw": { 48 | "message": "hariri filter kama maandishi mbichi" 49 | }, 50 | "enable_only_the": { 51 | "message": "Kuwawezesha tu orodha filter unahitaji. Wengi mno wanaweza kufanya browser yako imekwama." 52 | }, 53 | "enabled_for_site": { 54 | "message": "Kuwezeshwa kwenye tovuti hii" 55 | }, 56 | "filter_lists": { 57 | "message": "filter listd" 58 | }, 59 | "filter_must_follow_syntax": { 60 | "message": "Filter yako lazima kufuata Adblock Plus chujio syntax ." 61 | }, 62 | "found_a_bug": { 63 | "message": "Kupatikana mdudu ? Wanataka kutafsiri Adblock Plus katika lugha yako ? Tafadhali faili ombi hapa ." 64 | }, 65 | "general": { 66 | "message": "ujumla" 67 | }, 68 | "invalid_css_selector": { 69 | "message": "$selector$ si halali CSS selector", 70 | "placeholders": { 71 | "selector": { 72 | "content": "$1" 73 | } 74 | } 75 | }, 76 | "last_updated_at": { 77 | "message": "mwisho updated saa $time$ juu ya $date$", 78 | "placeholders": { 79 | "date": { 80 | "content": "$2" 81 | }, 82 | "time": { 83 | "content": "$1" 84 | } 85 | } 86 | }, 87 | "last_updated_at_today": { 88 | "message": "mwisho updated saa $time$ leo", 89 | "placeholders": { 90 | "time": { 91 | "content": "$1" 92 | } 93 | } 94 | }, 95 | "line": { 96 | "message": "mstari $number$", 97 | "placeholders": { 98 | "number": { 99 | "content": "$1" 100 | } 101 | } 102 | }, 103 | "name_devbuild": { 104 | "message": "Adblock Plus pamoja na maendeleo ya kujenga" 105 | }, 106 | "notification_with_buttons": { 107 | "message": "Bonyeza 'OK' kufungua viungo vyote katika taarifa hii." 108 | }, 109 | "notification_without_buttons": { 110 | "message": "Bonyeza kwenye taarifa ya kufungua viungo vyote ndani yake." 111 | }, 112 | "options": { 113 | "message": "Adblock Plus options" 114 | }, 115 | "options_short": { 116 | "message": "chaguzi" 117 | }, 118 | "out_of_date_lists": { 119 | "message": "Nje ya tarehe orodha ni updated mara kwa mara." 120 | }, 121 | "remove_button": { 122 | "message": "ut kuondoa" 123 | } 124 | } -------------------------------------------------------------------------------- /lib/utils.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | var Utils = exports.Utils = { 19 | systemPrincipal: null, 20 | getString: function(id) 21 | { 22 | if (typeof ext !== "undefined" && "i18n" in ext) 23 | return ext.i18n.getMessage("global_" + id); 24 | else 25 | return id; 26 | }, 27 | runAsync: function(callback) 28 | { 29 | if (document.readyState == "loading") 30 | { 31 | // Make sure to not run asynchronous actions before all 32 | // scripts loaded. This caused issues on Opera in the past. 33 | let onDOMContentLoaded = function() 34 | { 35 | document.removeEventListener("DOMContentLoaded", onDOMContentLoaded); 36 | callback(); 37 | }; 38 | document.addEventListener("DOMContentLoaded", onDOMContentLoaded); 39 | } 40 | else 41 | { 42 | setTimeout(callback, 0); 43 | } 44 | }, 45 | get appLocale() 46 | { 47 | var locale = ext.i18n.getMessage("@@ui_locale").replace(/_/g, "-"); 48 | Object.defineProperty(this, "appLocale", {value: locale, enumerable: true}); 49 | return this.appLocale; 50 | }, 51 | generateChecksum: function(lines) 52 | { 53 | // We cannot calculate MD5 checksums yet :-( 54 | return null; 55 | }, 56 | makeURI: function(url) 57 | { 58 | return Services.io.newURI(url); 59 | }, 60 | 61 | checkLocalePrefixMatch: function(prefixes) 62 | { 63 | if (!prefixes) 64 | return null; 65 | 66 | var list = prefixes.split(","); 67 | for (var i = 0; i < list.length; i++) 68 | if (new RegExp("^" + list[i] + "\\b").test(this.appLocale)) 69 | return list[i]; 70 | 71 | return null; 72 | }, 73 | 74 | chooseFilterSubscription: function(subscriptions) 75 | { 76 | var selectedItem = null; 77 | var selectedPrefix = null; 78 | var matchCount = 0; 79 | for (var i = 0; i < subscriptions.length; i++) 80 | { 81 | var subscription = subscriptions[i]; 82 | if (!selectedItem) 83 | selectedItem = subscription; 84 | 85 | var prefix = require("utils").Utils.checkLocalePrefixMatch(subscription.getAttribute("prefixes")); 86 | if (prefix) 87 | { 88 | if (!selectedPrefix || selectedPrefix.length < prefix.length) 89 | { 90 | selectedItem = subscription; 91 | selectedPrefix = prefix; 92 | matchCount = 1; 93 | } 94 | else if (selectedPrefix && selectedPrefix.length == prefix.length) 95 | { 96 | matchCount++; 97 | 98 | // If multiple items have a matching prefix of the same length: 99 | // Select one of the items randomly, probability should be the same 100 | // for all items. So we replace the previous match here with 101 | // probability 1/N (N being the number of matches). 102 | if (Math.random() * matchCount < 1) 103 | { 104 | selectedItem = subscription; 105 | selectedPrefix = prefix; 106 | } 107 | } 108 | } 109 | } 110 | return selectedItem; 111 | }, 112 | 113 | getDocLink: function(linkID) 114 | { 115 | var Prefs = require("prefs").Prefs; 116 | var docLink = Prefs.documentation_link; 117 | return docLink.replace(/%LINK%/g, linkID).replace(/%LANG%/g, Utils.appLocale); 118 | }, 119 | 120 | yield: function() 121 | { 122 | } 123 | }; 124 | -------------------------------------------------------------------------------- /popup.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
    34 | 35 |
    36 | 37 |
    38 | 53 | 54 |
    55 | 56 | 102 |
    103 | 104 |
    105 |
    106 | 107 |
    108 | 109 | 110 | 111 | -------------------------------------------------------------------------------- /notification.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | var backgroundPage = ext.backgroundPage.getWindow(); 19 | var require = backgroundPage.require; 20 | 21 | var Utils = require("utils").Utils; 22 | var Notification = require("notification").Notification; 23 | var getActiveNotification = require("notificationHelper").getActiveNotification; 24 | 25 | function getDocLinks(notification) 26 | { 27 | if (!notification.links) 28 | return []; 29 | 30 | var docLinks = []; 31 | notification.links.forEach(function(link) 32 | { 33 | docLinks.push(Utils.getDocLink(link)); 34 | }); 35 | return docLinks; 36 | } 37 | 38 | function insertMessage(element, text, links) 39 | { 40 | var match = /^(.*?)<(a|strong)>(.*?)<\/\2>(.*)$/.exec(text); 41 | if (!match) 42 | { 43 | element.appendChild(document.createTextNode(text)); 44 | return; 45 | } 46 | 47 | var before = match[1]; 48 | var tagName = match[2]; 49 | var value = match[3]; 50 | var after = match[4]; 51 | 52 | insertMessage(element, before, links); 53 | 54 | var newElement = document.createElement(tagName); 55 | if (tagName === "a" && links && links.length) 56 | newElement.href = links.shift(); 57 | insertMessage(newElement, value, links); 58 | element.appendChild(newElement); 59 | 60 | insertMessage(element, after, links); 61 | } 62 | 63 | window.addEventListener("load", function() 64 | { 65 | var notification = getActiveNotification(); 66 | if (!notification) 67 | return; 68 | 69 | var texts = Notification.getLocalizedTexts(notification); 70 | var titleElement = document.getElementById("notification-title"); 71 | titleElement.textContent = texts.title; 72 | 73 | var docLinks = getDocLinks(notification); 74 | var messageElement = document.getElementById("notification-message"); 75 | insertMessage(messageElement, texts.message, docLinks); 76 | 77 | messageElement.addEventListener("click", function(event) 78 | { 79 | var link = event.target; 80 | while (link && link !== messageElement && link.localName !== "a") 81 | link = link.parentNode; 82 | if (!link) 83 | return; 84 | event.preventDefault(); 85 | event.stopPropagation(); 86 | ext.pages.open(link.href); 87 | }); 88 | 89 | if (notification.type == "question") 90 | { 91 | document.getElementById("notification-question").addEventListener("click", function(event) 92 | { 93 | event.preventDefault(); 94 | event.stopPropagation(); 95 | 96 | var approved = false; 97 | switch (event.target.id) 98 | { 99 | case "notification-yes": 100 | approved = true; 101 | case "notification-no": 102 | Notification.triggerQuestionListeners(notification.id, approved); 103 | Notification.markAsShown(notification.id); 104 | notification.onClicked(); 105 | break; 106 | } 107 | window.close(); 108 | }, true); 109 | } 110 | 111 | var notificationElement = document.getElementById("notification"); 112 | notificationElement.className = notification.type; 113 | notificationElement.hidden = false; 114 | notificationElement.addEventListener("click", function(event) 115 | { 116 | switch (event.target.id) 117 | { 118 | case "notification-close": 119 | notificationElement.classList.add("closing"); 120 | break; 121 | case "notification-optout": 122 | Notification.toggleIgnoreCategory("*", true); 123 | case "notification-hide": 124 | notificationElement.hidden = true; 125 | notification.onClicked(); 126 | break; 127 | } 128 | }, true); 129 | }, false); 130 | -------------------------------------------------------------------------------- /lib/whitelisting.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | /** @module whitelisting */ 19 | 20 | let {defaultMatcher} = require("matcher"); 21 | let {RegExpFilter} = require("filterClasses"); 22 | let {stringifyURL, getDecodedHostname, extractHostFromFrame, isThirdParty} = require("url"); 23 | 24 | let pagesWithKey = new ext.PageMap(); 25 | 26 | /** 27 | * Checks whether a page is whitelisted. 28 | * 29 | * @param {Page} page 30 | * @return {WhitelistFilter} The active filter whitelisting this page or null 31 | */ 32 | exports.isPageWhitelisted = function(page) 33 | { 34 | let url = page.url; 35 | 36 | return defaultMatcher.whitelist.matchesAny( 37 | stringifyURL(url), RegExpFilter.typeMap.DOCUMENT, 38 | getDecodedHostname(url), false, null 39 | ); 40 | }; 41 | 42 | /** 43 | * Checks whether a frame is whitelisted. 44 | * 45 | * @param {Page} page 46 | * @param {Frame} frame 47 | * @param {number} [typeMask=RegExpFilter.typeMap.DOCUMENT] Bit mask of request / content types to match 48 | * @return {Boolean} 49 | */ 50 | exports.isFrameWhitelisted = function(page, frame, typeMask) 51 | { 52 | while (frame) 53 | { 54 | let parent = frame.parent; 55 | let url = frame.url; 56 | let documentHost = extractHostFromFrame(parent) || getDecodedHostname(url); 57 | 58 | let filter = defaultMatcher.whitelist.matchesAny( 59 | stringifyURL(url), typeMask || RegExpFilter.typeMap.DOCUMENT, 60 | documentHost, isThirdParty(url, documentHost), 61 | getKey(page, frame) 62 | ); 63 | 64 | if (filter) 65 | return true; 66 | 67 | frame = parent; 68 | } 69 | 70 | return false; 71 | }; 72 | 73 | /** 74 | * Gets the public key, previously recorded for the given page 75 | * and frame, to be considered for the $sitekey filter option. 76 | * 77 | * @param {Page} page 78 | * @param {Frame} frame 79 | * @return {string} 80 | */ 81 | exports.getKey = function(page, frame) 82 | { 83 | let urlsWithKey = pagesWithKey.get(page); 84 | if (!urlsWithKey) 85 | return null; 86 | 87 | for (; frame != null; frame = frame.parent) 88 | { 89 | let key = urlsWithKey[stringifyURL(frame.url)]; 90 | if (key) 91 | return key; 92 | } 93 | 94 | return null; 95 | }; 96 | 97 | function verifyKey(key, signature, url) 98 | { 99 | let params = [ 100 | url.pathname + url.search, // REQUEST_URI 101 | url.host, // HTTP_HOST 102 | window.navigator.userAgent // HTTP_USER_AGENT 103 | ]; 104 | 105 | return verifySignature(key, signature, params.join("\0")); 106 | } 107 | 108 | function recordKey(page, url, key) 109 | { 110 | let urlsWithKey = pagesWithKey.get(page); 111 | 112 | if (!urlsWithKey) 113 | { 114 | urlsWithKey = Object.create(null); 115 | pagesWithKey.set(page, urlsWithKey); 116 | } 117 | 118 | urlsWithKey[stringifyURL(url)] = key; 119 | } 120 | 121 | /** 122 | * Validates signatures given by the "X-Adblock-Key" response 123 | * header or the "data-adblockkey" attribute of the document 124 | * element. If the signature is valid, the public key will be 125 | * recorded and considered for the $sitekey filter option. 126 | * 127 | * @param {string} token The base64-encoded public key and 128 | * signature separated by an underscrore. 129 | * @param {Page} page 130 | * @param {Frame} frame 131 | */ 132 | exports.processKey = function(token, page, frame) 133 | { 134 | if (token.indexOf("_") < 0) 135 | return; 136 | 137 | let [key, signature] = token.split("_", 2); 138 | key = key.replace(/=/g, ""); 139 | 140 | if (verifyKey(key, signature, frame.url)) 141 | recordKey(page, frame.url, key); 142 | }; 143 | -------------------------------------------------------------------------------- /block.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | function init() 19 | { 20 | // Attach event listeners 21 | window.addEventListener("keydown", onKeyDown, false); 22 | window.addEventListener("dragstart", onDragStart, false); 23 | window.addEventListener("dragend", onDragEnd, false); 24 | 25 | $("#addButton").click(addFilters); 26 | $("#cancelButton").click(closeDialog.bind(null, false)); 27 | 28 | // Apply jQuery UI styles 29 | $("button").button(); 30 | 31 | ext.backgroundPage.sendMessage( 32 | { 33 | type: "forward", 34 | expectsResponse: true, 35 | payload: 36 | { 37 | type: "clickhide-init", 38 | width: Math.max(document.body.offsetWidth || document.body.scrollWidth), 39 | height: Math.max(document.body.offsetHeight || document.body.scrollHeight) 40 | } 41 | }, 42 | function(response) 43 | { 44 | document.getElementById("filters").value = response.filters.join("\n"); 45 | }); 46 | 47 | document.getElementById("filters").focus(); 48 | } 49 | window.addEventListener("load", init, false); 50 | 51 | function onKeyDown(event) 52 | { 53 | if (event.keyCode == 27) 54 | { 55 | event.preventDefault(); 56 | closeDialog(); 57 | } 58 | else if (event.keyCode == 13 && !event.shiftKey && !event.ctrlKey) 59 | { 60 | event.preventDefault(); 61 | addFilters(); 62 | } 63 | } 64 | 65 | function addFilters() 66 | { 67 | ext.backgroundPage.sendMessage( 68 | { 69 | type: "add-filters", 70 | text: document.getElementById("filters").value 71 | }, 72 | 73 | function(response) 74 | { 75 | if (response.status == "ok") 76 | closeDialog(true); 77 | else 78 | alert(response.error); 79 | } 80 | ); 81 | } 82 | 83 | function closeDialog(success) 84 | { 85 | ext.backgroundPage.sendMessage( 86 | { 87 | type: "forward", 88 | payload: 89 | { 90 | type: "clickhide-close", 91 | remove: (typeof success == "boolean" ? success : false) 92 | } 93 | } 94 | ); 95 | } 96 | 97 | var dragStartX; 98 | var dragStartY; 99 | var dragEndX = null; 100 | var dragEndY = null; 101 | 102 | function onDragStart(event) 103 | { 104 | var element = document.elementFromPoint(event.clientX, event.clientY); 105 | if (element && element.localName == "textarea") 106 | { 107 | // Don't drag the dialog when the user has clicked into the textarea. 108 | // Most likely the user just wants to focus it or select text there. 109 | event.preventDefault(); 110 | } 111 | else 112 | { 113 | dragStartX = event.screenX; 114 | dragStartY = event.screenY; 115 | } 116 | } 117 | 118 | function onDragEnd(event) 119 | { 120 | if (dragEndX == null) 121 | dragEndX = event.screenX; 122 | if (dragEndY == null) 123 | dragEndY = event.screenY; 124 | 125 | ext.backgroundPage.sendMessage({ 126 | type: "forward", 127 | payload: 128 | { 129 | type: "clickhide-move", 130 | x: dragEndX - dragStartX, 131 | y: dragEndY - dragStartY 132 | } 133 | }); 134 | 135 | dragStartX = null; 136 | dragStartY = null; 137 | dragEndX = null; 138 | dragEndY = null; 139 | } 140 | 141 | // The coordinates in the dragend event are unreliable on Safari. So we 142 | // need to get the destination coordinates from the drag event instead. 143 | // However on Chrome, the coordinates in the drag event are unreliable. 144 | // So we need to get the coordinates from dragend event there. 145 | if (navigator.userAgent.indexOf(" Version/") != -1) 146 | { 147 | window.addEventListener("drag", function(event) 148 | { 149 | dragEndX = event.screenX; 150 | dragEndY = event.screenY; 151 | }, false); 152 | } 153 | -------------------------------------------------------------------------------- /lib/sha1.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 3 | * Secure Hash Algorithm (SHA1) 4 | * http://www.webtoolkit.info/ 5 | * 6 | **/ 7 | 8 | function SHA1(msg) { 9 | 10 | function rotate_left(n,s) { 11 | var t4 = ( n<>>(32-s)); 12 | return t4; 13 | }; 14 | 15 | function lsb_hex(val) { 16 | var str=""; 17 | var i; 18 | var vh; 19 | var vl; 20 | 21 | for( i=0; i<=6; i+=2 ) { 22 | vh = (val>>>(i*4+4))&0x0f; 23 | vl = (val>>>(i*4))&0x0f; 24 | str += vh.toString(16) + vl.toString(16); 25 | } 26 | return str; 27 | }; 28 | 29 | function cvt_hex(val) { 30 | var str=""; 31 | var i; 32 | var v; 33 | 34 | for( i=7; i>=0; i-- ) { 35 | v = (val>>>(i*4))&0x0f; 36 | str += v.toString(16); 37 | } 38 | return str; 39 | }; 40 | 41 | 42 | function Utf8Encode(string) { 43 | string = string.replace(/\r\n/g,"\n"); 44 | var utftext = ""; 45 | 46 | for (var n = 0; n < string.length; n++) { 47 | 48 | var c = string.charCodeAt(n); 49 | 50 | if (c < 128) { 51 | utftext += String.fromCharCode(c); 52 | } 53 | else if((c > 127) && (c < 2048)) { 54 | utftext += String.fromCharCode((c >> 6) | 192); 55 | utftext += String.fromCharCode((c & 63) | 128); 56 | } 57 | else { 58 | utftext += String.fromCharCode((c >> 12) | 224); 59 | utftext += String.fromCharCode(((c >> 6) & 63) | 128); 60 | utftext += String.fromCharCode((c & 63) | 128); 61 | } 62 | 63 | } 64 | 65 | return utftext; 66 | }; 67 | 68 | var blockstart; 69 | var i, j; 70 | var W = new Array(80); 71 | var H0 = 0x67452301; 72 | var H1 = 0xEFCDAB89; 73 | var H2 = 0x98BADCFE; 74 | var H3 = 0x10325476; 75 | var H4 = 0xC3D2E1F0; 76 | var A, B, C, D, E; 77 | var temp; 78 | 79 | msg = Utf8Encode(msg); 80 | 81 | var msg_len = msg.length; 82 | 83 | var word_array = new Array(); 84 | for( i=0; i>>29 ); 112 | word_array.push( (msg_len<<3)&0x0ffffffff ); 113 | 114 | 115 | for ( blockstart=0; blockstart, 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | (function() 19 | { 20 | var backgroundPage = ext.backgroundPage.getWindow(); 21 | var require = backgroundPage.require; 22 | var getBlockedPerPage = require("stats").getBlockedPerPage; 23 | var FilterNotifier = require("filterNotifier").FilterNotifier; 24 | var Prefs = require("prefs").Prefs; 25 | 26 | var currentPage; 27 | var shareURL = "https://adblockplus.org/"; 28 | 29 | var messageMark = {}; 30 | var shareLinks = { 31 | facebook: ["https://www.facebook.com/dialog/feed", { 32 | app_id: "475542399197328", 33 | link: shareURL, 34 | redirect_uri: "https://www.facebook.com/", 35 | ref: "adcounter", 36 | name: messageMark, 37 | actions: JSON.stringify([ 38 | { 39 | name: i18n.getMessage("stats_share_download"), 40 | link: shareURL 41 | } 42 | ]) 43 | }], 44 | gplus: ["https://plus.google.com/share", { 45 | url: shareURL 46 | }], 47 | twitter: ["https://twitter.com/intent/tweet", { 48 | text: messageMark, 49 | url: shareURL, 50 | via: "AdblockPlus" 51 | }] 52 | }; 53 | 54 | function createShareLink(network, blockedCount) 55 | { 56 | var url = shareLinks[network][0]; 57 | var params = shareLinks[network][1]; 58 | 59 | var querystring = []; 60 | for (var key in params) 61 | { 62 | var value = params[key]; 63 | if (value == messageMark) 64 | value = i18n.getMessage("stats_share_message", blockedCount); 65 | querystring.push(encodeURIComponent(key) + "=" + encodeURIComponent(value)); 66 | } 67 | return url + "?" + querystring.join("&"); 68 | } 69 | 70 | function onLoad() 71 | { 72 | document.getElementById("share-box").addEventListener("click", share, false); 73 | var showIconNumber = document.getElementById("show-iconnumber"); 74 | showIconNumber.setAttribute("aria-checked", Prefs.show_statsinicon); 75 | showIconNumber.addEventListener("click", toggleIconNumber, false); 76 | document.querySelector("label[for='show-iconnumber']").addEventListener("click", toggleIconNumber, false); 77 | 78 | // Update stats 79 | ext.pages.query({active: true, lastFocusedWindow: true}, function(pages) 80 | { 81 | currentPage = pages[0]; 82 | updateStats(); 83 | 84 | FilterNotifier.addListener(onNotify); 85 | 86 | document.getElementById("stats-container").removeAttribute("hidden"); 87 | }); 88 | } 89 | 90 | function onUnload() 91 | { 92 | FilterNotifier.removeListener(onNotify); 93 | } 94 | 95 | function onNotify(action, item) 96 | { 97 | if (action == "filter.hitCount") 98 | updateStats(); 99 | } 100 | 101 | function updateStats() 102 | { 103 | var statsPage = document.getElementById("stats-page"); 104 | var blockedPage = getBlockedPerPage(currentPage).toLocaleString(); 105 | i18n.setElementText(statsPage, "stats_label_page", [blockedPage]); 106 | 107 | var statsTotal = document.getElementById("stats-total"); 108 | var blockedTotal = Prefs.blocked_total.toLocaleString(); 109 | i18n.setElementText(statsTotal, "stats_label_total", [blockedTotal]); 110 | } 111 | 112 | function share(ev) 113 | { 114 | // Easter Egg 115 | var blocked = Prefs.blocked_total; 116 | if (blocked <= 9000 || blocked >= 10000) 117 | blocked = blocked.toLocaleString(); 118 | else 119 | blocked = i18n.getMessage("stats_over", (9000).toLocaleString()); 120 | 121 | ext.pages.open(createShareLink(ev.target.dataset.social, blocked)); 122 | } 123 | 124 | function toggleIconNumber() 125 | { 126 | Prefs.show_statsinicon = !Prefs.show_statsinicon; 127 | document.getElementById("show-iconnumber").setAttribute("aria-checked", Prefs.show_statsinicon); 128 | } 129 | 130 | document.addEventListener("DOMContentLoaded", onLoad, false); 131 | window.addEventListener("unload", onUnload, false); 132 | })(); 133 | -------------------------------------------------------------------------------- /_locales/ko/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "add": { 3 | "message": "추가" 4 | }, 5 | "add_domain_button": { 6 | "message": "도메인 추가" 7 | }, 8 | "add_filter_button": { 9 | "message": "필터 추가" 10 | }, 11 | "add_filters_msg": { 12 | "message": "새 필터를 추가하시겠습니까?" 13 | }, 14 | "add_your_own_filters": { 15 | "message": "사용자 필터 추가" 16 | }, 17 | "apply_changes": { 18 | "message": "적용" 19 | }, 20 | "block_element": { 21 | "message": "요소 숨김" 22 | }, 23 | "cancel": { 24 | "message": "취소" 25 | }, 26 | "clickhide_instructions": { 27 | "message": "이 팝업을 닫은 후 웹 페이지에서 HTML 요소를 클릭하십시오." 28 | }, 29 | "description_chrome": { 30 | "message": "만 50 명 이상, Chrome 에 대한 무료 광고 차단에 의해 사용됩니다." 31 | }, 32 | "description_opera": { 33 | "message": "만 50 명 이상, Opera 에 대한 무료 광고 차단에 의해 사용됩니다." 34 | }, 35 | "description_safari": { 36 | "message": "만 50 명 이상, Safari 에 대한 무료 광고 차단에 의해 사용됩니다." 37 | }, 38 | "disabled_for_site": { 39 | "message": "이 사이트에서 을 사용 중지 합니다." 40 | }, 41 | "disabled_for_these_domains": { 42 | "message": "다음 도메인에서는 광고를 차단하지 않습니다. 주소 표시줄의 Adblock Plus 아이콘 또는 허용 도메인 탭에서 도메인을 입력한 후 \"도메인 추가\" 버튼을 누르십시오." 43 | }, 44 | "easy_create_filter": { 45 | "message": "요소 숨김" 46 | }, 47 | "edit_filters_raw": { 48 | "message": "필터 편집" 49 | }, 50 | "enable_only_the": { 51 | "message": "필요한 구독 필터만 추가하십시오. 구독 필터가 과도하게 많으면 브라우저가 응답하지 않을 수 있습니다." 52 | }, 53 | "enabled_for_site": { 54 | "message": "이 사이트에서 을 사용합니다" 55 | }, 56 | "filter_lists": { 57 | "message": "구독 필터" 58 | }, 59 | "filter_must_follow_syntax": { 60 | "message": "필터는 Adblock Plus 필터 구문을 따라야합니다." 61 | }, 62 | "found_a_bug": { 63 | "message": "버그를 발견하셨습니까? Adblock Plus 여러분의 언어로 번역하고 싶습니까? 연락하기" 64 | }, 65 | "general": { 66 | "message": "일반" 67 | }, 68 | "invalid_css_selector": { 69 | "message": "$selector$ 유효한 CSS 선택은 아니다", 70 | "placeholders": { 71 | "selector": { 72 | "content": "$1" 73 | } 74 | } 75 | }, 76 | "last_updated_at": { 77 | "message": "$date$ $time$에 마지막으로 업데이트됨", 78 | "placeholders": { 79 | "date": { 80 | "content": "$2" 81 | }, 82 | "time": { 83 | "content": "$1" 84 | } 85 | } 86 | }, 87 | "last_updated_at_today": { 88 | "message": "오늘 $time$에 마지막으로 업데이트됨", 89 | "placeholders": { 90 | "time": { 91 | "content": "$1" 92 | } 93 | } 94 | }, 95 | "line": { 96 | "message": "라인 $number$", 97 | "placeholders": { 98 | "number": { 99 | "content": "$1" 100 | } 101 | } 102 | }, 103 | "name_devbuild": { 104 | "message": "Adblock Plus 개발 빌드" 105 | }, 106 | "notification_with_buttons": { 107 | "message": "이 알림에 포함된 모든 링크를 열려면 '확인'을 클릭하세요." 108 | }, 109 | "notification_without_buttons": { 110 | "message": "알림에 포함된 모든 링크를 열려면 클릭하세요." 111 | }, 112 | "options": { 113 | "message": "Adblock Plus 옵션" 114 | }, 115 | "options_short": { 116 | "message": "옵션" 117 | }, 118 | "out_of_date_lists": { 119 | "message": "기한이 다 된 목록은 주기적으로 업데이트됩니다." 120 | }, 121 | "remove_button": { 122 | "message": "선택 항목 제거" 123 | }, 124 | "show_block_element_menu": { 125 | "message": "마우스 우클릭시 나오는 메뉴에 '요소 숨김' 항목을 표시합니다." 126 | }, 127 | "stats_label_page": { 128 | "message": "이 페이지에 $number$ 개", 129 | "placeholders": { 130 | "number": { 131 | "content": "$1" 132 | } 133 | } 134 | }, 135 | "stats_label_total": { 136 | "message": "전체 $number$ 개", 137 | "placeholders": { 138 | "number": { 139 | "content": "$1" 140 | } 141 | } 142 | }, 143 | "stats_over": { 144 | "message": "$number$ 이상", 145 | "placeholders": { 146 | "number": { 147 | "content": "$1" 148 | } 149 | } 150 | }, 151 | "stats_share_download": { 152 | "message": "다운로드 Adblock Plus" 153 | }, 154 | "stats_share_message": { 155 | "message": "Adblock Plus 덕분에 $number$ 개의 광고와 트래커를 차단했어요.", 156 | "placeholders": { 157 | "number": { 158 | "content": "$1" 159 | } 160 | } 161 | }, 162 | "stats_share_title": { 163 | "message": "이 숫자를 공유" 164 | }, 165 | "stats_show_iconnumber": { 166 | "message": "아이콘에 차단된 광고 개수 표시" 167 | }, 168 | "stats_title": { 169 | "message": "광고가 차단됨" 170 | }, 171 | "subscriptionSelection_subscriptionSelector_label": { 172 | "message": "목록에서 구독할 필터를 선택하십시오." 173 | }, 174 | "unexpected_filter_list_header": { 175 | "message": "필터 목록 헤더는 허용되지 않습니다 여기" 176 | }, 177 | "update_now": { 178 | "message": "지금 업데이트" 179 | }, 180 | "whitelisted_domains": { 181 | "message": "허용된 도메인" 182 | } 183 | } -------------------------------------------------------------------------------- /_locales/ta/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "add": { 3 | "message": "சேர்" 4 | }, 5 | "add_domain_button": { 6 | "message": "களத்தை சேர்" 7 | }, 8 | "add_filter_button": { 9 | "message": "வடிகட்டியை சேர்" 10 | }, 11 | "add_filters_msg": { 12 | "message": "வடிகட்டியை சேர்க்கவா?" 13 | }, 14 | "add_your_own_filters": { 15 | "message": "சொந்த வடிகட்டியை சேர்" 16 | }, 17 | "apply_changes": { 18 | "message": "மாற்றங்களை பயன்படுத்து" 19 | }, 20 | "block_element": { 21 | "message": "உறுப்பை தடு" 22 | }, 23 | "cancel": { 24 | "message": "ரத்து செய்" 25 | }, 26 | "clickhide_instructions": { 27 | "message": "இந்த விழிதிரை மூடிய பின், பக்கத்தில் உள்ள உறுப்பின் மேல் சொடுக்கவும். (அல்லது வலது விசையை சொடுக்கவும்.)" 28 | }, 29 | "disabled_for_site": { 30 | "message": "இந்த தளத்தில் முடக்கப்பட்டுள்ளது" 31 | }, 32 | "disabled_for_these_domains": { 33 | "message": "கீழே பட்டியலிடப்பட்டுள்ள களங்களுக்கு Adblock Plus முடக்கப்பட்டுள்ளது. களம் ஒன்றை சேர்க்க: முகவரிப் பட்டியில் உள்ள Adblock Plus படவுரு வழியாகவோ அல்லது பெட்டியில் களத்தை (URL அல்ல) தட்டச்சு செய்து \"களத்தை சேர்\" பொத்தானை சொடுக்குவது மூலமாகவோ நீங்கள் சேர்க்கலாம்." 34 | }, 35 | "easy_create_filter": { 36 | "message": "உறுப்பை தடு" 37 | }, 38 | "edit_filters_raw": { 39 | "message": "வடிகட்டிகளை வெறும் உரையாக திருத்து" 40 | }, 41 | "enable_only_the": { 42 | "message": "உங்களுக்கு தேவையான வடிகட்டி பட்டியல்களை மட்டும் செயல்படுத்தவும். பல பட்டியல்களை ஒரே நேரத்தில் இயக்கினால் உலாவியின் இயக்கத்தை பாதிக்கும் ." 43 | }, 44 | "enabled_for_site": { 45 | "message": "இந்த தளத்தில் செயல்படுகிறது" 46 | }, 47 | "filter_lists": { 48 | "message": "வடிகட்டி பட்டியல்கள்" 49 | }, 50 | "filter_must_follow_syntax": { 51 | "message": "உங்கள் Adblock Plus வடிகட்டி பின்வரும் இலக்கணத்தை பயன்படுத்தவேண்டும்: ." 52 | }, 53 | "found_a_bug": { 54 | "message": "ஏதேனும் பிழையா? உங்கள் மொழிக்கு Adblock Plus மொழிபெயர்க்கபட வேண்டுமா? தயவுசெய்து கோரிக்கையை இங்கே பதிக்கவும் ." 55 | }, 56 | "general": { 57 | "message": "பொது" 58 | }, 59 | "last_updated_at": { 60 | "message": "$date$ $time$ இல் புதுப்பிக்கப்பட்டது", 61 | "placeholders": { 62 | "date": { 63 | "content": "$2" 64 | }, 65 | "time": { 66 | "content": "$1" 67 | } 68 | } 69 | }, 70 | "last_updated_at_today": { 71 | "message": "இன்று $time$ க்கு புதுப்பிக்கப்பட்டது", 72 | "placeholders": { 73 | "time": { 74 | "content": "$1" 75 | } 76 | } 77 | }, 78 | "name_devbuild": { 79 | "message": "Adblock Plus வளர்ச்சி கட்டமை" 80 | }, 81 | "notification_with_buttons": { 82 | "message": "இந்த அறிவிப்பில் உள்ள எல்லா இணைப்புகளையும் திறக்க, 'சரி'யை சொடுக்கவும்." 83 | }, 84 | "notification_without_buttons": { 85 | "message": "இதில் உள்ள எல்லா இணைப்புகளையும் திறக்க \"அறிவிப்பை\" சொடுக்கவும்." 86 | }, 87 | "options": { 88 | "message": "Adblock Plus விருப்பங்கள்" 89 | }, 90 | "options_short": { 91 | "message": "விருப்பத்தேர்வுகள்" 92 | }, 93 | "out_of_date_lists": { 94 | "message": "பழைய பட்டியல்கள் அவ்வப்போது புதுப்பிக்கப்படும்." 95 | }, 96 | "remove_button": { 97 | "message": "தேர்ந்தெடுத்ததை நீக்கு" 98 | }, 99 | "show_block_element_menu": { 100 | "message": "'உறுப்பை தடு' வலது-கிளிக் மெனு உருப்படியை காண்பி" 101 | }, 102 | "stats_label_page": { 103 | "message": "இந்தப் பக்கத்தில் $number$", 104 | "placeholders": { 105 | "number": { 106 | "content": "$1" 107 | } 108 | } 109 | }, 110 | "stats_label_total": { 111 | "message": "மொத்தம் $number$", 112 | "placeholders": { 113 | "number": { 114 | "content": "$1" 115 | } 116 | } 117 | }, 118 | "stats_over": { 119 | "message": "$number$க்கு மேல்", 120 | "placeholders": { 121 | "number": { 122 | "content": "$1" 123 | } 124 | } 125 | }, 126 | "stats_share_download": { 127 | "message": "Adblock Plusஐ பதிவிறக்கவும்" 128 | }, 129 | "stats_share_message": { 130 | "message": "நான் $number$ விளம்பரங்கள் மற்றும் trackerகளை தடுதுள்ளேன். நன்றி Adblock Plus.", 131 | "placeholders": { 132 | "number": { 133 | "content": "$1" 134 | } 135 | } 136 | }, 137 | "stats_show_iconnumber": { 138 | "message": "படவுருவில் எண்ணை காண்பி" 139 | }, 140 | "stats_title": { 141 | "message": "தடுக்கப்பட்ட விளம்பரங்கள்" 142 | }, 143 | "subscriptionSelection_subscriptionSelector_label": { 144 | "message": "பட்டியலில் இருந்து ஒரு வடிகட்டி சந்தாவை தேர்ந்தெடுக்கவும்:" 145 | }, 146 | "update_now": { 147 | "message": "இப்போது புதுப்பிக்கவும்" 148 | }, 149 | "whitelisted_domains": { 150 | "message": "அனுமதிக்கப்பட்ட களங்கள்" 151 | } 152 | } -------------------------------------------------------------------------------- /_locales/zh_CN/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "add": { 3 | "message": "添加" 4 | }, 5 | "add_domain_button": { 6 | "message": "添加域名" 7 | }, 8 | "add_filter_button": { 9 | "message": "添加过滤规则" 10 | }, 11 | "add_filters_msg": { 12 | "message": "添加过滤规则?" 13 | }, 14 | "add_your_own_filters": { 15 | "message": "自定义过滤" 16 | }, 17 | "apply_changes": { 18 | "message": "确认更改" 19 | }, 20 | "block_element": { 21 | "message": "拦截元素" 22 | }, 23 | "cancel": { 24 | "message": "取消" 25 | }, 26 | "clickhide_instructions": { 27 | "message": "此消息框关闭后,请点击(或右击)网页上的一个元素。" 28 | }, 29 | "description_chrome": { 30 | "message": "超过5000万人使用,适用于 Chrome 的免费的广告拦截器,可阻止所有烦人的广告及恶意软件和跟踪。" 31 | }, 32 | "description_opera": { 33 | "message": "超过5000万人使用,适用于 Opera 的免费的广告拦截器,可阻止所有烦人的广告及恶意软件和跟踪。" 34 | }, 35 | "description_safari": { 36 | "message": "超过5000万人使用,适用于 Safari 的免费的广告拦截器,可阻止所有烦人的广告及恶意软件和跟踪。" 37 | }, 38 | "disabled_for_site": { 39 | "message": "对当前网站禁用" 40 | }, 41 | "disabled_for_these_domains": { 42 | "message": "Adblock Plus 将不过滤以下域名。您可以通过点击地址栏的 Adblock Plus 图标进行添加,也可在下面输入域名(非URL)然后点击“添加过滤规则”。" 43 | }, 44 | "easy_create_filter": { 45 | "message": "拦截元素" 46 | }, 47 | "edit_filters_raw": { 48 | "message": "以纯文本编辑过滤规则" 49 | }, 50 | "enable_only_the": { 51 | "message": "请只启用您需要的过滤清单,启用过多会使浏览器变慢。" 52 | }, 53 | "enabled_for_site": { 54 | "message": "对当前网站启用" 55 | }, 56 | "filter_lists": { 57 | "message": "过滤规则列表" 58 | }, 59 | "filter_must_follow_syntax": { 60 | "message": "您的过滤规则必须遵循 Adblock Plus 过滤规则语法。" 61 | }, 62 | "found_a_bug": { 63 | "message": "发现漏洞?想要帮忙翻译Adblock Plus?请前往此处询问" 64 | }, 65 | "general": { 66 | "message": "常规" 67 | }, 68 | "invalid_css_selector": { 69 | "message": "$selector$ 不是一个有效的 CSS 选择器", 70 | "placeholders": { 71 | "selector": { 72 | "content": "$1" 73 | } 74 | } 75 | }, 76 | "last_updated_at": { 77 | "message": "最后更新于$time$ $date$", 78 | "placeholders": { 79 | "date": { 80 | "content": "$2" 81 | }, 82 | "time": { 83 | "content": "$1" 84 | } 85 | } 86 | }, 87 | "last_updated_at_today": { 88 | "message": "最近更新于 今天$time$", 89 | "placeholders": { 90 | "time": { 91 | "content": "$1" 92 | } 93 | } 94 | }, 95 | "line": { 96 | "message": "第 $number$ 行", 97 | "placeholders": { 98 | "number": { 99 | "content": "$1" 100 | } 101 | } 102 | }, 103 | "name_devbuild": { 104 | "message": "Adblock Plus 开发版" 105 | }, 106 | "notification_with_buttons": { 107 | "message": "点击“确定”打开此通知中的所有链接。" 108 | }, 109 | "notification_without_buttons": { 110 | "message": "点击通知打开它上面的所有链接。" 111 | }, 112 | "options": { 113 | "message": "Adblock Plus 选项" 114 | }, 115 | "options_short": { 116 | "message": "设置" 117 | }, 118 | "out_of_date_lists": { 119 | "message": "过滤列表会定期自动更新" 120 | }, 121 | "overlay_notification_closing_button_hide": { 122 | "message": "关闭此通知" 123 | }, 124 | "overlay_notification_closing_button_optout": { 125 | "message": "停止显示通知" 126 | }, 127 | "overlay_shownotifications_label": { 128 | "message": "显示有用的通知" 129 | }, 130 | "remove_button": { 131 | "message": "删除所选项" 132 | }, 133 | "show_block_element_menu": { 134 | "message": "添加‘拦截元素’到右鍵菜单" 135 | }, 136 | "stats_label_page": { 137 | "message": "$number$ 在此页上", 138 | "placeholders": { 139 | "number": { 140 | "content": "$1" 141 | } 142 | } 143 | }, 144 | "stats_label_total": { 145 | "message": "总计 $number$ 条", 146 | "placeholders": { 147 | "number": { 148 | "content": "$1" 149 | } 150 | } 151 | }, 152 | "stats_over": { 153 | "message": "超过$number$", 154 | "placeholders": { 155 | "number": { 156 | "content": "$1" 157 | } 158 | } 159 | }, 160 | "stats_share_download": { 161 | "message": "下载 Adblock Plus" 162 | }, 163 | "stats_share_message": { 164 | "message": "感谢Adblock Plus拦截了$number$个广告和跟踪行为。", 165 | "placeholders": { 166 | "number": { 167 | "content": "$1" 168 | } 169 | } 170 | }, 171 | "stats_share_title": { 172 | "message": "分享屏蔽广告总数" 173 | }, 174 | "stats_show_iconnumber": { 175 | "message": "在图标上显示数量" 176 | }, 177 | "stats_title": { 178 | "message": "已拦截广告" 179 | }, 180 | "subscriptionSelection_subscriptionSelector_label": { 181 | "message": "从列表中选择过滤规则订阅组:" 182 | }, 183 | "unexpected_filter_list_header": { 184 | "message": "这里不允许过滤列表标题" 185 | }, 186 | "update_now": { 187 | "message": "立即更新" 188 | }, 189 | "whitelisted_domains": { 190 | "message": "白名单" 191 | } 192 | } -------------------------------------------------------------------------------- /_locales/zh_TW/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "add": { 3 | "message": "新增" 4 | }, 5 | "add_domain_button": { 6 | "message": "新增網域" 7 | }, 8 | "add_filter_button": { 9 | "message": "新增過濾條件" 10 | }, 11 | "add_filters_msg": { 12 | "message": "新增過濾條件?" 13 | }, 14 | "add_your_own_filters": { 15 | "message": "新增自己的過濾條件" 16 | }, 17 | "apply_changes": { 18 | "message": "套用" 19 | }, 20 | "block_element": { 21 | "message": "過濾網頁元素" 22 | }, 23 | "cancel": { 24 | "message": "取消" 25 | }, 26 | "clickhide_instructions": { 27 | "message": "請在此訊息關閉後點選網頁上的元素。" 28 | }, 29 | "description_chrome": { 30 | "message": "被超過50萬人次使用,Chrome瀏覽器上免費的廣告過濾器,阻止所有煩人的廣告,惡意軟件和追踪。" 31 | }, 32 | "description_opera": { 33 | "message": "被超過50萬人次使用,Opera瀏覽器上免費的廣告過濾器,阻止所有煩人的廣告,惡意軟件和追踪。" 34 | }, 35 | "description_safari": { 36 | "message": "被超過50萬人次使用,Safari瀏覽器上免費的廣告過濾器,阻止所有煩人的廣告,惡意軟件和追踪。" 37 | }, 38 | "disabled_for_site": { 39 | "message": "在此網站上 停用" 40 | }, 41 | "disabled_for_these_domains": { 42 | "message": "Adblock Plus 將在以下網域停用。您可以利用網址列上的 Adblock Plus 圖示新增,或在下方輸入網域 (而非網址) 並點擊「新增網域」按鈕。" 43 | }, 44 | "easy_create_filter": { 45 | "message": "過濾網頁元素" 46 | }, 47 | "edit_filters_raw": { 48 | "message": "以純文字編輯" 49 | }, 50 | "enable_only_the": { 51 | "message": "只啟用您需要的過濾列表。啟用太多的過濾列表可能導致您的瀏覽器停止回應。" 52 | }, 53 | "enabled_for_site": { 54 | "message": "在此網站上 啟用" 55 | }, 56 | "filter_lists": { 57 | "message": "過濾列表" 58 | }, 59 | "filter_must_follow_syntax": { 60 | "message": "您的過濾條件必須遵守 Adblock Plus 的語法." 61 | }, 62 | "found_a_bug": { 63 | "message": "發現 bug?想要翻譯 Adblock Plus?請至 此處詢問。" 64 | }, 65 | "general": { 66 | "message": "一般設定" 67 | }, 68 | "invalid_css_selector": { 69 | "message": "$selector$不是一個有效的CSS選擇器", 70 | "placeholders": { 71 | "selector": { 72 | "content": "$1" 73 | } 74 | } 75 | }, 76 | "last_updated_at": { 77 | "message": "最後更新於 $date$ $time$", 78 | "placeholders": { 79 | "date": { 80 | "content": "$2" 81 | }, 82 | "time": { 83 | "content": "$1" 84 | } 85 | } 86 | }, 87 | "last_updated_at_today": { 88 | "message": "最近更新於今天 $time$", 89 | "placeholders": { 90 | "time": { 91 | "content": "$1" 92 | } 93 | } 94 | }, 95 | "line": { 96 | "message": "行$number$", 97 | "placeholders": { 98 | "number": { 99 | "content": "$1" 100 | } 101 | } 102 | }, 103 | "name_devbuild": { 104 | "message": "Adblock Plus 開發版" 105 | }, 106 | "notification_with_buttons": { 107 | "message": "點擊"確定"打開通知中的所有鏈接." 108 | }, 109 | "notification_without_buttons": { 110 | "message": "點擊通知打開它裡面的所有鏈接" 111 | }, 112 | "options": { 113 | "message": "Adblock Plus 選項" 114 | }, 115 | "options_short": { 116 | "message": "選項" 117 | }, 118 | "out_of_date_lists": { 119 | "message": "過濾列表會定期自動更新。" 120 | }, 121 | "overlay_notification_closing_button_hide": { 122 | "message": "關閉此通知" 123 | }, 124 | "overlay_notification_closing_button_optout": { 125 | "message": "停止顯示通知" 126 | }, 127 | "overlay_shownotifications_label": { 128 | "message": "顯示有用的通知" 129 | }, 130 | "remove_button": { 131 | "message": "刪除已選擇項目" 132 | }, 133 | "show_block_element_menu": { 134 | "message": "在右鍵選單顯示「過濾網頁元素」" 135 | }, 136 | "stats_label_page": { 137 | "message": "本頁有 $number$ 項被過濾", 138 | "placeholders": { 139 | "number": { 140 | "content": "$1" 141 | } 142 | } 143 | }, 144 | "stats_label_total": { 145 | "message": "共有 $number$ 項被過濾", 146 | "placeholders": { 147 | "number": { 148 | "content": "$1" 149 | } 150 | } 151 | }, 152 | "stats_over": { 153 | "message": "$number$", 154 | "placeholders": { 155 | "number": { 156 | "content": "$1" 157 | } 158 | } 159 | }, 160 | "stats_share_download": { 161 | "message": "下載 Adblock Plus" 162 | }, 163 | "stats_share_message": { 164 | "message": "感謝 Adblock Plus,至今我已過濾掉了 $number$ 個廣告。", 165 | "placeholders": { 166 | "number": { 167 | "content": "$1" 168 | } 169 | } 170 | }, 171 | "stats_share_title": { 172 | "message": "分享這個數據" 173 | }, 174 | "stats_show_iconnumber": { 175 | "message": "在圖示上顯示數量" 176 | }, 177 | "stats_title": { 178 | "message": "已過濾廣告" 179 | }, 180 | "subscriptionSelection_subscriptionSelector_label": { 181 | "message": "請從列表中選擇過濾條件集:" 182 | }, 183 | "unexpected_filter_list_header": { 184 | "message": "這裡不允許過濾器列表標題" 185 | }, 186 | "update_now": { 187 | "message": "立即更新" 188 | }, 189 | "whitelisted_domains": { 190 | "message": "白名單" 191 | } 192 | } 193 | -------------------------------------------------------------------------------- /lib/url.js: -------------------------------------------------------------------------------- 1 | /* 2 | * This file is part of Adblock Plus , 3 | * Copyright (C) 2006-2015 Eyeo GmbH 4 | * 5 | * Adblock Plus is free software: you can redistribute it and/or modify 6 | * it under the terms of the GNU General Public License version 3 as 7 | * published by the Free Software Foundation. 8 | * 9 | * Adblock Plus is distributed in the hope that it will be useful, 10 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 11 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12 | * GNU General Public License for more details. 13 | * 14 | * You should have received a copy of the GNU General Public License 15 | * along with Adblock Plus. If not, see . 16 | */ 17 | 18 | /** @module url */ 19 | 20 | window.URL = (function() 21 | { 22 | let URL = window.URL || window.webkitURL; 23 | let URLProperties = ["href", "protocol", "host", "hostname", "pathname", "search"]; 24 | 25 | if (!URL || !URLProperties.every(prop => prop in new URL("about:blank"))) 26 | { 27 | let doc = document.implementation.createHTMLDocument(); 28 | 29 | let base = doc.createElement("base"); 30 | doc.head.appendChild(base); 31 | 32 | let anchor = doc.createElement("a"); 33 | doc.body.appendChild(anchor); 34 | 35 | URL = function(url, baseUrl) 36 | { 37 | if (baseUrl instanceof URL) 38 | base.href = baseUrl.href; 39 | else 40 | base.href = baseUrl || ""; 41 | anchor.href = url; 42 | 43 | for (let prop of URLProperties) 44 | this[prop] = anchor[prop]; 45 | }; 46 | } 47 | 48 | return URL; 49 | })(); 50 | 51 | /** 52 | * Gets the IDN-decoded hostname from a URL object. 53 | * 54 | * @param {URL} url 55 | * @return {string} 56 | * @static 57 | */ 58 | function getDecodedHostname(url) 59 | { 60 | let hostname = url.hostname; 61 | 62 | if (hostname.indexOf("xn--") == -1) 63 | return hostname; 64 | 65 | return punycode.toUnicode(hostname); 66 | } 67 | exports.getDecodedHostname = getDecodedHostname; 68 | 69 | /** 70 | * Gets the IDN-decoded hostname from the URL of a frame. 71 | * If the URL don't have host information (like "about:blank" 72 | * and "data:" URLs) it falls back to the parent frame. 73 | * 74 | * @param {Frame} frame 75 | * @return {string} 76 | */ 77 | exports.extractHostFromFrame = function(frame) 78 | { 79 | for (; frame; frame = frame.parent) 80 | { 81 | let hostname = getDecodedHostname(frame.url); 82 | if (hostname) 83 | return hostname; 84 | } 85 | 86 | return ""; 87 | }; 88 | 89 | /** 90 | * Converts a URL object into a string. For HTTP(S) URLs 91 | * the hostname gets IDN-decoded and the hash is stripped. 92 | * 93 | * @param {URL} url 94 | * @return {string} 95 | */ 96 | exports.stringifyURL = function(url) 97 | { 98 | let protocol = url.protocol; 99 | let href = url.href; 100 | 101 | if (protocol == "http:" || protocol == "https:") 102 | { 103 | let hostname = url.hostname; 104 | if (hostname.indexOf("xn--") != -1) 105 | href = href.replace(hostname, punycode.toUnicode(hostname)); 106 | 107 | let hash = href.indexOf("#"); 108 | if (hash != -1) 109 | href = href.substr(0, hash); 110 | } 111 | 112 | return href; 113 | }; 114 | 115 | function isDomain(hostname) 116 | { 117 | // No hostname or IPv4 address, also considering hexadecimal octets. 118 | if (/^((0x[\da-f]+|\d+)(\.|$))*$/i.test(hostname)) 119 | return false; 120 | 121 | // IPv6 address. Since there can't be colons in domains, we can 122 | // just check whether there are any colons to exclude IPv6 addresses. 123 | return hostname.indexOf(":") == -1; 124 | } 125 | 126 | function getBaseDomain(hostname) 127 | { 128 | let bits = hostname.split("."); 129 | let cutoff = bits.length - 2; 130 | 131 | for (let i = 0; i < bits.length; i++) 132 | { 133 | let offset = publicSuffixes[bits.slice(i).join(".")]; 134 | 135 | if (typeof offset != "undefined") 136 | { 137 | cutoff = i - offset; 138 | break; 139 | } 140 | } 141 | 142 | if (cutoff <= 0) 143 | return hostname; 144 | 145 | return bits.slice(cutoff).join("."); 146 | } 147 | 148 | /** 149 | * Checks whether the request's origin is different from the document's origin. 150 | * 151 | * @param {URL} url The request URL 152 | * @param {string} documentHost The IDN-decoded hostname of the document 153 | * @return {Boolean} 154 | */ 155 | exports.isThirdParty = function(url, documentHost) 156 | { 157 | let requestHost = getDecodedHostname(url).replace(/\.+$/, ""); 158 | documentHost = documentHost.replace(/\.+$/, ""); 159 | 160 | if (requestHost == documentHost) 161 | return false; 162 | 163 | if (!isDomain(requestHost) || !isDomain(documentHost)) 164 | return true; 165 | 166 | return getBaseDomain(requestHost) != getBaseDomain(documentHost); 167 | }; 168 | -------------------------------------------------------------------------------- /_locales/te/messages.json: -------------------------------------------------------------------------------- 1 | { 2 | "add": { 3 | "message": "చేర్చు" 4 | }, 5 | "add_domain_button": { 6 | "message": "వాటికను (ప్రదేశాన్ని,డొమైన్ ను) జోడించు" 7 | }, 8 | "add_filter_button": { 9 | "message": "తొట్టుని (వడపోతని) చేర్చు" 10 | }, 11 | "add_filters_msg": { 12 | "message": "తొట్టులని (వడపోతలని) చేర్చు?" 13 | }, 14 | "add_your_own_filters": { 15 | "message": "మీ సొంత వడపోతలు జోడించు" 16 | }, 17 | "apply_changes": { 18 | "message": "మార్పులని ఆపాదించు " 19 | }, 20 | "block_element": { 21 | "message": "అంశాన్ని నిరోధించు" 22 | }, 23 | "cancel": { 24 | "message": "రద్దు చేయు" 25 | }, 26 | "clickhide_instructions": { 27 | "message": "ఈ చిరుతలుపుని (పాపప్) మూసివేసిన తర్వాత, పేజీలో ఒక అంశాన్ని నొక్కండి (లేదా కుడి క్లిక్ చేయండి)." 28 | }, 29 | "disabled_for_site": { 30 | "message": "ఈ సైట్ లో ఆపివేయబడింది" 31 | }, 32 | "disabled_for_these_domains": { 33 | "message": "\"Adblock Plus\" లో క్రింది వాటికల (డొమైన్) జాబితా నిరోధించబడింది. 'మీరు చిరునామా పెట్టె (అడ్రెస్స్ బార్) లో ఉన్న Adblock Plus చిహ్నం ద్వారా 'లేదా' పెట్టెలో వాటికను (డొమైన్ను) (యుఆర్ఎల్ కాదు సుమీ!) వ్రాసి (టైప్ చేసి) \"వాటికను జోడించు\" బటన్ నొక్కడం ద్వార ఒక వాటికను (డొమైన్) జోడించవచ్చు." 34 | }, 35 | "easy_create_filter": { 36 | "message": "అంశాన్ని నిరోధించు" 37 | }, 38 | "edit_filters_raw": { 39 | "message": "ముడి అక్షరతొట్టెలను సవరించు " 40 | }, 41 | "enable_only_the": { 42 | "message": "మీకు అవసరమైన ఫిల్టర్లు మాత్రమే వాడుకోండి. ఎక్కువ ఫిల్టర్లు వాడటం వలన మీ బ్రౌజరు చలనం లేకుండా అయ్యే అవకాశం ఉంది." 43 | }, 44 | "enabled_for_site": { 45 | "message": "ఈ సైట్ లో ప్రారంభించబడింది" 46 | }, 47 | "filter_lists": { 48 | "message": "జాబితాలని వడకొట్టు" 49 | }, 50 | "filter_must_follow_syntax": { 51 | "message": "మీ వడపోత (ఫిల్టర్) క్రింది Adblock Plus వడపోత సింటెక్స్ ను అనుసరించే ఉండాలి." 52 | }, 53 | "found_a_bug": { 54 | "message": "ఒక లోపాన్ని కనుగొన్నారా? మీ భాషలోకి Adblock Plus ని అనువదించాలనుకుంటున్నారా? దయచేసి మీ అభ్యర్ధనని ఇక్కడ పొందుపరచండి." 55 | }, 56 | "general": { 57 | "message": "సాధారణం" 58 | }, 59 | "last_updated_at": { 60 | "message": "తాజా నవీనకరణ $time$ $date$ యందు", 61 | "placeholders": { 62 | "date": { 63 | "content": "$2" 64 | }, 65 | "time": { 66 | "content": "$1" 67 | } 68 | } 69 | }, 70 | "last_updated_at_today": { 71 | "message": "తాజా నవీనకరణ ఈరోజు $time$ కి", 72 | "placeholders": { 73 | "time": { 74 | "content": "$1" 75 | } 76 | } 77 | }, 78 | "name_devbuild": { 79 | "message": "Adblock Plus డెవలప్మెంట్ సాఫ్ట్వేర్ ఇది" 80 | }, 81 | "notification_with_buttons": { 82 | "message": "అన్ని లింక్స్ ఇదే నోటిఫికేషన్ లో తెరవాలి అనికుంటే, 'ఓకే' అని నొక్కండి." 83 | }, 84 | "notification_without_buttons": { 85 | "message": "నోటిఫికేషన్ నొక్కితే అన్ని లింక్స్ దాంట్లో తెరుసుకొంటాయి." 86 | }, 87 | "options": { 88 | "message": "Adblock Plus ఐచ్ఛికాలు" 89 | }, 90 | "options_short": { 91 | "message": "ఐచ్ఛికాలు" 92 | }, 93 | "out_of_date_lists": { 94 | "message": "ఉపయోగంలో లేని జాబితాలు కాలానుగుణంగా నవీకరించబడతాయి." 95 | }, 96 | "remove_button": { 97 | "message": "ఎంపిక చేసినవాటిని తీసివేయి" 98 | }, 99 | "show_block_element_menu": { 100 | "message": "కుడి బటన్ ని నొక్కినప్పుడు 'అంశాన్ని నిరోధించు' అను ఇచికాన్ని పట్టికలో చూపించు" 101 | }, 102 | "stats_label_page": { 103 | "message": "ఈ పేజీ లో $number$", 104 | "placeholders": { 105 | "number": { 106 | "content": "$1" 107 | } 108 | } 109 | }, 110 | "stats_label_total": { 111 | "message": "మొత్తం $number$", 112 | "placeholders": { 113 | "number": { 114 | "content": "$1" 115 | } 116 | } 117 | }, 118 | "stats_over": { 119 | "message": "$number$ పైనే", 120 | "placeholders": { 121 | "number": { 122 | "content": "$1" 123 | } 124 | } 125 | }, 126 | "stats_share_download": { 127 | "message": "Adblock Plus డౌన్లోడ్" 128 | }, 129 | "stats_share_message": { 130 | "message": "ధన్యవాదాలు Adblock Plus $number$ ప్రకటనలు మరియు జాడ కనిపెట్టు వాటిని నిరోధించాను.", 131 | "placeholders": { 132 | "number": { 133 | "content": "$1" 134 | } 135 | } 136 | }, 137 | "stats_share_title": { 138 | "message": "ఈ సంఖ్యలు పంచు" 139 | }, 140 | "stats_show_iconnumber": { 141 | "message": "ఐకాన్ లో నెంబర్ చూపించు" 142 | }, 143 | "stats_title": { 144 | "message": "ప్రకటనలు బ్లాక్ చేయబడినవి" 145 | }, 146 | "subscriptionSelection_subscriptionSelector_label": { 147 | "message": "జాబితా నుండి ఒక తొట్టె (వడపోత) చందాని ఎంచుకోండి:" 148 | }, 149 | "update_now": { 150 | "message": "ఇప్పుడు నవీనీకరించు" 151 | }, 152 | "whitelisted_domains": { 153 | "message": "నమ్మదగిన వాటికలు (ప్రదేశాలు)" 154 | } 155 | } 156 | -------------------------------------------------------------------------------- /metadata.common: -------------------------------------------------------------------------------- 1 | [general] 2 | version = 1.9.2 3 | backgroundScripts = ext/common.js 4 | ext/background.js 5 | lib/compat.js 6 | lib/info.js 7 | lib/adblockplus.js 8 | lib/punycode.js 9 | lib/publicSuffixList.js 10 | lib/sha1.js 11 | lib/jsbn.js 12 | lib/rsa.js 13 | webrequest.js 14 | messageResponder.js 15 | popupBlocker.js 16 | background.js 17 | permissions = http://*/* https://*/* 18 | 19 | [contentScripts] 20 | document_start = ext/common.js ext/content.js include.preload.js 21 | document_end = include.postload.js 22 | 23 | [mapping] 24 | ext/content.js = chrome/ext/content.js 25 | ext/popup.js = chrome/ext/popup.js 26 | subscriptions.xml = adblockplus/chrome/content/ui/subscriptions.xml 27 | firstRun.html = adblockplusui/firstRun.html 28 | firstRun.js = adblockplusui/firstRun.js 29 | i18n.js = adblockplusui/i18n.js 30 | messageResponder.js = adblockplusui/messageResponder.js 31 | icons/detailed/abp-128.png = adblockplusui/skin/abp-128.png 32 | skin/firstRun.css = adblockplusui/skin/firstRun.css 33 | skin/ajax-loader.gif = adblockplusui/skin/ajax-loader.gif 34 | skin/background.png = adblockplusui/skin/background.png 35 | skin/background-main.png = adblockplusui/skin/background-main.png 36 | skin/background-share.png = adblockplusui/skin/background-share.png 37 | skin/donate.png = adblockplusui/skin/donate.png 38 | skin/features/malware.png = adblockplusui/skin/features/malware.png 39 | skin/features/social.png = adblockplusui/skin/features/social.png 40 | skin/features/tracking.png = adblockplusui/skin/features/tracking.png 41 | skin/fonts/CreteRound-Italic.otf = adblockplusui/skin/fonts/CreteRound-Italic.otf 42 | skin/fonts/CreteRound-Regular.otf = adblockplusui/skin/fonts/CreteRound-Regular.otf 43 | skin/social/facebook.png = adblockplusui/skin/social/facebook.png 44 | skin/social/googleplus.png = adblockplusui/skin/social/googleplus.png 45 | skin/social/renren.png = adblockplusui/skin/social/renren.png 46 | skin/social/twitter.png = adblockplusui/skin/social/twitter.png 47 | skin/social/weibo.png = adblockplusui/skin/social/weibo.png 48 | qunit/qunit.js = adblockplustests/chrome/content/qunit.js 49 | qunit/qunit.css = adblockplustests/chrome/content/qunit.css 50 | 51 | [convert_js] 52 | lib/adblockplus.js = lib/prefs.js 53 | lib/utils.js 54 | lib/io.js 55 | lib/elemHideHitRegistration.js 56 | adblockplus/lib/downloader.js 57 | adblockplus/lib/filterNotifier.js 58 | adblockplus/lib/filterClasses.js 59 | adblockplus/lib/subscriptionClasses.js 60 | adblockplus/lib/filterStorage.js 61 | adblockplus/lib/elemHide.js 62 | adblockplus/lib/matcher.js 63 | adblockplus/lib/filterListener.js 64 | adblockplus/lib/synchronizer.js 65 | adblockplus/lib/notification.js 66 | adblockplus/lib/antiadblockInit.js 67 | lib/url.js 68 | lib/stats.js 69 | lib/whitelisting.js 70 | lib/filterValidation.js 71 | lib/filterComposer.js 72 | lib/icon.js 73 | lib/notificationHelper.js 74 | --arg module=true source_repo=https://hg.adblockplus.org/adblockplus/ 75 | ext/common.js = ext/common.js chrome/ext/common.js 76 | ext/background.js = ext/background.js chrome/ext/background.js --arg brace_style=expand 77 | 78 | qunit/tests/adblockplus.js = adblockplustests/chrome/content/tests/domainRestrictions.js 79 | adblockplustests/chrome/content/tests/filterClasses.js 80 | adblockplustests/chrome/content/tests/filterNotifier.js 81 | adblockplustests/chrome/content/tests/filterStorage.js 82 | adblockplustests/chrome/content/tests/matcher.js 83 | adblockplustests/chrome/content/tests/prefs.js 84 | adblockplustests/chrome/content/tests/regexpFilters_matching.js 85 | adblockplustests/chrome/content/tests/subscriptionClasses.js 86 | --arg source_repo=https://hg.adblockplus.org/adblockplustests/ 87 | 88 | [import_locales] 89 | adblockplus/chrome/locale/*/global.properties = subscription_invalid_location 90 | remove_subscription_warning 91 | notification_antiadblock_title 92 | notification_antiadblock_message 93 | filter_elemhide_duplicate_id 94 | filter_elemhide_nocriteria 95 | adblockplus/chrome/locale/*/overlay.dtd = hideplaceholders.label 96 | notification.button.yes 97 | notification.button.no 98 | notification.closing.button.hide 99 | notification.closing.button.optout 100 | shownotifications.label 101 | adblockplus/chrome/locale/*/filters.dtd = subscription.lastDownload.inProgress 102 | subscription.lastDownload.invalidURL 103 | subscription.lastDownload.connectionError 104 | subscription.lastDownload.invalidData 105 | subscription.lastDownload.checksumMismatch 106 | subscription.enabled.label 107 | subscription.delete.label 108 | addSubscription.label 109 | addSubscriptionAdd.label 110 | addSubscriptionOther.label 111 | acceptableAds2.label 112 | viewList.label 113 | readMore.label 114 | adblockplus/chrome/locale/*/subscriptionSelection.dtd = location.label 115 | title.label 116 | adblockplus/chrome/locale/*/meta.properties = =name 117 | adblockplusui/locale/*/firstRun.json = =* 118 | --------------------------------------------------------------------------------